Multicopter Autopilot autotuner

overview

Retrospective Cost Adaptive Control (RCAC) is an adaptive algorithm that allows the coefficients of a Proportional-Integral-Derivative (PID) controller to be optimized online. It is capable of learning the controller parameters during flight when they have been initialized to zero (i.e. “cold start”), and then outperforming a manually tuned autopilot.

my role

As part of a UM aerospace controls research team, I developed RCAC in a quadcopter drone. I coded the algorithm into the open-source autopilot PX4 in C++, C, and Python, ran flight dynamics simulations using jMAVSim and Gazebo, completed experimental flight tests, and published/presented our findings at the 2022 International Conference on Robotics and Automation (ICRA).

outcome

The project was successful. We demonstrated that RCAC is capable of learning the controller coefficients from a cold-start and then flying a Hilbert Trajectory with greater precision than the default autopilot (shown right).

Our work was published at ICRA in 2022, where I personally presented our work. The corresponding article and poster can be downloaded at the links below.

top skills utilized

C++/C/Python

embedded hardware

controls

flight dynamics

Previous
Previous

Supersonic Combustion Research

Next
Next

Model Predictive Control Experiments