This repository collects the code implementing a Learning Model Predictive Control (LMPC) algorithm for quadrotors autonomous racing.
The proposed algorithm allows to define a highly customizable 3D race track, in which multiple types of obstacles can be inserted. The controller is then able to autonomously find the best trajectory minimizing the quadrotor lap time, by learning from data coming from previous flights within the track, ensuring also the avoidance of all the obstacles therein.
Moreover, novel relaxation approaches for the LMPC optimization problem are presented, allowing to reduce it from a mixed-integer nonlinear program to a quadratic program.
For running the code, it is required to install the third-party toolbox "YALMIP", available here.
The code is based on the following work:
- L. Calogero, M. Mammarella, and F. Dabbene, "Learning Model Predictive Control for Quadrotors Minimum-Time Flight in Autonomous Racing Scenarios," IFAC-PapersOnLine, vol. 56, no. 2, pp. 1063–1068, 2023 [PDF]