SUPPLEMENTAL MATERIAL
Our intention is to occasionally add supplemental material to this page. We would also welcome contributions from the broader community. If you are interested in adding material, please contact the authors.
Full Longitudinal State Direct and Indirect Kalman Filter
The Kalman filters presented in the book are meant to be tutorial and are intended for aircraft with very limited processors. Estimating the full state using all available sensors is a much better approach. There are two methods for constructing the Kalman filter: direct state estimation, and indirect state estimation. The following pdf and Simulink model describes and implements both filters for the full longitudinal state. You will note from the simulation, that this method works much better than that described in the book.
UAVBook Supplement on Kalman Filtering. (updated 3/15/2017)
Dropping an Object on a Target
UAVBook Supplement on Object Dropping. (updated 10/25/2017)
Propeller Model
An alternative propeller model to that described in the book is described in
Dubins Airplane Paths
The Dubins paths discussed in Chapter 11 assume that the MAV is flying at a constant altitude. The associated model is typically called a Dubins car model. The Dubins car can be extended to a Dubins airplane model that includes altitude. An explanation of the associated Dubins airplane paths is discussed in:
Mark Owen, Randal W. Beard, Timothy W. McLain, “Implementing Dubins Airplane Paths on Fixed-wing UAVs,” Handbook of Unmanned Aerial Vehicles, ed. Kimon P. Valavanis, George J. Vachtsevanos, Springer Verlag, Section XII, Chapter 68, p. 1677-1702, 2014. Preprint.
Simulink files implementing Dubins airplane paths. Run the Simulink file mavsim_dubins.slx.
Feedforward term for Orbit Following
Orbit following can be improved by adding a feedforward term on the roll angle. The description in the wind and no wind case are given here:
Python Simulator
- A simulator that implements the architecture in the book using Python
- PyUAVSim at https://github.com/savadha2/PyUAVSim/
- Developed by Sharath Avadhanam.
- Currently under development.
Zagi Coefficients
zagi_coefficents.pdf The aerodynamic coefficients for the Zagi aircraft as given in the book, come from this paper.
Total Energy Control
An alternative to the longitudinal autopilot described in the textbook is the “Total Energy Control System” described here: tecs_autopilot.pdf.
A nonlinear version of the total energy control system is described in the following paper.
Matthew Argyle, Randal W. Beard, “Nonlinear Total Energy Control for the Longitudinal Dynamics of an Aircraft,” Proceedings of the American Control Conference, Boston, MA, 2016. PDF
For more detail, see Chapter 6 of
Matthew E. Argyle, “Modeling and Control of a Tailsitter with a Ducted Fan,” PhD Dissertation, Brigham Young University, 2016. PDF
The advantage of the total energy control method is that it is independent of the aerodynamic model.
Accelerometers and Attitude Control For Multi-rotors
Accelerometers are often used to estimate the roll and pitch angles of multi-rotor vehicles. It turns out that since the aerodynamics of multi-rotors are quite different than fixed wing vehicles, the method described in the book does not work for multi-rotor vehicles. An detailed explanation of what data can be extracted from accelerometers on multi-rotor vehicles is given in
- Robert Leishman, John Macdonald, Randal W. Beard, Timothy W. McLain, “Quadrotors and Accelerometers: State Estimation with an Improved Dynamic Model,” IEEE Control Systems Magazine, vol. 34, no. 1, p. 28-41, February, 2014. Preprint.
Kalman Filter
For a nice introduction to Kalman filtering, view the section chapter of the Udacity course on Artificial Intelligence by Sebastian Thurn: https://www.udacity.com/course/viewer#!/c-cs373/l-48723604
Weather and Wind Data
This is a nice web site for hour by hour wind and weather information:
http://www.usairnet.com/cgi-bin/launch/code.cgi?Submit=Go&sta=KPVU&state=UT
Student Projects (sample)
2014_nathan_madsen_auto_landing.zip - Nathan Madsen implemented a model of landing gear and runway interactions, together with an auto landing function.
andrew_hendricks_avl_aero_coefficients.zip - Andrew Hendrick computed the aerodynamic coefficients of a Zagi and a Pelican using AVL. The project files and the coefficients are contained in this zipped file. andrew_hendricks_avl_aero_coefficients.pdf
2014_rrtstar_michael_boren.zip - Michael Boren's implementation of the RRT* algorithm.