Skip to content

This repository is part of my diploma thesis titled "Development of Model Predictive Control (MPC) 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

License

Notifications You must be signed in to change notification settings

SpPap/Linear-Adaptive-MPC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Linear-Adaptive-MPC

This repository is part of my diploma thesis titled "Development of Model Predictive Control (MPC) 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 ode15s solver. Finally, the benchmark trajectory for evaluating the controller's performance is a 3D helix. text

Notes

  • 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

  • Full-text in english available soon at http://dx.doi.org/10.26265/polynoe-7607 (S. Papadopoulos, “Development of model predictive control schemes for unmanned aerial vehicles using neural networks”, Diploma Thesis, University of West Attica, Athens, Greece, 2024)

Control Scheme

controlScheme_schematic

Tracking MPC Optimization Problem

Assume that the control input is denoted by $u_{k}$ and the state under control is $x$. Also, $f$ denotes the transition function, i.e. the prediction model.

  • $N_{p}$ is the Prediction Horizon
  • $N_{c}$ is the Control Horizon

Thus, we end up with the following QP problem with $N_{c}$ design variables

$$ \begin{aligned} \min_{\Delta u(k), ...,\Delta u(k+N_{c})} \quad & J = {\hat{\textbf{e}}}^T \textbf{Q}\ \hat{\textbf{e}} + {\Delta u_{k}}^T \textbf{R} \Delta u_{k} \\ \textrm{s.t.} \quad & \ \ \textbf{x}^{+} = f(x_{k},u_{k}) & \\ & \ \ \hat{\textbf{e}} = \textbf{x}^{r} - \hat{\textbf{x}} \\ &\ \ \Delta u_{min} \leq \Delta u_{k+i} \leq \Delta u_{max} \ \ \ , \ i=0,...N_{c} \\ & \ \ u_{min} \leq u_{k+i} \leq u_{max} \ \ \ \ \ \ \ \ , \ i=0,...N_{c} \\ &\ \ \Delta u_{k+i} = 0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ , \ i=N_{c}+1,...N_{p} \\ \end{aligned} $$

Results

3D_trajectory 3D_trajectory

About

This repository is part of my diploma thesis titled "Development of Model Predictive Control (MPC) 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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages