/nonlinearquad

A collection of Jupyter/IPython notebooks that implement quadrotor control schemes in an expository manner

Primary LanguageJupyter NotebookMIT LicenseMIT

Nonlinear Control of Quadrotors

nbviewer Binder

This repo hosts a collection of Jupyter/IPython notebooks that implement various control schemes for quadrotors.

Table of Contents

Notebook Topics
quadrotor_model introductory material, derivation of equations of motion, base Quadrotor class
quadsim the simulation framework that handles all of the plumbing from different components
utils a set of utilities useful to multiple notebooks
pid a simple successive-loop PID controller to verify that the simulation is working
smc_cranfield an introductory example of sliding mode control for the inner loop by Shaik [1]
sliding_mode_control a more in-depth sliding mode control scheme by L'Afflitto [2]

References

[1] M. K. Shaik and J. F. Whidborne, “Robust Sliding Mode Control of a Quadrotor,” 11th Int. Conf. Control, pp. 1–5, 2016.

[2] A. L’Afflitto, R. Anderson, and K. Mohammadi, “An Introduction to Nonlinear Robust Control for Unmanned Quadrotor Aircraft,” IEEE Control Syst. Mag., vol. 38, no. June, pp. 102–121, 2018.