Methods and system for controlling a movable object
Techniques are provided for controlling a movable object such as a UAV. A baseline change between a controlling object and a controllable object can be determined with centimeter or sub-centimeter accuracy based on satnav measurements from the controlling object and the controllable object. The baseline change can be mapped to a state change for the controllable object. Control commands can be generated for effecting the state change for the controllable object.
1. A computer-implemented method for controlling a controllable object, comprising:
determining a change in a baseline between a controlling object and the controllable object based on measurements from a first location sensor of the controlling object and a second location sensor of the controllable object, determining the baseline change comprising performing double-differencing on the measurements from the first location sensor and the second location sensor to obtain double-differenced measurements;
mapping the baseline change to a corresponding state change for the controllable object based at least in part on a mapping function;
generating one or more control commands according to the mapping; and
controlling the controllable object to effect the state change according to the one or more control commands.
2. The method of claim 1 , wherein the controllable object is an unmanned aerial vehicle (UAV).
3. The method of claim 1 , wherein the controlling object is a UAV.
4. The method of claim 1 , wherein the first location sensor and the second location sensor are satnav receivers.
5. The method of claim 1 , wherein determining the baseline change comprises determining a baseline between the controlling object and the controllable object with centimeter level or sub-centimeter level accuracy.
6. The method of claim 4 , wherein:
the measurements from the first location sensor are from multiple satellites;
the measurements from the second location sensor are from the multiple satellites;
performing double-differencing on the measurements from the first location sensor and the second location sensor comprises:
performing satellite-differencing on the measurements that are from different ones of the multiple satellites to obtain satellite-differenced measurements for the first location sensor and the second location sensor, and performing receiver-differencing on the satellite-differenced measurements of different ones of the first location sensor and the second location sensor to obtain the double-differenced measurements; or
performing receiver-differencing on the measurements that are from different ones of the first location sensor and the second location sensor to obtain receiver-differenced measurements for the multiple satellites, and performing satellite-differencing on the receiver-differenced measurements of different ones of the multiple satellites to obtain the double-difference measurements; and
determining the baseline change further comprises:
fixing carrier phase ambiguities based on the double-differenced measurements.
7. The method of claim 1 , wherein the state change for the controllable object is a change in position and the control commands are position control commands.
8. The method of claim 1 , wherein the state change for the controllable object comprises an activation or a deactivation of a predefined routine of the controllable object.
9. The method of claim 1 , wherein the state change for the controllable object comprises changing an operation of a component or a payload of the controllable object.
10. The method of claim 1 , further comprising:
determining an updated baseline between the controllable object and the controlling object after generating the one or more control commands; and
generating one or more additional control commands to effect the state change for the controllable object based on the updated baseline.
11. A remote control terminal, comprising:
a satnav receiver configured to receive satellite signals from one or more satellites;
a memory that stores one or more computer-executable instructions; and
one or more processors configured to access the memory and execute the computer-executable instructions to perform a method comprising:
determining a change in a baseline between the remote control terminal and a controllable object based on measurements from the satnav receiver and measurements from another satnav of the controllable object, determining the baseline change comprising performing double-differencing on the measurements from the satnav receiver and the another satnav receiver to obtain double-differenced measurements;
mapping the baseline change to a corresponding state change for the controllable object based at least in part on a mapping function;
generating one or more control commands according to the mapping; and
controlling the controllable object to effect the state change according to the one or more control commands.
12. The remote control terminal of claim 11 , wherein the controllable object is an unmanned aerial vehicle (UAV).
13. The remote control terminal of claim 11 , wherein determining the baseline change further comprises:
fixing carrier phase ambiguities based on the double-differenced measurements.
14. The remote control terminal of claim 11 , wherein the state change for the controllable object is a change in position and the control commands are position control commands.
15. The remote control terminal of claim 11 , wherein the state change for the controllable object is a change in velocity and the control commands are velocity control commands.
16. The remote control terminal of claim 11 , wherein the state change for the controllable object comprises changing an operation of a component or a payload of the controllable object.
17. The remote control terminal of claim 11 , wherein the state change for the controllable object comprises a change in an attribute of a navigation path of the controllable object.
18. The remote control terminal of claim 11 , wherein the method further comprises:
determining an updated baseline between the remote control terminal and the controllable object after generating the one or more control commands; and
generating one or more additional control commands to effect the state change for the controllable object based on the updated baseline.
19. An unmanned aerial vehicle (UAV), comprising:
a satnav receiver configured to receive satellite signals from one or more satellites;
a memory that stores one or more computer-executable instructions; and
one or more processors configured to access the memory and execute the computer-executable instructions to perform a method comprising:
determining a change in a baseline between a controlling object and the UAV based on measurements from the satnav receiver and measurements from another satnav of the controlling object, determining the baseline change comprising performing double-differencing on the measurements from the satnav receiver and the another satnav receiver to obtain double-differenced measurements;
mapping the baseline change to a corresponding state change for the UAV based at least in part on a mapping function;
generating one or more control commands according to the mapping; and
controlling the UAV to effect the state change according to the one or more control commands.
20. The UAV of claim 19 , wherein determining the baseline change further comprises:
fixing carrier phase ambiguities based on the double-differenced measurements.
21. The UAV of claim 19 , wherein the method further comprises:
determining an updated baseline between the UAV and the controlling object after execution of the one or more control commands; and
generating one or more additional control commands to effect the state change for the UAV based on the updated baseline.
22. A control system, comprising:
a memory that stores one or more computer-executable instructions; and
one or more processors configured to access the memory and execute the computer-executable instructions to perform a method comprising:
determining a change in a baseline between a controlling object and a controllable object based on measurements from a first location sensor of the controlling object and a second location sensor of the controllable object, determining the baseline change comprising performing double-differencing on the measurements from the first location sensor and the second location sensor to obtain double-differenced measurements;
mapping the baseline change to a corresponding state change for the controllable object based at least in part on a mapping function;
generating one or more control commands according to the mapping; and
controlling the controllable object to effect the state change according to the one or more control commands.
23. The control system of claim 22 , wherein the controllable object is an unmanned aerial vehicle (UAV).
24. The control system of claim 22 , wherein the first location sensor and the second location sensor are satnav receivers.
25. The control system of claim 22 , wherein determining the baseline change comprises determining a baseline between the controlling object and the controllable object with centimeter level or sub-centimeter level accuracy.
26. The control system of claim 24 , wherein determining the baseline change further comprises:
fixing carrier phase ambiguities based on the double-differenced measurements.
27. The control system of claim 22 , wherein the state change for the controllable object is a change in position and the control commands are position control commands.
28. The control system of claim 22 , wherein the state change for the controllable object comprises an activation or a deactivation of a predefined routine of the controllable object.
29. The control system of claim 22 , wherein the state change for the controllable object comprises changing an operation of a component or a payload of the controllable object.
30. The control system of claim 22 , wherein the method further comprising:
determining an updated baseline between the controllable object and the controlling object after generating the one or more control commands; and
generating one or more additional control commands to effect the state change for the controllable object based on the updated baseline.