This repository is part of my diploma thesis titled Development of model predictive control schemes for unmanned aerial vehicles using neural networks . The current project focuses on MPC controller design for controlling the altitude dynamics of the quadrotor as well as the x-y plane position. As far as the orientation dynamics are concerned, custom discrete PID (DPID) controllers are used. The project is fully coded and simulated in MATLAB 2022b. Also, the optimization problem is solved using the SQP solver, and the full-plant dynamics of the quad were solved using the ode15s solver. Finally, the benchmark trajectory for evaluating the controller's performance is a 3D helix. text
-
If you use this software, please cite it as below:
S. Papadopoulos, “Linear Adaptive MPC Scheme for Unmanned Aerial Vehicles Trajectory Tracking Control”, 2024, https://github.com/SpPap/Linear-Adaptive-MPC -
The work related to this repository is presented in Chapter 3 of the thesis document, where the optimization problems are analyzed in detail, the controller settings are described, and the complete simulation results are provided. The full text (in English) is available at: http://dx.doi.org/10.26265/polynoe-7607
-
The controller is nonlinear, as it solves an optimization problem. The linear component arises from the linear state-space prediction models, while the adaptive nature stems from the fact that these models are time-varying.
Assume that the control input is denoted by
-
$N_{p}$ is the Prediction Horizon -
$N_{c}$ is the Control Horizon
Thus, we end up with the following optimal control problem (OCP) with
- Simulation Environment => MATLAB 2022b
Reference signals for helix trajectory:
where
| Animated | Static |
|---|---|
![]() |
![]() |

