IP Library › Granted Patent US 11,927,953
Granted Patent B2
US 11,927,953 · App. 17/085,102 · Granted Mar 12, 2024

Customizable waypoint missions

Inventors: Rohit Sant (Palo Alto, CA); Arnaud Thiercelin (San Francisco, CA); Arjun Sukumar Menon (San Jose, CA)
Assignee: DJI RESEARCH LLC
G05D1/0044G01C21/20G01S17/88G01S19/13G05D1/101
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,927,953
App. No.
17/085,102
Filed
Oct 30, 2020
Granted
Mar 12, 2024
Kind
B2
Examiner
LEE, TYLER J
Art Unit
3663
USPC
701/2
Abstract

Techniques are disclosed for performing custom waypoint missions using an onboard computing device in communication with a movable object. The movable object can include a flight controller, and a communication system. The flight controller can be in communication with the onboard computing device which includes a processor and an onboard data manager. The onboard data manager can receive at least one input, determine one or more instructions to be performed by the at least one movable object based on the at least one input, generate movement commands to implement the one or more instructions, and send movement commands to the flight controller to be executed.

Claims (75)

1. A system for communicating instructions in a movable object environment, comprising:

at least one movable object including

a flight controller,

a positioning system, and

a communication system;

an onboard computing device in communication with the flight controller, the computing device including a processor and an onboard data manager, the onboard data manager including instructions which, when executed by the processor, cause the onboard data manager to:

determine a current position of the at least one movable object using the positioning system during executing an existing mission;

receive at least one input including a modified waypoint definition for at least one waypoint in the existing mission;

update the at least one waypoint using the modified waypoint definition;

determine a difference between the current position of the at least one movable object and a position defined by a next waypoint, which is one of the at least one waypoint corresponding to the modified waypoint definition; and

generate movement commands, including one or more of a yaw command, a pitch command, and a roll command, based on the difference between the current position of the at least one movable object and the position defined by the next waypoint; and

send the movement commands to the flight controller to be executed, wherein the flight controller converts the movement commands into a plurality of motor controls.

2. The system of claim 1 , wherein the instructions, when executed, further cause the onboard data manager to:

determine one or more instructions to be performed by the at least one movable object based on the at least one input;

generate the movement commands to implement the one or more instructions.

3. The system of claim 2 , wherein the at least one input includes a data stream of a plurality of waypoint definitions, wherein a plurality of waypoints corresponding to the plurality of waypoint definitions is added to an existing mission during execution of the existing mission.

4. The system of claim 3 , wherein each waypoint definition includes a waypoint and at least one of:

an acceleration constraint;

a velocity constraint;

a path type;

a roll, pitch, or yaw constraint; or

at least one action definition, the at least one action definition including a callback function.

5. The system of claim 4 , wherein the instructions, when executed, further cause the onboard data manager to:

receive an indication that a first waypoint has been reached; and

execute the callback function included in a first waypoint definition associated with the first waypoint.

6. The system of claim 1 , wherein the instructions, when executed, further cause the onboard data manager to:

determine a position of a first waypoint and a position of a second waypoint;

determine a difference between the position of the first waypoint and the position of the second waypoint;

generate second movement commands based on the difference between the position of the first waypoint and the position of the second waypoint; and

send the second movement commands to the flight controller upon determining the at least, one movable object has reached the first waypoint.

7. A method for communicating instructions in a movable object environment, comprising:

determining a current position of at least one movable object using a positioning system during executing an existing mission;

receiving at least one input including a modified waypoint definition for at least one waypoint in the existing mission;

updating the at least one waypoint using the modified waypoint definition;

determining a difference between the current position of the at least one movable object and a position defined by a next waypoint, which is one of the at least one waypoint corresponding to the modified waypoint definition; and

generating movement commands, including one or more of a yaw command, a pitch command, and a roll command, based on the difference between the current position of the at least one movable object and the position defined by the next waypoint; and

sending the movement commands to the flight controller to be executed, wherein the flight, controller converts the movement commands into a plurality of motor controls.

8. The method of claim 7 , further comprising:

determining one or more instructions to be performed by the at least one movable object based on the at least one input;

generating the movement commands to implement the one or more instructions.

9. The method of claim 8 , wherein the at least one input includes a data stream of a plurality of waypoint definitions, wherein a plurality of waypoints corresponding to the plurality of waypoint definitions is added to an existing mission during execution of the existing mission.

10. The method of claim 9 , wherein each waypoint definition includes a waypoint and at least one of:

an acceleration constraint;

a velocity constraint;

a path type;

a roll, pitch, or yaw constraint; or

at least one action definition, the at least one action definition including a callback function.

11. The method of claim 10 , further comprising:

receiving an indication that a first waypoint has been reached; and

executing the callback function included in a first waypoint definition associated with the first waypoint.

12. The method of claim 7 , further comprising:

determining a position of a first waypoint and a position of a second waypoint;

determining a difference between the position of the first waypoint and the position of the second waypoint;

generating second movement commands based on the difference between the position of the first waypoint and the position of the second waypoint; and

sending the second movement commands to the flight controller upon determining the at least one movable object has reached the first waypoint.

13. A non-transitory computer readable storage medium including instructions stored thereon which, when executed by one or more processors, cause the one or more processors to:

determine a current position of at least, one movable object using a positioning system during executing an existing mission;

receive at least one input including a modified waypoint definition for at least one waypoint in the existing mission;

update the at least one waypoint using the modified waypoint definition;

determine a difference between the current position of the at least one movable object and a position defined by a next waypoint, which is one of the at least one waypoint corresponding to the modified waypoint definition; and

generate movement commands, including one or more of a yaw command, a pitch command, and a roll command, based on the difference between the current position of the at least one movable object and the position defined by the next waypoint; and

send the movement commands to the flight controller to be executed, wherein the flight controller converts the movement commands into a plurality of motor controls.

14. The non-transitory computer readable storage medium of claim 13 , wherein the instructions, when executed, further cause the onboard data manager to:

determine one or more instructions to be performed by the at least one movable object based on the at least one input;

generate the movement commands to implement the one or more instructions.

15. The non-transitory computer readable storage medium of claim 14 , wherein the at least one input includes a data stream of a plurality of waypoint definitions, wherein a plurality of waypoints corresponding to the plurality of waypoint definitions is added to an existing mission during execution of the existing mission.

16. The non-transitory computer readable storage medium of claim 15 , wherein each waypoint definition includes a waypoint and at least one of:

an acceleration constraint;

a velocity constraint;

a path type;

a roll, pitch, or yaw constraint; or

at least one action definition, the at least one action definition including a callback function.

17. The non-transitory computer readable storage medium of claim 16 , wherein the instructions, when executed, further cause the onboard data manager to:

receive an indication that a first waypoint has been reached; and

execute the callback function included in a first waypoint definition associated with the first waypoint.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2025
From: DJI RESEARCH LLC
To: SZ DJI TECHNOLOGY CO., LTD.
Reel/Frame 072085/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2021
From: SANT, ROHIT; THIERCELIN, ARNAUD; MENON, ARJUN SUKUMAR
To: DJI RESEARCH LLC
Reel/Frame 055578/0447 →
Continuity (2)
Continuation 15967369 · Apr 30, 2018
Related Publication 20210064025A1 · Mar 4, 2021