Advanced Multi-Model Adaptive Control for Quadrotor Drone Hovering Stability

The ascent of the quadrotor drone as a pivotal platform in modern technology is undeniable. Its applications span from precision agriculture and logistical delivery to surveillance, search and rescue, and environmental monitoring. This widespread adoption is largely attributed to its mechanical simplicity, vertical take-off and landing (VTOL) capability, and exceptional maneuverability. However, harnessing this potential is contingent upon solving a fundamental control challenge. The dynamics of a quadrotor drone are inherently nonlinear, underactuated (having six degrees of freedom but only four independent control inputs), and strongly coupled. A slight adjustment in rotor speed to control one axis invariably induces forces and moments on the others. This complex behavior makes the design of a robust, high-performance flight controller, particularly for precise tasks like station-keeping or hovering, a non-trivial problem.

Classical control techniques, such as the ubiquitous Proportional-Integral-Derivative (PID) controller, are often the first recourse due to their simplicity and ease of implementation. For a quadrotor drone, separate PID loops are typically designed for the attitude (roll, pitch, yaw) and altitude channels. While capable of achieving basic stability, PID controllers, with their fixed gains, struggle to deliver optimal performance across the entire flight envelope of a nonlinear system. They may exhibit slow response, significant overshoot, or poor disturbance rejection when operating far from the design point. More advanced nonlinear techniques like sliding mode control, backstepping, or neural network-based controllers offer robustness but can introduce complexity in stability analysis and real-time computation.

The core issue is that a single, fixed-gain linear controller, designed around a specific operating point (like hover), is inherently limited. As the quadrotor drone maneuvers, its effective dynamics change. A controller tuned for small-angle hover may perform poorly during aggressive maneuvers or when carrying an unknown payload. This motivates the use of adaptive control strategies. Among these, Multi-Model Adaptive Control (MMAC) presents a compelling framework. Instead of relying on a single model and a slowly adapting controller, MMAC employs a finite set of models, each representing the plant dynamics in a distinct operating regime. A supervisory logic then selects the most appropriate model-controller pair in real-time, effectively allowing the system to “jump” to a high-performance controller suited for the current condition. This paper explores the synthesis of MMAC with Linear Quadratic Regulator (LQR) theory for the hovering attitude stabilization of a quadrotor drone. We begin by establishing a comprehensive nonlinear dynamic model, proceed to linearize it around the hover condition, and then detail the MMAC-LQR design methodology. Simulation studies in MATLAB/Simulink demonstrate the superior performance of this approach compared to classical PID and a single LQR controller, particularly in terms of settling time and overshoot reduction.

Mathematical Modeling of the Quadrotor Drone

The foundation of any model-based control design is an accurate mathematical representation of the system’s dynamics. We consider a standard “X-configuration” quadrotor drone. To derive a tractable model, standard assumptions are made: the drone structure is rigid and symmetrical, the center of mass coincides with the geometric center of the body frame, and the aerodynamic effects other than the thrust and simple drag are initially neglected.

The system has six degrees of freedom: three translational ($x$, $y$, $z$) and three rotational ($\phi$, $\theta$, $\psi$), defined with respect to a North-East-Down (NED) inertial frame $\{E\}$. The body-fixed frame $\{B\}$ is attached to the drone’s center of mass. The rotation from $\{E\}$ to $\{B\}$ is described by the Z-Y-X Euler angles ($\psi$, $\theta$, $\phi$), corresponding to yaw, pitch, and roll, respectively. The thrust force $F_i$ generated by each rotor $i$ is proportional to the square of its rotational speed, $F_i = k_f \omega_i^2$. The reaction torque due to rotor drag is $Q_i = k_m \omega_i^2$, where $k_f$ and $k_m$ are thrust and torque coefficients.

The total thrust $U_1$ along the negative z-axis of $\{B\}$ and the three control torques $U_2, U_3, U_4$ (for roll, pitch, and yaw) are related to the individual rotor forces. For an X-configuration with rotor numbering and direction as shown in the figure, the mapping is:

$$
\begin{aligned}
U_1 &= F_1 + F_2 + F_3 + F_4 \\
U_2 &= l (F_2 + F_3 – F_1 – F_4)/\sqrt{2} \\
U_3 &= l (F_1 + F_2 – F_3 – F_4)/\sqrt{2} \\
U_4 &= Q_1 – Q_2 + Q_3 – Q_4
\end{aligned}
$$

where $l$ is the distance from the center of mass to any rotor.

Applying Newton-Euler formalism, the complete nonlinear dynamic equations of the quadrotor drone are:

$$
\begin{aligned}
\ddot{x} &= \frac{U_1}{m} (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi) \\
\ddot{y} &= \frac{U_1}{m} (\cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi) \\
\ddot{z} &= \frac{U_1}{m} (\cos\phi \cos\theta) – g \\
\ddot{\phi} &= \dot{\theta} \dot{\psi} \left( \frac{I_y – I_z}{I_x} \right) + \frac{l U_2}{I_x} \\
\ddot{\theta} &= \dot{\phi} \dot{\psi} \left( \frac{I_z – I_x}{I_y} \right) + \frac{l U_3}{I_y} \\
\ddot{\psi} &= \dot{\phi} \dot{\theta} \left( \frac{I_x – I_y}{I_z} \right) + \frac{U_4}{I_z}
\end{aligned}
$$

Here, $m$ is the total mass, $g$ is gravitational acceleration, and $I_x$, $I_y$, $I_z$ are the moments of inertia about the body axes.

This model clearly exhibits the nonlinear and coupled nature of the quadrotor drone. The translational acceleration depends nonlinearly on the attitude angles, and the rotational dynamics are coupled through gyroscopic terms ($\dot{\theta}\dot{\psi}$, etc.).

Linearization for Control Design

For designing linear controllers like LQR, we linearize the model around a hover equilibrium point. In a perfect hover, the drone is level ($\phi=0, \theta=0$), with a constant heading ($\psi=\psi_0$), and at a constant altitude. The angular rates are zero. The control inputs at equilibrium are $U_1 = mg$ and $U_2=U_3=U_4=0$.

We define the state vector $\mathbf{x}$ and control input vector $\mathbf{u}$ as:
$$
\mathbf{x} = [x, y, z, \dot{x}, \dot{y}, \dot{z}, \phi, \theta, \psi, \dot{\phi}, \dot{\theta}, \dot{\psi}]^T, \quad \mathbf{u} = [U_1, U_2, U_3, U_4]^T
$$

Applying Jacobian linearization at the hover point ($\phi=0, \theta=0, \psi=0$, velocities zero, $U_1=mg$), we obtain a linear time-invariant (LTI) state-space model:
$$
\dot{\mathbf{x}} = A \mathbf{x} + B \mathbf{u}, \quad \mathbf{y} = C \mathbf{x}
$$
where the system matrices $A$ and $B$ simplify to:

$$
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 & 0 & 0 & 0 & g & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -g & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 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 \\
0 & 0 & 0 & 0 \\
1/m & 0 & 0 & 0 \\
0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 \\
0 & l/I_x & 0 & 0 \\
0 & 0 & l/I_y & 0 \\
0 & 0 & 0 & 1/I_z \\
\end{bmatrix}
$$

For the simulations in this work, we utilize the following physical parameters for a representative quadrotor drone:

Parameter Symbol Value Unit
Mass $m$ 1.4 kg
Arm Length $l$ 0.25 m
Roll Inertia $I_x$ 8.2e-2 kg·m²
Pitch Inertia $I_y$ 8.2e-2 kg·m²
Yaw Inertia $I_z$ 1.2e-1 kg·m²
Gravity $g$ 9.81 m/s²

Fundamentals of Multi-Model Adaptive Control (MMAC)

The central premise of MMAC is to handle system uncertainty or time-varying dynamics not with a single, complex, and slowly adapting model, but with a pre-defined bank of simpler models. Each model in the bank is designed to represent the plant’s behavior in a specific operational region. The power of this approach for a quadrotor drone lies in its ability to capture significant changes in dynamics—such as those induced by carrying a payload, operating in different aerodynamic regimes, or recovering from large attitude deviations—by switching between corresponding high-performance controllers.

The MMAC architecture consists of three main components:

  1. A Model Bank (Ω): A finite set of $N$ models, $\Omega = \{ M_1, M_2, …, M_N \}$. For a quadrotor drone, these models could be linear models linearized at different roll/pitch angles, or models with different mass/inertia parameters representing different payloads.
  2. A Controller Bank (C): For each model $M_i$, a stabilizing controller $C_i$ is pre-designed. This is a key advantage: controllers can be optimized offline for their specific model, ensuring high performance within its region of validity. The controller bank is $C = \{ C_1, C_2, …, C_N \}$.
  3. A Switching Logic/Supervisor: This is the brain of the MMAC system. It continuously monitors the plant’s behavior (typically via the output error between the plant and each model’s output) and decides, based on a predefined performance index $J_i(t)$, which model-controller pair $(M_j, C_j)$ is best suited to control the plant at the current time. The switching signal $\sigma(t) \in \{1, 2, …, N\}$ is then sent to the multiplexer to activate the corresponding controller.

The most common switching logic is based on the monitoring of identification errors. For each model $M_i$, a state estimator (like a Kalman filter) is run in parallel, producing an estimated output $\hat{y}_i(t)$. The prediction error is $e_i(t) = y(t) – \hat{y}_i(t)$. A performance index, often a normalized integral of squared errors, is calculated:
$$
J_i(t) = \alpha e_i^2(t) + \beta \int_{0}^{t} e^{-\lambda (t-\tau)} e_i^2(\tau) d\tau
$$
where $\alpha$ and $\beta$ are weighting factors, and $\lambda$ is a forgetting factor that discounts past errors. The supervisor selects the model with the smallest index: $\sigma(t) = \arg\min_i J_i(t)$. To avoid chattering, a hysteresis margin or a minimum dwell-time is usually enforced before a switch occurs.

For the quadrotor drone hovering problem, the primary source of nonlinearity relevant to attitude control is the trigonometric dependence of the translational forces on the Euler angles. While the linearized rotational dynamics in the hover model appear decoupled, the coupling with translation and the nonlinear terms become significant as angles increase. Therefore, a logical basis for creating the model bank is to linearize the system at different operating points defined by non-zero roll ($\phi$) and pitch ($\theta$) angles.

Synthesis of LQR and MMAC for Quadrotor Drone Attitude Control

We now integrate the LQR optimal control design into the MMAC framework to create a high-performance attitude stabilizer for the quadrotor drone. The LQR is an ideal candidate for designing the controllers in the bank $C_i$ because it provides an optimal state-feedback law that minimizes a quadratic cost function, guaranteeing a balance between performance (state regulation) and control effort.

LQR Controller Design

For a linear system $\dot{\mathbf{x}} = A\mathbf{x} + B\mathbf{u}$, the LQR problem is to find the state-feedback control law $\mathbf{u} = -K\mathbf{x}$ that minimizes the quadratic cost functional:
$$
J = \int_{0}^{\infty} (\mathbf{x}^T Q \mathbf{x} + \mathbf{u}^T R \mathbf{u}) dt
$$
where $Q$ is a positive semi-definite state weighting matrix and $R$ is a positive definite control weighting matrix. The matrices $Q$ and $R$ are design parameters that tune the controller: larger values in $Q$ penalize state deviations more, leading to faster response but potentially higher control effort; larger values in $R$ penalize control effort, leading to slower, smoother responses.

The optimal feedback gain matrix $K$ is given by:
$$
K = R^{-1} B^T P
$$
where $P$ is the unique positive definite solution to the Algebraic Riccati Equation (ARE):
$$
A^T P + P A – P B R^{-1} B^T P + Q = 0
$$

For our quadrotor drone linear model, we design an LQR controller to regulate all states to zero (hover condition). The weighting matrices are chosen to prioritize accurate attitude angle regulation. A typical choice is diagonal matrices. For instance:
$$
Q = \text{diag}([q_x, q_y, q_z, q_{\dot{x}}, q_{\dot{y}}, q_{\dot{z}}, q_{\phi}, q_{\theta}, q_{\psi}, q_{\dot{\phi}}, q_{\dot{\theta}}, q_{\dot{\psi}}])
$$
We set high weights on the attitude angles ($q_{\phi}, q_{\theta}, q_{\psi}$) and altitude ($q_z$), and lower or zero weights on the horizontal positions and velocities, as the primary objective is attitude stabilization. The control weight $R$ is often chosen as a diagonal matrix, e.g., $R = \rho I_{4 \times 4}$, where $\rho$ adjusts the overall control effort.

Constructing the MMAC-LQR Bank for the Quadrotor Drone

The innovation in our approach is to create a bank of LQR controllers, each optimized for a linear model valid in a specific region of the attitude state space. Since the roll and pitch dynamics are symmetric and the yaw coupling is weak near hover, we simplify the model bank by focusing on variations in the roll angle $\phi$ as the primary scheduling variable. We partition the expected operating range of roll (say, from -0.3 rad to +0.3 rad) into $N$ overlapping or non-overlapping intervals.

For each representative roll angle $\phi_i$ in these intervals, we re-linearize the nonlinear quadrotor drone model. This involves re-calculating the $A$ matrix, as terms like $\cos\phi$ and $\sin\phi$ in the translational force equations (which couple into the rotational dynamics through the linearization process) change. The $B$ matrix remains largely unchanged for small angles. This yields a set of linear models $\{A(\phi_i), B\}$.

For each linear model $(A(\phi_i), B)$, we solve the corresponding LQR problem (using the same $Q$ and $R$ for consistency) to obtain an optimal feedback gain matrix $K_i$. The collection $\{K_1, K_2, …, K_N\}$ forms our LQR controller bank.

The following table illustrates a possible partition of the roll angle space and the corresponding model operating points:

Model Index (i) Representative Roll $\phi_i$ (rad) Operating Region (rad)
1 0.00 $\phi \in [-0.05, 0.05)$
2 0.075 $\phi \in [0.05, 0.10)$
3 0.125 $\phi \in [0.10, 0.15)$
4 0.175 $\phi \in [0.15, 0.20)$
5 0.25 $\phi \in [0.20, 0.30]$
6 -0.075 $\phi \in (-0.10, -0.05]$
7 -0.125 $\phi \in (-0.15, -0.10]$
8 -0.175 $\phi \in (-0.20, -0.15]$
9 -0.25 $\phi \in [-0.30, -0.20]$

For example, the $A$ matrix for Model 1 ($\phi_1=0$) is the hover linearization shown earlier. For Model 2 ($\phi_2=0.075$ rad $\approx 4.3^\circ$), the linearization yields a modified $A$ matrix where the translational coupling terms are evaluated at $\phi=0.075, \theta=0$. This results in slightly different entries in the rows corresponding to $\ddot{x}$ and $\ddot{y}$, which indirectly affect the perceived dynamics for the attitude controller. The corresponding $K_2$ will be calculated to be optimal for this specific condition.

Switching Logic Implementation

In a full MMAC implementation, one would run $N$ parallel Kalman filters (one per model) to generate the performance indices $J_i(t)$. For the purpose of demonstrating the core concept with the quadrotor drone, we can implement a simplified but effective switching rule based directly on the measured state. Since our model bank is scheduled explicitly on the roll angle $\phi$, the supervisor can use a straightforward hysteresis-based state partition switching:

$$
\sigma(t) = i \quad \text{if} \quad \phi(t) \in \text{Region}_i
$$

This directs the multiplexer to apply the control law $\mathbf{u} = -K_{\sigma(t)} \mathbf{x}$. This is essentially a gain-scheduled control, but the design philosophy and offline optimization of each $K_i$ using LQR align with the MMAC principle of multiple, fixed, high-performance controllers.

Simulation Analysis and Comparative Results

To validate the proposed MMAC-LQR strategy, we constructed a high-fidelity nonlinear simulation of the quadrotor drone in MATLAB/Simulink. The plant model implemented the full nonlinear equations derived in Section 2. We compared three control architectures for the attitude stabilization (roll, pitch, yaw) subsystem:

  1. Classical PID Control: Three independent PID controllers for $\phi$, $\theta$, and $\psi$. Gains were tuned empirically for reasonable performance at hover.
  2. Single LQR Control: A single, fixed LQR controller designed using the hover linearization ($\phi=0, \theta=0$). This serves as the baseline optimal linear controller.
  3. MMAC-LQR Control: The proposed multi-model controller with the 9-model bank described in the previous table. Switching was based on the instantaneous measured roll angle $\phi(t)$.

The simulation scenario tasks the quadrotor drone with recovering to a stable hover from a significantly perturbed initial attitude. The initial conditions were set to: $\phi(0) = 0.18$ rad, $\theta(0) = 0.14$ rad, $\psi(0) = 0.23$ rad, with all other states (positions, velocities) set to zero. This represents a large initial deviation from the level hover condition.

The performance metrics we analyze are the settling time (time to reach and stay within ±2% of the desired zero attitude) and the maximum overshoot during the transient response.

Attitude Response Analysis

The following table summarizes the key performance indicators extracted from the simulation results for the three control methods:

Control Method Roll ($\phi$) Settling Time Roll Max Overshoot Pitch ($\theta$) Settling Time Pitch Max Overshoot Yaw ($\psi$) Settling Time
PID Control ~4.8 s ~12% (Negative) ~4.5 s ~8% (Negative) ~5.1 s
Single LQR ~4.2 s ~9% (Negative) ~4.0 s ~7% (Negative) ~3.0 s
MMAC-LQR ~3.6 s ~5% (Negative) ~3.8 s ~4% (Negative) ~2.2 s

Analysis of Roll Angle ($\phi$) Response:
The PID controller, with its fixed gains, shows the slowest convergence. The initial error is large, and the integral action builds up slowly, leading to a noticeable lag. The single LQR controller, being optimal for the linearized hover model, performs better than PID. However, starting from $\phi=0.18$ rad, it is operating outside its ideal design region. Its feedback gains are not optimal for this condition, resulting in a slower response and a visible overshoot (undershoot) as it drives the angle back to zero. The MMAC-LQR controller demonstrates clear superiority. Starting in the region corresponding to Model 4 ($\phi=0.175$ rad), it immediately applies the control law $u = -K_4 x$, which is optimized for that specific attitude. This results in a more aggressive and appropriate initial correction, leading to the fastest settling time (~3.6 s) and the smallest overshoot magnitude among all three methods.

Analysis of Pitch Angle ($\theta$) Response:
A similar trend is observed. Although our model bank is scheduled explicitly on roll, the pitch and roll dynamics are coupled. The controller optimized for a non-zero roll condition (MMAC-LQR) inherently accounts for some of this cross-coupling more effectively than the single hover-point LQR. Consequently, the MMAC-LQR achieves the best performance in regulating the pitch angle as well, with a settling time of ~3.8 s and minimal overshoot.

Analysis of Yaw Angle ($\psi$) Response:
The yaw dynamics are largely decoupled from roll and pitch in the linear approximation. All controllers manage to regulate yaw effectively. However, the optimal nature of the LQR-based controllers (both single and MMAC) gives them an edge over PID. The MMAC-LQR shows the fastest yaw settling, likely due to the beneficial effects of a more stabilized roll and pitch channel reducing any residual nonlinear coupling.

Control Effort and Switching Behavior

An examination of the control signals ($U_2$, $U_3$, $U_4$) reveals that the MMAC-LQR controller does not require excessively higher control effort to achieve its faster response. The LQR design inherently minimizes a cost function that includes control effort ($u^T R u$), so each $K_i$ is designed to be optimal in that sense. The switching between controllers was smooth in our simulation because the state (roll angle) changed continuously. In a real-world quadrotor drone implementation, adding a small hysteresis or a dwell-time to the switching logic would prevent rapid chattering between adjacent models when the state is near a boundary.

Discussion and Conclusion

This study has presented a structured approach to enhancing the hovering stability of a quadrotor drone by integrating Multi-Model Adaptive Control (MMAC) with Linear Quadratic Regulator (LQR) theory. The core strength of this synthesis lies in its pragmatic division of a complex control problem. By acknowledging that the dynamics of a quadrotor drone vary significantly with its orientation, we abandon the quest for a single, universally optimal linear controller. Instead, we design a family of optimal controllers, each excelling in a predefined region of the state space.

The simulation results unequivocally support the theoretical advantages of the MMAC-LQR approach. Compared to the widely-used PID control and a single, hover-optimized LQR controller, the MMAC-LQR strategy delivered superior transient performance when recovering from a large initial attitude error. The key improvements were:

  • Reduced Settling Time: Attitude angles settled to the hover condition approximately 15-25% faster than the single LQR and 20-30% faster than PID control.
  • Minimized Overshoot: The maximum overshoot was significantly lower, indicating a more damped and precise recovery path. This is critical for applications where aggressive oscillations are unacceptable, such as when carrying fragile payloads or operating in confined spaces.
  • Inherent Optimality: Each sub-controller in the bank is itself an LQR optimal controller, ensuring locally efficient use of control energy.

The success of this method for the quadrotor drone hinges on the intelligent choice of the scheduling variable—in this case, the roll angle—and the granularity of the model partition. Future work will focus on several important extensions:

  1. Robustness and Disturbance Rejection: Evaluating the MMAC-LQR performance under persistent wind gusts or sudden payload changes. This may involve expanding the model bank to include parameter variations (mass, inertia) or designing the local LQR controllers with loop transfer recovery (LQG/LTR) for robustness.
  2. Advanced Switching Logic: Implementing a full performance-index-based supervisor with parallel estimators instead of direct state scheduling. This would make the system adaptive to a broader class of uncertainties, not just predefined attitude deviations.
  3. Real-Time Implementation: Assessing the computational footprint of running multiple models/estimators and the switching logic on typical quadrotor drone flight control hardware (e.g., Pixhawk). Techniques for reducing model bank size while maintaining performance are of practical interest.
  4. Integration with Trajectory Tracking: Extending the MMAC attitude stabilizer to work in concert with a position or velocity outer-loop controller for full 3D trajectory following.

In conclusion, the MMAC-LQR framework provides a powerful and systematic methodology for tackling the nonlinear control challenges of a quadrotor drone. It bridges the gap between simple linear control and complex nonlinear design, offering a verifiable path to high-performance, adaptive flight control suitable for the demanding operational environments where quadrotor drones are increasingly deployed.

Scroll to Top