IP Library Granted Patent US 12,399,505
Granted Patent B2
US 12,399,505 · App. 16/787,721 · Granted Aug 26, 2025

System and method for autonomous landing of an unmanned aerial vehicle

Inventors: Hugh Hong-Tao Liu (Richmond Hill, CA); Silas Kevin Isaac Graham (Gravenhurst, CA)
Assignees: Volatus Aerospace Inc.; The Governing Council of the University of Toronto
G05D1/101B64D9/00B64U10/14G05D1/0088B64U2101/64B64U2201/10B64U2201/104
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 12,399,505
App. No.
16/787,721
Granted
Aug 26, 2025
Kind
B2
Abstract

Various embodiments of a system and method for landing an unmanned aerial vehicle are described herein. The system includes at least one memory and at least one processor, wherein the at least one memory is operatively coupled to the at least one processor; the at least one processor being configured to control landing of the unmanned aerial vehicle by executing the modified PPN guidance law algorithm, wherein the modified PPN guidance law algorithm comprises: determining a current position for the unmanned aerial vehicle; determining a distance of the current position from a target position; generating at least one velocity command from the determined distance, the velocity command reducing to zero as the distance reduces to zero; and controlling the unmanned aerial vehicle to maintain the velocity thereof at the velocity command, whereby as the unmanned aerial vehicle approaches the target destination, the velocity of the aerial vehicle reduces to zero.

Claims (73)

1. A system for landing a payload, the payload being tethered to an unmanned aerial vehicle (UAV) via a tether, the UAV having a plurality of propellers, the system comprising:

at least one memory and at least one processor, wherein the at least one memory is operatively coupled to the at least one processor;

the at least one memory storing a modified pure proportional navigation (PPN) guidance law algorithm and a position controller;

the at least one processor being configured to control landing of the payload tethered to the unmanned aerial vehicle by:

determining a target landing position for the payload;

determining a virtual target position for the UAV based on the target landing position for the payload, a length of the tether of the payload, and a swing angle error;

iteratively determining rotational speed values for the plurality of propellers of the UAV for a plurality of predetermined increments of time until a distance between a current position for the unmanned aerial vehicle and the virtual target position is zero, wherein iteratively determining the rotational speed values comprises:

for each predetermined increment of time:

determining, by the processor, the current position for the unmanned aerial vehicle;

executing the modified PPN guidance law algorithm, wherein the modified PPN guidance law algorithm comprises:

determining the distance of the current position from the virtual target position, the virtual target position accounting for the swing angle error, the swing angle error accounting for a positional offset caused by a swing angle of the tether; and

generating a velocity command based on a proportional relationship with the distance, the proportional relationship defined by a predetermined gain factor, the predetermined gain factor determined to minimize overshooting the target landing position;

executing the position controller, wherein executing the position controller comprises:

receiving the velocity command from the modified PPN guidance law algorithm; and

generating a rotational speed value for each of the plurality of propellers of the UAV based on the velocity command; and

controlling the unmanned aerial vehicle to maintain a velocity based on the rotational speed values of the plurality of propellers until updated rotational speed values are generated for the plurality of propellers based on an updated current position for next predetermined increment of time,

whereby as the unmanned aerial vehicle approaches the virtual target position, the velocity of the unmanned aerial vehicle reduces to zero,

wherein the modified PPN guidance law algorithm is executed while the unmanned aerial vehicle is in motion.

2. The system of claim 1 , wherein executing the modified PPN guidance law algorithm comprises:

for each predetermined increment of time: generating a position command from the velocity command, the position command tending towards the virtual target position as the distance reduces to zero.

3. The system of claim 2 , wherein one or more positions and one or more movements of the unmanned aerial vehicle are determined in a three-dimensional coordinate system, and wherein the modified PPN guidance law algorithm determines the velocity command for each dimension of the three-dimensional coordinate system.

4. The system of claim 3 , wherein the one or more positions and the one or more movements of the unmanned aerial vehicle are determined in Cartesian co-ordinates as (x, y, z), and the target landing position is also expressed in Cartesian co-ordinates as (x t , y t , z t ).

5. The system of claim 4 , wherein the modified PPN guidance law algorithm determines velocity commands for each of the Cartesian co-ordinates.

6. The system of claim 5 , wherein the velocity commands are determined as incremental velocity commands in the X-axis, Y-axis and Z-axis in accordance with equations {dot over (x)} cmd =k x (x t −x); {dot over (y)} cmd =k y (y t −y); and ż cmd =k z (z t −z), respectively, wherein k x , k y and k z are gain factors in each of the X-axis, Y-axis and Z-axis directions, respectively.

7. The system of claim 5 , wherein the modified PPN guidance law algorithm is configured to generate a position command for each of the Cartesian co-ordinates by determining an integral of the respective velocity command.

8. The system of claim 7 , wherein the position commands comprise incremental discrete-time domain position commands in the X-axis, Y-axis and Z-axis directions in accordance with equations x cmd,t =x cmd,t-1 +{dot over (x)} cmd Δt; y cmd,t =y cmd,t-1 +{dot over (y)} cmd Δt and z cmd,t =z cmd,t-1 +ż cmd Δt, respectively, wherein x cmd,t-1 >y cmd,t-1 , and z cmd,t-1 are the position commands generated in a previous iteration of executing the modified PPN guidance law algorithm, and Δt is the predetermined increment of time value for generating new incremental velocity and position commands.

9. The system of claim 4 , wherein the UAV is further equipped with at least one sensor in communication with the at least one processor, and the at least one processor being configured to determine the co-ordinate position (x, y, z) for the unmanned aerial vehicle based on data generated by the at least one sensor.

10. The system of claim 9 , wherein the at least one sensor comprises a Global Positioning System (GPS) module which generates GPS co-ordinates.

11. The system of claim 4 , wherein the UAV is further equipped with a communication interface in communication with the at least one processor, and the at least one processor is configured to determine a co-ordinate position (x t , y t , z t ) for the target landing position based on target information received, via the communication interface, from a flight management system.

12. The system of claim 11 , wherein co-ordinates for the virtual target position are determined by the processor based on the target landing position in accordance with equations x′ t =x t , y′ t =y t and z′ t =z t +L, wherein L defines the length of the tether.

13. The system of claim 12 , wherein the at least one velocity command comprises velocity commands in the X-axis, Y-axis and Z-axis directions in accordance with equations {dot over (x)} cmd =k x (x′ t −x); {dot over (y)} cmd =k y (y′ t −y); and ż cmd =k z (z′ t −z).

14. The system of claim 5 , wherein the position controller includes an X-Y position controller and an altitude controller, the modified PPN guidance law algorithm supplying the X-Y position controller with at least one of velocity commands and position commands for the X and Y directions, and supplying the altitude controller with at least one of a velocity command and a position command for the Z direction.

15. The system of claim 14 , including an attitude controller having an input connected to the X-Y position controller, for receiving Euler angles (θ d , Ø d , Ψ d ) corresponding to pitch, roll and yaw directions and generating corresponding actuation torques [τ φ , τ Ø , τ Ψ ].

16. The system of claim 15 , wherein the system includes a control mixer connected to the attitude controller for receiving a thrust signal, T, and to the altitude controller, for receiving the corresponding actuation torques [τ φ , τ Ø , τ Ψ ], the control mixer generating the rotational speed values (σ) for each of the propellers of the unmanned aerial vehicle.

17. The system of claim 16 , wherein the unmanned aerial vehicle has four propellers, and the control mixer determines rotational speed values (σ) for each of the four propellers of the quadrotor UAV ([σ 1 , σ 2 , σ 3 , σ 4 ]).

18. The system of claim 14 , wherein the modified PPN guidance law algorithm determines position commands for the X, Y and Z directions and supplies these position commands to the X-Y position controller and to the altitude controller.

19. A method for landing a payload, the payload being tethered to an unmanned aerial vehicle (UAV) via a tether, the UAV having a plurality of propellers using a modified PPN guidance law algorithm and a position controller, comprising:

while the unmanned aerial vehicle is in motion:

determining a target landing position for the payload;

determining a virtual target position for the unmanned aerial vehicle based on the target landing position for the payload, a length of the tether of the payload, and a swing angle error;

iteratively determining rotational speed values for the plurality of propellers of the UAV for a plurality of predetermined increments of time until a distance between a current position for the UAV and the virtual target position is zero, wherein iteratively determining the rotational speed values comprises:

for each predetermined increment of time:

determining, by a processor, the current position for the UAV;

executing the modified PPN guidance law algorithm, wherein the modified PPN guidance law algorithm comprises:

determining the distance between the current position for the unmanned aerial vehicle and the virtual target position, the virtual target position accounting for the swing angle error, the swing angle error accounting for a positional offset caused by a swing angle of the tether; and

generating a velocity command based on a proportional relationship with the distance, the proportional relationship defined by a predetermined gain factor, the predetermined gain factor determined to minimize overshooting the target landing position;

executing the position controller, wherein executing the position controller comprises:

receiving the velocity command from the modified PPN guidance law algorithm; and

generating a rotational speed value for each of the plurality of propellers of the UAV based on the velocity command; and

controlling the unmanned aerial vehicle to maintain a velocity based on the rotational speed values of the plurality of propellers until updated rotational speed values are generated for the plurality of propellers based on an updated current position for next predetermined increment of time,

whereby as the unmanned aerial vehicle approaches the virtual target position, the velocity of the unmanned aerial vehicle reduces to zero.

20. The method of claim 19 , wherein executing the modified PPN guidance law algorithm comprises:

for each predetermined increment of time: generating a position command from the velocity command, the position command tending towards the virtual target position as the distance reduces to zero.

21. The method of claim 20 , further comprising determining one or more positions and one or more movements of the unmanned aerial vehicle in a three-dimensional coordinate system, and determining the velocity command for each dimension of the three-dimensional coordinate system.

22. The method of claim 21 , wherein the one or more positions and the one or more movements of the unmanned aerial vehicle are determined in Cartesian co-ordinates as (x, y, z), and the target landing position is determined in Cartesian co-ordinates as (x t , y t , z t ).

23. The method of claim 22 , further comprising determining velocity commands for each of the Cartesian co-ordinates.

24. The method of claim 23 , further comprising determining the velocity as incremental velocity commands in the X-axis, Y-axis and Z-axis in accordance with equations {dot over (x)} cmd =k x (x t −x); {dot over (y)} cmd =k y (y t −y); and ż cmd =k z (z t −z), respectively, wherein k x , k y and k z are gain factors in each of the X-axis, Y-axis and Z-axis directions, respectively.

25. The method of claim 23 , further comprising generating a position command for each of Cartesian co-ordinates by determining a time integral of the respective velocity command.

26. The method of claim 25 , further comprising determining the position commands as incremental discrete-time domain position commands in the X-axis, Y-axis and Z-axis directions in accordance with equations x cmd,t =x cmd,t-1 +{dot over (x)} cmd Δt; y cmd,t =y cmd,t-1 +{dot over (y)} cmd Δt and z cmd,t =z cmd,t-1 +ż cmd Δt, respectively, wherein x cmnd,t-1 >y cmd,t-1 , and z cmd,t-1 are the position commands generated in a previous iteration of executing the modified PPN guidance law, and Δt is the predetermined increment of time value for generating new incremental velocity and position commands.

27. The method of claim 22 , further comprising determining the co-ordinate position (x, y, z) for the unmanned aerial vehicle based on data generated by at least one sensor mounted to the UAV.

28. The method of claim 27 , wherein the at least one sensor comprises a Global Positioning System (GPS) module which generates GPS co-ordinates.

29. The method of claim 22 , further comprising determining the co-ordinate position (x t , y t , z t ) for the target landing position based on target information received, via a communication interface mounted to the UAV, from a flight management system.

30. The method of claim 29 , further comprising determining co-ordinates for the virtual target position based on the target landing position in accordance with equations x′ t =x t , y′ t =y t and z′ t =z t +L, wherein L defines the length of a payload tether.

31. The method of claim 30 , wherein the at least one velocity command comprises velocity commands in the X-axis, Y-axis and Z-axis directions in accordance with the equations {dot over (x)} cmd =k x (x′ t −x); {dot over (y)} cmd =k y (y′ t −y); and ż cmd =k z (z′ t −z).

32. The method of claim 23 , further comprising supplying a X-Y position controller with at least one of velocity commands and position commands for the X and Y directions, and supplying at least one of a velocity command and a position command for the Z direction to an altitude controller.

33. The method of claim 32 , further comprising supplying Euler angles (θ d , Ø d , Ψ d ) corresponding to pitch, roll and yaw directions to an attitude controller and generating corresponding actuation torques [τ φ , τ Ø , τ Ψ ] using the attitude controller.

34. The method of claim 33 , wherein the method includes receiving a thrust signal, T, from the altitude controller and actuation torques [τ φ , τ Ø , τ Ψ ] from the attitude controller, and generating the rotational speed values (σ) for each of the propellers of the unmanned aerial vehicle.

35. The method of claim 34 , wherein the unmanned aerial vehicle has four propellers, and the method determines rotational speed values (σ) for each of the four propellers of the quadrotor UAV ([σ 1 , σ 2 , σ 3 , σ 4 ]).

36. The method of claim 32 , further comprising determining position commands for the X, Y and Z directions and supplying these position commands to the X-Y position controller and to the altitude controller.

37. The system of claim 12 , wherein the positional offset caused by the swing angle of the tether in the Z-axis is determined in accordance with the equation Δz=L−L cos θ, wherein L defines the length of the tether and θ defines the swing angle.

38. The system of claim 12 , wherein the positional offset caused by the swing angle of the tether in the X-Y plane is determined in accordance with the equation Δxy=L sin θ, wherein L defines the length of the tether and θ defines the swing angle.

39. The method of claim 30 , wherein the positional offset caused by the swing angle of the tether in the Z-axis is determined in accordance with the equation Δz=L−L cos θ, wherein L defines the length of the tether and θ defines the swing angle.

40. The method of claim 30 , wherein the positional offset caused by the swing angle of the tether in the X-Y plane is determined in accordance with the equation Δxy=L sin θ, wherein L defines the length of the tether and θ defines the swing angle.

Assignments (6)
SECURITY INTEREST Recorded Oct 25, 2024
From: VOLATUS AEROSPACE INC. (FORMERLY DRONE DELIVERY CANADA CORP.); VOLATUS AEROSPACE CORP.; VOLATUS FLIGHT SYSTEMS INC.; SYNERGY AVIATION LTD.
To: INVESTISSEMENT QUÉBEC
Reel/Frame 069018/0658 →
SECURITY INTEREST Recorded Oct 25, 2024
From: VOLATUS AEROSPACE INC. (FORMERLY DRONE DELIVERY CANADA CORP.); VOLATUS AEROSPACE CORP.; VOLATUS FLIGHT SYSTEMS INC.; SYNERGY AVIATION LTD.
To: INVESTISSEMENT QUÉBEC
Reel/Frame 069238/0650 →
CHANGE OF NAME Recorded Oct 22, 2024
From: DRONE DELIVERY CANADA CORP.
To: VOLATUS AEROSPACE INC.
Reel/Frame 068972/0962 →
SECURITY INTEREST Recorded Oct 22, 2024
From: VOLATUS AEROSPACE INC.
To: EXPORT DEVELOPMENT CANADA
Reel/Frame 068973/0018 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2022
From: LIU, HUGH HONG-TAO; GRAHAM, SILAS KEVIN ISAAC
To: THE GOVERNING COUNCIL OF THE UNIVERSITY OF TORONTO
Reel/Frame 059462/0293 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2022
From: THE GOVERNING COUNCIL OF THE UNIVERSITY OF TORONTO
To: DRONE DELIVERY CANADA CORP.; THE GOVERNING COUNCIL OF THE UNIVERSITY OF TORONTO
Reel/Frame 059462/0339 →
Continuity (1)
Related Publication 20210247781A1 · Aug 12, 2021
References Cited (36)
US 9783297B2 · Patrick et al. · 2017 [cited by applicant]
US 11036240B1 · Irschara · 2021 [cited by examiner]
US 20200207474A1 · Foggia · 2020 [cited by examiner]
US 20200218288A1 · Johnson · 2020 [cited by examiner]
Sani et al., Automatic landing of a low-cost quadrotor using monocular vision and Kalman filter in GPS-denied environments, 2019, Turkish Journal of Electrical Engineering and Computer Sciences, p. 1821-1838 (Year: 2019… [cited by examiner]
Gautam et al., Application of Guidance Laws to Quadrotor Landing, 2015, 2015 International Conference on Unmanned Aircraft Systems (ICUAS), p. 372-379 (Year: 2015). [cited by examiner]
Ellis, Velocity Command, 2012, Science Direct, p. 1-9 (Year: 2012). [cited by examiner]
Kui et al., Sliding Mode Control for a Quadrotor Slung Load System, 2017, Proceedings of the 36th Chinese Control Conference, p. 3697-3703 (Year: 2017). [cited by examiner]
Cho et al., Modified Pure Proportional Navigation Guidance Law for Impact Time Control, 2016, Journal of Guidance, Control, and Dynamics, vol. 39, No. 4, p. 852-872 (Year: 2016). [cited by examiner]
Yang et al., Precise Quadrotor Autonomous Landing with SRUKF Vision Perception, 2015, IEEE, pp. 2196-2201 https://ieeexplore.ieee.org/abstract/document/7139489 (Year: 2015). [cited by examiner]
V. Sudevan, A. Shukla and H. Karki, “Vision based autonomous landing of an Unmanned Aerial Vehicle on a stationary target,” 2017 17th International Conference on Control, Automation and Systems (ICCAS), Jeju, Korea (Sou… [cited by examiner]
Qian et al., “Dynamics and control of a quadrotor with a cable suspended payload”, 2017 IEEE 30th Canadian Conference on Electrical and Computer Engineering (CCECE), IEEE, 2017, pp. 1-4. [cited by applicant]
Qian et al., “Path following control of a quadrotor UAV with a cable suspended payload under wind disturbances”, IEEE Transations on Industrial Electronics, 2019. [cited by applicant]
Alothman et al., “Quad-rotor lifting-transporting cable-suspended payloads control”, 2015 21st International Conference on Automation and Computing (ICAC), IEEE, 2015, pp. 1-6. [cited by applicant]
Cruz et al., “Autonomous lift of a cable-suspended load by an unmanned aerial robot”, 2014 IEEE Conference on Control Applications (CCA), IEEE, 2014, pp. 802-807. [cited by applicant]
Cruz et al., “Lift of a cable-suspended load by a quadrotor: A hybrid system approach”, 2015 American Control Conference (ACC), IEEE, 2015, pp. 1887-1892. [cited by applicant]
Cruz et al., “Cable-suspended load lifting by a quadrotor UAV: hybrid model, trajectory generation, and control”, Autonomous Robots, vol. 41, No. 8, pp. 1629-1643, 2017. [cited by applicant]
Palunko et al., “Trajectory generation for swing-free maneuvers of a quadrotor with suspended payload: A dynamic programmng approah”, 2012 IEEE International Conference on Robotics and Automation, IEEE, 2012, pp. 2691-2… [cited by applicant]
Kui et al., “Sliding mode control for a quadrotor slung load system”, 2017 36th Chinese Control Conference (CCC), IEEE, 2017, pp. 3697-3703. [cited by applicant]
Nicotra et al., “Nested saturation control of an UAV carrying a suspended load”, 2014 American Control Conference, IEEE, 2014, pp. 3585-3590. [cited by applicant]
Guerrero et al., “Ida-pbc methodology for a quadrotor UAV transporting a cable-suspended payload”, 2015 International Conference on Unmanned Aircraft Systems (ICUAS), IEEE, 2015, pp. 470-476. [cited by applicant]
Guerrero et al., “Passivity based control for a quadrotor UAV transporting a cable-suspended payload with minimum swing”, 2015 54th IEEE Conference on Decision and Control (CDC). IEEE, 2015, pp. 6718-6723. [cited by applicant]
Guerrero-Sanchez et al., “Swing-attenuation for a quadrotor transporting a cable-suspended payload”, ISA transactions, vol. 68, pp. 433-449, 2017. [cited by applicant]
Palunko et al., “Agile load transportation: Safe and efficient load manipulation with aerial robots”, IEEE robotics & automation magazine, vol. 19, No. 3, pp. 69-79, 2012. [cited by applicant]
Palunko et al., “A reinforcement learning approach towards autonomous suspended load manipulation using aerial robots”, 2013 IEEE International Conference on Robotics and Automation, IEEE, 2013, pp. 4896-4901. [cited by applicant]
Faust et al., “Learning swing-free trajectories for UAVs with a suspended load”, 2013 IEEE International Conference on Robotics and Automation, IEEE, 2013, pp. 4902-4909. [cited by applicant]
Faust et al., “Automated aerial suspended cargo delivery through reinforcement learning”, Artificial Intelligence, vol. 247, pp. 381-398, 2017. [cited by applicant]
Shi et al., “On the autopilot design for a quadrotor during landing phase”, 2016 35th Chinese Control Conference (CCC), IEEE, 2016, p. 10875-10879. [cited by applicant]
Gautam et al., “Application of guidance laws to quadrotor landing”, 2015 International Conference on Unmanned Aircraft Systems (ICUAS), IEEE, 2015, pp. 372-379. [cited by applicant]
Luo et al., “A neural network based landing method for an unmanned aerial vehicle with soft landing gears”, Applied Sciences, vol. 9, No. 15, pp. 2976, 2019. [cited by applicant]
Sani et al., “Automatic landing of a low-cost quadrotor using monocular vision and kalman filter in gps-denied environments”, Turkish Journal of Electrical Engineering & Computer Sciences, vol. 27, No. 3, pp. 1821-1838,… [cited by applicant]
Goodarzi, “Autonomous aerial payload delivery with quadrotor using varying length cable”, 2016 International Conference on Advanced Mechatronic Systems (ICAMechS), IEEE, 2016, pp. 394-399. [cited by applicant]
Hoffmann et al., “Quadrotor helicopter flight dynamics and control: Theory and experiment”, AIAA guidance, navigation and control conference and exhibit, 2007. [cited by applicant]
Bouadi et al., “Modeling and adaptive flight control for quadrotor trajectory tracking”, Journal of Aircraft, vol. 55, No. 2, pp. 666-681, 2017. [cited by applicant]
Lee et al., “Autonomous swing-angle estimation for stable slung-load flight of multi-rotor UAVs”, 2017 IEEE International Conference on Robotics and Automation (ICRA), IEEE, 2017, pp. 4576-4581. [cited by applicant]
Angelis, “Swing angle estimation for multicopter slung load applications”, Aerospace Science and Technology, vol. 89, pp. 264-274, 2019. [cited by applicant]