In recent years, quadrotor unmanned aerial vehicles (UAVs) have gained significant attention due to their versatility in applications such as logistics, agriculture, surveillance, and search and rescue. However, the control of quadrotor systems presents considerable challenges because of their underactuated, strongly coupled, and nonlinear dynamics. As a quadrotor operates in varying environments and under different mission profiles, its dynamic characteristics can change, making traditional fixed controllers inadequate for maintaining optimal performance. This has led to the exploration of adaptive control strategies, such as multi-model adaptive control (MMAC), which can handle system uncertainties and improve response in complex scenarios. In this article, we propose a multi-model adaptive control approach combined with Linear Quadratic Regulator (LQR) theory for the hovering attitude control of a quadrotor. By dividing the system into multiple submodels based on operating regions and designing optimal controllers for each, we aim to enhance the quadrotor’s stability, reduce overshoot, and achieve faster response times. We begin by deriving the mathematical model of the quadrotor, followed by an explanation of the multi-model adaptive control framework and its integration with LQR. Simulation results using MATLAB/Simulink are presented to compare the proposed method with classical PID and single LQR controllers, demonstrating the superiority of the multi-model approach in terms of performance metrics.
The dynamics of a quadrotor are inherently complex, involving six degrees of freedom and multiple inputs and outputs. To effectively control a quadrotor, it is essential to develop a accurate mathematical model that captures its nonlinear behavior. The quadrotor’s motion can be described using Newton-Euler equations, considering forces and moments generated by the four rotors. We assume the quadrotor is a rigid body with symmetric structure, and its center of mass coincides with the body-fixed frame origin. The dynamic model includes translational and rotational motions, with the state vector defined as $X = [x, y, z, u, v, w, \phi, \theta, \psi, p, q, r]$, where $(x, y, z)$ are the position coordinates, $(u, v, w)$ are the linear velocities, $(\phi, \theta, \psi)$ are the Euler angles (roll, pitch, yaw), and $(p, q, r)$ are the angular velocities. The control input vector is $U = [U_1, U_2, U_3, U_4]$, representing the virtual control inputs derived from rotor speeds. The nonlinear equations of motion are given by:
$$ \begin{align*}
\dot{x} &= \frac{U_1}{m} (\cos \phi \sin \theta \cos \psi + \sin \phi \sin \psi) \\
\dot{y} &= \frac{U_1}{m} (\cos \phi \sin \theta \sin \psi – \sin \phi \cos \psi) \\
\dot{z} &= \frac{U_1}{m} (\cos \phi \cos \theta) – g \\
\dot{\phi} &= \frac{(I_y – I_z)}{I_x} \dot{\theta} \dot{\psi} + \frac{l U_2}{I_x} \\
\dot{\theta} &= \frac{(I_z – I_x)}{I_y} \dot{\phi} \dot{\psi} + \frac{l U_3}{I_y} \\
\dot{\psi} &= \frac{(I_x – I_y)}{I_z} \dot{\phi} \dot{\theta} + \frac{l U_4}{I_z}
\end{align*} $$
where $m$ is the mass of the quadrotor, $g$ is the gravitational acceleration, $l$ is the arm length from the center to each rotor, and $I_x$, $I_y$, $I_z$ are the moments of inertia about the respective axes. For hovering control, we focus on the attitude dynamics, as position control often relies on attitude adjustments. To simplify the control design, we linearize the system around a hovering equilibrium point, where the quadrotor is stationary with zero velocities and small angles. The linearized state-space representation is:
$$ \begin{align*}
\dot{X} &= A X + B U \\
Y &= C X
\end{align*} $$
Here, $A$ is the state matrix, $B$ is the input matrix, and $C$ is the output matrix. For instance, at the hovering point with $\phi = 0$, $\theta = 0$, and $\psi = 0$, the matrices can be derived as follows, with parameters based on a typical quadrotor with mass $m = 1.4\, \text{kg}$, $l = 0.25\, \text{m}$, $I_x = 0.82\, \text{kg} \cdot \text{m}^2$, $I_y = 0.82\, \text{kg} \cdot \text{m}^2$, and $I_z = 1.2\, \text{kg} \cdot \text{m}^2$:
$$ A = \begin{bmatrix}
0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & a & b & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & c & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & d & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
\end{bmatrix}, \quad B = \begin{bmatrix}
0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 \\
e & 0 & 0 & 0 \\
f & 0 & 0 & 0 \\
0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 \\
0 & \frac{l}{I_x} & 0 & 0 \\
0 & 0 & \frac{l}{I_y} & 0 \\
0 & 0 & 0 & \frac{l}{I_z}
\end{bmatrix} $$
where $a$, $b$, $c$, $d$, $e$, and $f$ are constants derived from the linearization process, such as $a = \frac{\cos \psi \cos \theta \cos \phi U_1}{m}$ and $e = \frac{-\cos \psi \sin \phi + \sin \psi \sin \phi \sin \theta}{m}$. This linear model serves as the basis for designing controllers, but due to the nonlinear nature of the quadrotor, a single linear controller may not suffice across all operating conditions. Thus, we employ a multi-model adaptive control strategy to handle variations in dynamics.

Multi-model adaptive control is a powerful approach for systems with uncertain or time-varying parameters. The core idea is to represent the system using a set of models, each describing the system behavior in a specific operating region. For a quadrotor, we define a model set $\Omega = \{ M_i \mid i = 1, 2, \dots, n \}$, where each $M_i$ corresponds to a linearized model around a particular attitude angle, such as the roll angle $\phi$. A corresponding controller set $C = \{ C_i \mid i = 1, 2, \dots, n \}$ is designed, where each $C_i$ is optimized for model $M_i$. During operation, the controller switches to the one that best matches the current system state, ensuring adaptive performance. This method is particularly suitable for quadrotors because their dynamics can vary significantly with changes in orientation or external disturbances. By dividing the operating range into smaller intervals, we can achieve better control accuracy. For hovering attitude control, we focus on the roll angle $\phi$ as the key variable for model partitioning, as it significantly influences stability. The range $[-0.3, 0.3]$ radians is divided into multiple subintervals, as summarized in the table below:
| Roll Angle $\phi$ (rad) | Operating Interval (rad) |
|---|---|
| 0.00 | [-0.05, 0.05) |
| 0.075 | [0.05, 0.10) |
| 0.125 | [0.10, 0.15) |
| 0.175 | [0.15, 0.20) |
| 0.25 | [0.20, 0.30] |
| -0.075 | [-0.10, -0.05) |
| -0.125 | [-0.15, -0.10) |
| -0.175 | [-0.20, -0.15) |
| -0.25 | [-0.30, -0.20] |
This partitioning results in nine submodels, each associated with a specific roll angle range. For each submodel, we design an LQR-based controller to achieve optimal performance. The LQR controller minimizes a quadratic cost function, providing a balance between state errors and control effort. The cost function is defined as:
$$ J = \frac{1}{2} \int_0^\infty (X^T Q X + U^T R U) \, dt $$
where $Q$ is a positive semi-definite state weighting matrix and $R$ is a positive definite control weighting matrix. The optimal control law is given by $U^* = -K X$, where $K$ is the feedback gain matrix obtained by solving the algebraic Riccati equation:
$$ A^T P + P A – P B R^{-1} B^T P + Q = 0 $$
and $K = R^{-1} B^T P$. For the quadrotor submodels, we select $Q$ as a diagonal matrix with elements emphasizing the importance of attitude angles and positions, such as $Q = \text{diag}[1000, 1000, 1000, 0, 0, 0, 10000, 10000, 10000, 0, 0, 0]$, and $R$ as an identity matrix. For example, for the submodel with $\phi = 0.00$ rad, the optimal feedback gain matrix $K$ is computed as follows:
$$ K^T = \begin{bmatrix}
0 & 0 & 31.6228 & 0 \\
0 & -31.6228 & 0 & 0 \\
31.6228 & 0 & 0 & 0 \\
0 & 0 & 33.4578 & 0 \\
0 & -33.4578 & 0 & 0 \\
0 & 0 & 0 & 0 \\
0 & 173.4566 & 0 & 0 \\
9.4097 & 0 & 173.4566 & 0 \\
0 & 0 & 0 & 100.000 \\
0 & 33.7312 & 0 & 0 \\
0 & 0 & 33.7312 & 0 \\
0 & 0 & 0 & 25.6116
\end{bmatrix} $$
Similarly, we compute gain matrices for all nine submodels, resulting in a controller set $K = \{ K_i \mid i = 1, 2, \dots, 9 \}$. The switching mechanism in the multi-model adaptive control continuously evaluates the current roll angle and selects the appropriate controller from the set. This ensures that the quadrotor maintains stable hovering even as its dynamics change, providing robustness and adaptability.
To validate the proposed multi-model adaptive control approach, we conducted simulation experiments using MATLAB/Simulink. The quadrotor model was implemented with the specified parameters, and the controllers were designed for the hovering scenario. The initial conditions were set to $\phi = 0.18$ rad, $\theta = 0.14$ rad, and $\psi = 0.23$ rad, representing a deviation from the hovering equilibrium. We compared the performance of the multi-model LQR controller with classical PID and single LQR controllers. The PID controllers were tuned with proportional, integral, and derivative gains to achieve reasonable performance, while the single LQR controller used a fixed gain matrix based on the linearization at $\phi = 0$. The simulation results for attitude angles over time are summarized in the table below, highlighting key metrics such as settling time and overshoot:
| Control Method | Roll Angle Settling Time (s) | Pitch Angle Settling Time (s) | Yaw Angle Settling Time (s) | Overshoot (%) |
|---|---|---|---|---|
| Multi-Model LQR | 3.6 | 3.8 | 2.2 | < 5% |
| PID | 5.2 | 4.9 | 3.5 | 15% |
| Single LQR | 4.8 | 4.5 | 3.0 | 10% |
The multi-model adaptive controller demonstrated superior performance, with faster response times and minimal overshoot compared to the other methods. For instance, the roll angle stabilized to zero within 3.6 seconds, whereas PID and single LQR took 5.2 and 4.8 seconds, respectively. This improvement is attributed to the adaptive switching between submodels, which allows the controller to quickly adjust to the quadrotor’s current state. Additionally, the position coordinates $(x, y, z)$ showed smooth convergence to the desired hovering point, with oscillations damped effectively. The multi-model approach also handled coupling effects between axes better, as evidenced by the coordinated response in roll, pitch, and yaw angles. These results underscore the effectiveness of multi-model adaptive control in enhancing the hovering performance of quadrotor UAVs.
In conclusion, the integration of multi-model adaptive control with LQR optimization offers a robust solution for the hovering attitude control of quadrotor UAVs. By partitioning the system into multiple submodels and designing optimal controllers for each, we achieve improved response speed, reduced overshoot, and better adaptability to dynamic changes. The simulation experiments confirm that this approach outperforms traditional PID and single LQR controllers, making it a viable strategy for real-world quadrotor applications. Future work could focus on extending this method to handle external disturbances, such as wind gusts, and incorporating robustness analyses to further enhance performance. Additionally, experimental validation on physical quadrotor platforms would be valuable to assess practical implementation challenges. Overall, multi-model adaptive control represents a significant advancement in quadrotor control, paving the way for more reliable and efficient autonomous systems.
