Real-time motion planning with a fixed-wing UAV using an agile maneuver space

  • 383 Accesses

  • 1 Citations


Small fixed-wing unmanned aerial vehicles (UAVs) are becoming increasingly capable of flying at low altitudes and in constrained environments. This paper addresses the problem of automating the flight of a fixed-wing UAV through highly constrained environments. The main contribution of this paper is the development of a maneuver space, integrating steady and transient agile maneuvers for a class of fixed-wing aircraft. The maneuver space is integrated into the rapidly-exploring random trees (RRT) algorithm. The RRT-based motion planner, together with a flight control system, is demonstrated in simulations and flight tests to efficiently generate and execute a motion plan through highly constrained 3D environments in real-time. The flight experiments—which effectively demonstrated the usage of three highly agile maneuvers—were conducted using only on-board sensing and computing.

This is a preview of subscription content, log in to check access.

Access options

Buy single article

Instant unlimited access to the full article PDF.

US$ 39.95

Price includes VAT for USA

Subscribe to journal

Immediate online access to all issues from 2019. Subscription will auto renew annually.

US$ 99

This is the net price. Taxes to be calculated in checkout.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17


  1. Allen, R., & Pavone, M. (2015). Toward a real-time framework for solving the kinodynamic motion planning problem. In 2015 IEEE international conference on robotics and automation (ICRA) (pp. 928–934). IEEE.

  2. Ananthkrishnan, N., & Sinha, N. K. (2001). Level flight trim and stability analysis using extended bifurcation and continuation procedure. Journal of Guidance, Control, and Dynamics, 24(6), 1225–1228.

  3. Barry, A. J. (2012). Flying between obstacles with an autonomous knife-edge maneuver. Master’s thesis, Massachusetts Institute of Technology.

  4. Bulka, E., & Nahon, M. (2018). Automatic control for aerobatic maneuvering of agile fixed-wing UAVs. Journal of Intelligent & Robotic Systems,.

  5. Chitsaz, H., & LaValle, S. M. (2007). Time-optimal paths for a Dubins Airplane. In 2007 46th IEEE conference on decision and control (pp .2379–2384). IEEE.

  6. Dubins, L. E. (1957). On curves of minimal length with a constraint on average curvature, and with prescribed initial and terminal positions and tangents. American Journal of Mathematics, 79(3), 497–516.

  7. Frazzoli, E., Dahleh, M. A., & Feron, E. (2002). Real-time motion planning for agile autonomous vehicles. Journal of Guidance, Control, and Dynamics, 25(1), 116–129.

  8. Frazzoli, E., Dahleh, M. A., & Feron, E. (2005). Maneuver-based motion planning for nonlinear systems with symmetries. IEEE Transactions on Robotics, 21(6), 1077–1091.

  9. Gavrilets, V., Frazzoli, E., Mettler, B., Piedmonte, M., & Feron, E. (2001). Aggressive maneuvering of small autonomous helicopters: A human-centered approach. The International Journal of Robotics Research, 20(10), 795–807.

  10. He, Z., Li, D., & Lu, Y. (2018). Disturbance compensation-Based piecewise linear control design for perching maneuvers. In IEEE transactions on aerospace and electronic systems (pp. 1–16).

  11. Karaman, S., & Frazzoli, E. (2011). Optimal kinodynamic motion planning using incremental sampling-based methods. In 49th IEEE conference on decision and control (CDC) (pp. 7681–7687). IEEE.

  12. Karaman, S., & Frazzoli, E. (2011). Sampling-based algorithms for optimal motion planning. The International Journal of Robotics Research, 30(7), 846–894.

  13. Karaman, S., Walter, M. R., Perez, A., Frazzoli, E., & Teller, S. (2011). Anytime motion planning Using the RRT*. In 2011 IEEE international conference on robotics and automation (ICRA). IEEE.

  14. Kavraki, L. E., Svestka, P., Latombe, J. C., & Overmars, M. H. (1996). Probabilistic roadmaps for path planning in high-dimensional configuration space. IEEE Transactions on Robotics and Automation, 12(4), 566–580.

  15. Khan, W. (2016). Dynamics modeling of agile fixed-wing unmanned aerial vehicles. PhD thesis, McGill University.

  16. Khan, W., & Nahon, M. (2013). Toward an accurate physics-based UAV thruster model. IEEE/ASME Transactions on Mechatronics, 18(4), 1269–1279.

  17. Khan, W., & Nahon, M. (2015). Development and validation of a propeller slipstream model for unmanned aerial vehicles. Journal of Aircraft, 52(6), 1985–1994.

  18. Khan, W., & Nahon, M. (2015). Real-time modeling of agile fixed-wing UAV aerodynamics. In 2015 International conference on unmanned aircraft systems (ICUAS) (pp. 1188–1195). IEEE.

  19. Kim, H. J., Shim, D. H., & Sastry, S. (2002). Nonlinear model predictive tracking control for rotorcraft-based unmanned aerial vehicles. In Proceedings of the American control conference (pp. 3576–3581). IEEE.

  20. Kuo, B. C., & Golnaraghi, F. (2003). Automatic control systems. New York: Wiley.

  21. LaValle, S. M. (1998). Rapidly-exploring random trees: A new tool for path planning. TR 98-11, Computer Science Dept, Iowa State University.

  22. Lee, D., & Shim, D. H. (2014). RRT-based path planning for fixed-wing UAVs with arrival time and approach direction constraints. In 2014 International conference on unmanned aircraft systems (pp. 317–328). IEEE.

  23. Levin, J. M., Paranjape, A., & Nahon, M. (2017). Agile fixed-wing UAV motion planning with knife-edge maneuvers. In 2017 International conference on unmanned aircraft systems (ICUAS) (pp. 114–123). IEEE.

  24. Levin, J. M., Paranjape, A. A., & Nahon, M. (2018). Motion planning for a small aerobatic fixed-wing unmanned aerial vehicle. In The international conference on intelligent robots and systems (IROS). IEEE (accepted for publication).

  25. Levin, J. M., Paranjape, A. A., & Nahon, M. (2018). Sideslip and slipstream in extreme maneuvering with fixed-wing unmanned aerial vehicles. Journal of Guidance, Control, and Dynamics, 41(7), 1610–1616.

  26. Lugo-Cárdenas, I., Flores, G., Salazar, S., & Lozano, R. (2014). Dubins path generation for a fixed wing UAV. In 2014 International conference on unmanned aircraft systems (ICUAS) (pp. 339–346). IEEE.

  27. MacAllister, B., Butzke, J., Kushleyev, A., Pandey, H., & Likhachev, M. (2013). Path planning for non-circular micro aerial vehicles in constrained environments. In 2013 IEEE International Conference on Robotics and Automation (ICRA) (pp. 3933–3940). IEEE.

  28. Majumdar, A., & Tedrake, R. (2017). Funnel libraries for real-time robust feedback motion planning. The International Journal of Robotics Research, 36(8), 947–982.

  29. Owen, M., Beard, R. W., & McLain, T. W. (2014). Handbook of unmanned aerial vehicles. Dordrecht: Springer.

  30. Paranjape, A. A., Meier, K. C., Shi, X., Chung, S. J., & Hutchinson, S. (2015). Motion primitives and 3-D path planning for fast flight through a forest. The International Journal of Robotics Research, 34(3), 357–377.

  31. Park, S. (2012). Autonomous aerobatics on commanded path. Aerospace Science and Technology, 22(1), 64–74.

  32. Patterson, M. A., & Rao, A. V. (2014). GPOPS-II: A MATLAB software for solving multiple-phase optimal control problems using HP-adaptive gaussian quadrature collocation methods and sparse nonlinear programming. ACM Transactions on Mathematical Software, 41(1), 1–37.

  33. Schouwenaars, T., How, J., & Feron, E. (2004). Receding horizon path planning with implicit safety guarantees. In Proceedings of the 2004 American control conference (pp. 5576–5581). IEEE.

  34. Schouwenaars, T., Mettler, B., Feron, E., & How, J. (2004). Hybrid model for trajectory planning of agile autonomous vehicles. Journal of Aerospace Computing, Information, and Communication, 1, 629–651.

  35. Selig, M. S. (2014). Real-time flight simulation of highly maneuverable unmanned aerial vehicles. Journal of Aircraft, 51(6), 1705–1725.

  36. Snell, S. A., Enns, D. F., & Garrard, W. L. (1992). Nonlinear inversion flight control for a supermaneuverable aircraft. Journal of Guidance, Control, and Dynamics, 15(4), 976–984.

  37. Sobolic, F. M. (2009). Agile flight control techniques for a fixed-wing aircraft. Master’s thesis, Massachusetts Institute of Technology.

  38. Takei, R., Tsai, R., Shen, H., & Landa, Y. (2010). A practical path-planning algorithm for a simple car: A Hamilton-Jacobi approach. In Proceedings of the 2010 American control conference (pp. 6175–6180). IEEE.

  39. Vieira, H. L., & Grassi, V. (2014). Improving RRT’s efficiency through motion primitives generation optimization. In 2014 Joint conference on robotics: SBR-LARS robotics symposium and robocontrol (pp. 37–42). IEEE.

  40. Wickenheiser, A. M., & Garcia, E. (2006). Longitudinal dynamics of a perching aircraft. Journal of Aircraft, 43(5), 1386–1392.

  41. Wickenheiser, A. M., & Garcia, E. (2008). Optimization of perching maneuvers through vehicle morphing. Journal of Guidance, Control, and Dynamics, 31(4), 815–823.

Download references


This research was supported by the Natural Sciences and Engineering Research Council of Canada (Grant no. PGSD3-490220-2016) and by le Fonds de Recherche du Quebec - Nature et Technologies (Grant no. 2016-PR-191001).

Author information

Correspondence to Joshua M. Levin.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary material 1 (mp4 10536 KB)

Supplementary material 1 (mp4 10536 KB)



This appendix outlines how a re-planning step can be incorporated into the motion planner to eliminate cumulative position errors if and when they grow sufficiently large. The actions of re-planning would neatly fit at the end of Algorithm 3, under a conditional statement that gets added to check for position error against a user-defined constant: \(\mathbf if ~e_p > \epsilon \).

Re-planning involves two actions, the first of which is to modify the nodes being sent to the controller during the update, such that they align with the actual position and heading of the aircraft. The motion primitives themselves remain the same, i.e. \(\dot{\psi }\), \(\dot{z}\), and \(\varDelta t\) are known, but the positions and headings of each node must be recalculated. This is done through rearrangement of Eq. 3:

$$\begin{aligned} x_2= & {} x_1 + \Biggl (\frac{V}{\dot{\psi }}\sin (\psi _1 + \dot{\psi }\varDelta t) - \frac{V}{\dot{\psi }}\sin {\psi _1}\cos ({\arcsin {\frac{\dot{z}}{V}})}\Biggr )\nonumber \\ y_2= & {} y_1 + \Biggl (-\frac{V}{\dot{\psi }}\cos (\psi _1 + \dot{\psi }\varDelta t) + \frac{V}{\dot{\psi }}\cos {\psi _1}\cos ({\arcsin {\frac{\dot{z}}{V}})}\Biggr )\nonumber \\ z_2= & {} z_1 + \dot{z}\varDelta t\nonumber \\ \psi _2= & {} \psi _1 + \dot{\psi }\varDelta t \end{aligned}$$

The other action taken during re-planning is to prune the tree of all nodes other than the ones being sent to the aircraft during the update. While it may seem detrimental to throw away these previously generated nodes, the algorithm is very efficient at building (or re-building) a tree in real-time. The alternative, to keep the tree nodes, would require translating each node and re-checking each primitive for collisions. This is a much more costly process (namely, the collision checking), that would not be of any great benefit given how quickly the tree can be re-built.

Tests were run on the ODROID XU4 to evaluate the practicality of employing the re-planning step. We investigated whether the planner was efficient enough to recover from pruning almost all of the tree nodes in real-time. Using the map of Fig. 13, the motion planning algorithm was run twenty times. The planner was left to run until the Update Tree function had commanded a path that ended in the goal region; as though the aircraft were in flight and the algorithm were running in real-time. Instead of setting up the ODROID in a simulation loop with the aircraft dynamics model, we simply programmed fake position errors into the algorithm such that the re-planning step would be repeatedly triggered; for each run, the re-planning step was triggered twice. Each time the re-planning step occurred, the algorithm was able to rapidly rebuild a new tree. By the next time the Update Tree function was called after re-planning (it is called every half second), the tree would have already grown to hold approximately 1000 new nodes, on average. For reference, the tree rarely ever grew to have many more than 2000 nodes at a time, for the map in question. In the twenty runs, nineteen successfully resulted in a path to the goal region. In the one other case, the planner got stuck and had to send a command to perform the cruise-to-hover maneuver before reaching the goal region. It cannot necessarily be determined that the re-planning step was the cause of this failure. We observed that the number of tree nodes in subsequent calls of the Update Tree function, before and after re-planning, was barely affected, and thus we can at least rule out the notion of the failure being caused by a lack of trajectory options post-tree-pruning.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Levin, J.M., Nahon, M. & Paranjape, A.A. Real-time motion planning with a fixed-wing UAV using an agile maneuver space. Auton Robot 43, 2111–2130 (2019).

Download citation


  • Aerial robotics
  • Real-time motion planning
  • Agile flight
  • Control