LQIR-DG
Differential Game-Based Controller
GitHub: https://github.com/alibaniasad1999/bachelor-thesis

🎓 Abstract
In this study, a quadcopter stand with three degrees of freedom (3‑DoF) is controlled using a differential‑game framework. Player 1 tracks the reference commands, while Player 2 injects worst‑case disturbances. The Nash‑equilibrium solution yields a robust Linear Quadratic Integral Differential Game (LQIDG) controller, providing strong disturbance rejection and tolerance to model uncertainty. Performance is verified in MATLAB Simulink and on a physical 3‑DoF platform.
Keywords: Quadcopter • Differential Game • Nash Equilibrium • LQDG • LQIDG • Model‑Based Design
🛠️ Plant Description

🎮 Differential Game Control
Linear Quadratic Differential Game (LQDG)
The coupled Riccati equations are
\[\begin{aligned} \dot K_1 &= -A^\top K_1 - K_1 A - Q_1 + K_1 S_1 K_1 + K_1 S_2 K_2\\ \dot K_2 &= -A^\top K_2 - K_2 A - Q_2 + K_2 S_2 K_2 + K_2 S_1 K_1 \end{aligned}\]with optimal controls
\[u_i(t) = -R_{ii}^{-1} B_i^{\top} K_i(t) x(t), \quad i=1,2.\]Linear Quadratic Integral Differential Game (LQIDG)
Integral action augments the state:
\[x_a = \begin{bmatrix} x_d - x \\ \displaystyle \int (y_d - y) \end{bmatrix}\]State matrices
\[A_a = \begin{bmatrix} A & 0 \\ C & 0 \end{bmatrix},\quad B_a = \begin{bmatrix} B \\ 0 \end{bmatrix},\quad C = I.\]Coupled Riccati equations
\[\begin{aligned} \dot K_{a1} &= -A^\top K_{a1} - K_{a1} A - Q_{a1} + K_{a1} S_{a1} K_{a1} + K_{a1} S_{a2} K_{a2}\\ \dot K_{a2} &= -A^\top K_{a2} - K_{a2} A - Q_{a2} + K_{a2} S_{a2} K_{a2} + K_{a2} S_{a1} K_{a1} \end{aligned}\]Control law
\[u_i(t) = -R_{ii}^{-1} B_{ai}^{\top} K_{ai}(t) x_a(t), \quad i=1,2.\]📐 Quadcopter Stand Model
The nonlinear dynamics follow
$\dot x = f(x,\omega)$
with
\[f = \begin{bmatrix} x_4 + x_5\sin x_1\tan x_2 + x_6\cos x_1\tan x_2\\[2pt] x_5\cos x_1 - x_6\sin x_1\\[2pt] (x_5\sin x_1 + x_6\cos x_1)\sec x_2\\[4pt] A_1\cos x_2\sin x_1 + A_2 x_5 x_6 + A_3\sigma_1 + A_4 x_5 \sigma_4 - \operatorname{sgn}(x_4)A_5 + A_6\cos x_1\\[4pt] B_1\sin x_2 + B_2 x_4 x_6 + B_3\sigma_2 + B_4 x_4 \sigma_4 - \operatorname{sgn}(x_5)B_5 + B_6\cos x_2\\[4pt] C_1 x_4 x_5 + C_2 \sigma_3 - \operatorname{sgn}(x_6) C_3 \end{bmatrix}\]Full coefficient definitions are retained from the original manuscript.
🧪 Simulation in MATLAB Simulink
Model overview

ODE45 Integrator

All six channels

🚀 Simulation Results with LQIDG
Roll vs Pitch
| Roll | Pitch |
|---|---|
![]() |
![]() |
Yaw

Motor Commands
| Motor 1 | Motor 2 |
|---|---|
![]() |
![]() |
| Motor 3 | Motor 4 |
![]() |
![]() |
✅ Final 3‑DoF Test (Hardware)
| Roll | Pitch |
|---|---|
![]() |
![]() |
Yaw

Motor Commands (Hardware)
| Motor 1 | Motor 2 |
|---|---|
![]() |
![]() |
| Motor 3 | Motor 4 |
![]() |
![]() |
📺 Video
📜 License
This project is licensed under the MIT License.
Author: Ali BaniAsad
📚 Citation
If you use this work, please cite:
@article{BANIASAD2024515,
title = {Attitude control of a 3-DoF quadrotor platform using a linear quadratic integral differential game approach},
journal = {ISA Transactions},
volume = {148},
pages = {515-527},
year = {2024},
issn = {0019-0578},
doi = {https://doi.org/10.1016/j.isatra.2024.03.005},
author = {Ali BaniAsad and Reza Pordal and Alireza Sharifi and Hadi Nobahari}
}











