In this study, we address the challenging problem of attitude control for quadrotor UAV drones operating in complex and uncertain environments. We propose a novel control framework that integrates a disturbance observer with an adaptive fuzzy model predictive control strategy. Our approach effectively handles the inherent nonlinearities, external disturbances, and physical input constraints that plague real-world UAV drone operations. By employing Takagi-Sugeno (T-S) fuzzy modeling, we transform the nonlinear dynamics into a set of local linear models, which are then embedded within a model predictive control architecture. Furthermore, we design an adaptive prediction horizon adjustment mechanism that dynamically optimizes controller parameters based on real-time system states. The stability of the closed-loop system is rigorously proven through Lyapunov theory. Extensive simulations demonstrate that our method provides superior stability, tracking accuracy, and robustness compared to conventional techniques.
1. Introduction
Quadrotor UAV drones have gained significant attention due to their exceptional maneuverability, vertical takeoff and landing capabilities, and cost-effectiveness. These aerial platforms are widely deployed in various applications, including search and rescue operations, agricultural monitoring, infrastructure inspection, and military surveillance. The attitude control system of UAV drones plays a fundamental role in ensuring stable flight and accurate trajectory tracking. However, the control design for quadrotor UAV drones remains a challenging task due to several inherent characteristics: strong nonlinearities in the dynamics, coupling between rotational and translational motions, actuator saturation constraints, and susceptibility to external disturbances such as wind gusts and sensor noise.
Traditional proportional-integral-derivative (PID) controllers, while simple to implement, often fail to provide satisfactory performance under aggressive maneuvers or in the presence of significant disturbances. The limitations of PID controllers become particularly evident when dealing with input constraints and model uncertainties. To overcome these challenges, researchers have explored various advanced control strategies. Among these, model predictive control (MPC) has emerged as a powerful technique due to its inherent ability to handle constraints and optimize future behavior. However, the computational burden of nonlinear MPC limits its real-time applicability for UAV drones with limited onboard computational resources.
Fuzzy logic control, particularly the Takagi-Sugeno (T-S) fuzzy model, offers an effective approach to approximate nonlinear systems through a set of local linear models. By combining T-S fuzzy modeling with MPC, we can achieve a favorable balance between computational efficiency and control performance. The T-S fuzzy model decomposes the complex nonlinear dynamics of UAV drones into multiple operating regions, each characterized by a linear state-space representation. The overall system behavior is then obtained through fuzzy interpolation of these local models.
Another critical aspect of UAV drone control is the rejection of external disturbances. Disturbance observer-based control has proven to be an effective technique for estimating and compensating for unknown disturbances without requiring explicit disturbance models. By incorporating a disturbance observer into the MPC framework, we can significantly enhance the robustness of the control system against external perturbations and model mismatches.
In this paper, we present a comprehensive control solution for quadrotor UAV drones that addresses the aforementioned challenges. Our main contributions include: (1) a T-S fuzzy modeling approach for representing the nonlinear dynamics of quadrotor UAV drones; (2) an adaptive prediction horizon strategy that dynamically adjusts the control parameters based on tracking error; (3) a disturbance observer integrated with the fuzzy MPC framework for enhanced disturbance rejection; and (4) rigorous stability analysis using Lyapunov theory. The proposed method is validated through extensive simulation studies under various operating conditions.

2. Dynamic Modeling of Quadrotor UAV Drones
We consider the quadrotor UAV drone as a rigid body with six degrees of freedom. The dynamic model is described in two coordinate frames: the inertial frame (E) and the body-fixed frame (B). The position and orientation of the UAV drone are expressed in the inertial frame, while the linear and angular velocities are expressed in the body frame. The attitude angles, namely roll (φ), pitch (θ), and yaw (ψ), define the orientation of the UAV drone relative to the inertial frame.
The rotation matrix from the body frame to the inertial frame is given by:
$$
R_{be} = R_{b,xe} \cdot R_{b,ye} \cdot R_{b,ze}
$$
where the individual rotation matrices are:
$$
R_{b,xe} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos\phi & \sin\phi \\ 0 & -\sin\phi & \cos\phi \end{bmatrix}
$$
$$
R_{b,ye} = \begin{bmatrix} \cos\theta & 0 & -\sin\theta \\ 0 & 1 & 0 \\ \sin\theta & 0 & \cos\theta \end{bmatrix}
$$
$$
R_{b,ze} = \begin{bmatrix} \cos\psi & \sin\psi & 0 \\ -\sin\psi & \cos\psi & 0 \\ 0 & 0 & 1 \end{bmatrix}
$$
The complete nonlinear dynamic model of the quadrotor UAV drone can be expressed as:
$$
\begin{aligned}
\dot{\phi} &= p + (q\sin\phi + r\cos\phi)\tan\theta \\
\dot{p} &= \frac{J_{yy} – J_{zz}}{J_{xx}} qr + \frac{u_1}{J_{xx}} \\
\dot{\theta} &= q\cos\phi – r\sin\phi \\
\dot{q} &= \frac{u_2}{J_{yy}} + \frac{J_{xx} – J_{zz}}{J_{yy}} pr \\
\dot{\psi} &= \frac{q\sin\phi + r\cos\phi}{\cos\theta} \\
\dot{r} &= \frac{u_3}{J_{zz}} + \frac{J_{xx} – J_{yy}}{J_{zz}} pq
\end{aligned}
$$
The control inputs are related to the motor speeds as follows:
$$
\begin{bmatrix} u_1 \\ u_2 \\ u_3 \end{bmatrix} = \begin{bmatrix} 0 & k_T l & 0 & -k_T l \\ -k_T l & 0 & k_T l & 0 \\ k_D & -k_D & k_D & -k_D \end{bmatrix} \begin{bmatrix} \omega_1^2 \\ \omega_2^2 \\ \omega_3^2 \\ \omega_4^2 \end{bmatrix}
$$
where \( \omega_i \) (i = 1, 2, 3, 4) are the rotor speeds, \( l \) is the arm length, \( k_T \) is the thrust coefficient, and \( k_D \) is the drag torque coefficient. The state vector for our system is defined as \( x = [\phi, p, \theta, q, \psi, r]^T \), and the output vector is \( y = [\phi, \theta, \psi]^T \).
The state-space representation of the system can be written compactly as:
$$
\begin{aligned}
\dot{x} &= f(x, u) \\
y &= Cx
\end{aligned}
$$
where \( C \) is a constant output matrix. The input constraints arising from motor speed limitations are given by:
$$
\begin{aligned}
k_T l (\omega_{\min}^2 – \omega_{\max}^2) &\leq u_1 \leq k_T l (\omega_{\max}^2 – \omega_{\min}^2) \\
k_T l (\omega_{\min}^2 – \omega_{\max}^2) &\leq u_2 \leq k_T l (\omega_{\max}^2 – \omega_{\min}^2) \\
k_D (2\omega_{\min}^2 – 2\omega_{\max}^2) &\leq u_3 \leq k_D (2\omega_{\max}^2 – 2\omega_{\min}^2)
\end{aligned}
$$
Table 1 summarizes the physical parameters of the quadrotor UAV drone used in our simulations.
| Parameter | Symbol | Value | Unit |
|---|---|---|---|
| Mass | \(m\) | 1.545 | kg |
| Arm length | \(l\) | 0.255 | m |
| Thrust coefficient | \(k_T\) | 5.84 × 10⁻⁶ | N/(rad·s⁻¹) |
| Drag coefficient | \(k_D\) | 1.168 × 10⁻⁷ | N/(rad·s⁻¹) |
| Roll inertia | \(J_{xx}\) | 0.029 | kg·m² |
| Pitch inertia | \(J_{yy}\) | 0.029 | kg·m² |
| Yaw inertia | \(J_{zz}\) | 0.055 | kg·m² |
| Minimum rotor speed | \(\omega_{\min}\) | 805 | rad/s |
| Maximum rotor speed | \(\omega_{\max}\) | 1100 | rad/s |
3. Takagi-Sugeno Fuzzy Modeling for UAV Drones
To effectively handle the nonlinear dynamics of quadrotor UAV drones while maintaining computational tractability, we employ the Takagi-Sugeno (T-S) fuzzy modeling approach. The T-S fuzzy model decomposes the nonlinear system into a set of local linear models, each valid in a specific region of the state space. The overall system behavior is then obtained through fuzzy interpolation using membership functions.
The T-S fuzzy rules for the quadrotor UAV drone are formulated as:
$$
\begin{aligned}
\text{Rule}^{(i)} &: \text{if } z_k \text{ is } \Gamma_i \\
&\begin{cases}
x_{k+1} = A_i x_k + B_i u_k + R_i \\
y_k = C x_k
\end{cases}
\end{aligned}
$$
where \( z_k \) is the premise variable, \( \Gamma_i \) represents the fuzzy set, and \( i = 1, 2, \ldots, N \) denotes the rule index. The matrices \( A_i \), \( B_i \), and \( R_i \) are obtained through linearization at selected operating points:
$$
\begin{aligned}
A_i &= I_{n \times n} + \bar{A}_i \cdot t \\
B_i &= \bar{B}_i \cdot t \\
R_i &= \bar{R}_i \cdot t
\end{aligned}
$$
with:
$$
\begin{aligned}
\bar{A}_i &= \left.\frac{\partial f}{\partial x}\right|_{(x_i, u_i)} \\
\bar{B}_i &= \left.\frac{\partial f}{\partial u}\right|_{(x_i, u_i)} \\
\bar{R}_i &= f(x_i, u_i) – (\bar{A}_i x_i + \bar{B}_i u_i)
\end{aligned}
$$
The global T-S fuzzy model is obtained through the weighted sum of local models:
$$
\begin{aligned}
x_{k+1} &= A_Z x_k + B_Z u_k + R_Z + G_Z d_k \\
y_k &= C x_k
\end{aligned}
$$
where:
$$
A_Z = \sum_{i=1}^{N} \mu_i(z_k) A_i,\quad B_Z = \sum_{i=1}^{N} \mu_i(z_k) B_i
$$
and \( \mu_i(z_k) \) represents the normalized membership function satisfying:
$$
\sum_{i=1}^{N} \mu_i(z_k) = 1,\quad \mu_i(z_k) \geq 0
$$
The membership functions are defined using Gaussian functions:
$$
\mu_i(z) = \frac{\omega_i(z)}{\sum_{i=1}^{N} \omega_i(z)},\quad \omega_i(z) = e^{-\frac{(z – \mu)^2}{2\sigma^2}}
$$
Table 2 lists the nine operating points selected to cover the attitude space of the UAV drone.
| Operating Point | Roll Angle (deg) | Pitch Angle (deg) | Yaw Angle (deg) |
|---|---|---|---|
| 1 | -45 | -45 | 0 |
| 2 | -45 | 0 | 0 |
| 3 | -45 | 45 | 0 |
| 4 | 0 | -45 | 0 |
| 5 | 0 | 0 | 0 |
| 6 | 0 | 45 | 0 |
| 7 | 45 | -45 | 0 |
| 8 | 45 | 0 | 0 |
| 9 | 45 | 45 | 0 |
The linearized matrices \( \bar{A}_i \) and \( \bar{B}_i \) at each operating point are derived from the Jacobian of the nonlinear dynamics. The structure of the system matrix is:
$$
\bar{A}_i = \begin{bmatrix}
t x_3(x_4 c_{x_1} – x_6 s_{x_1}) & 1 & (t^2 x_3 + 1)(x_6 c_{x_1} + x_4 s_{x_1}) & s_{x_1} t x_3 & 0 & c_{x_1} t x_3 \\
0 & 0 & 0 & a_1 x_6 & 0 & a_1 x_4 \\
-(x_6 c_{x_1} + x_4 s_{x_1}) & 0 & 0 & c_{x_1} & 0 & -s_{x_1} \\
0 & a_2 x_6 & 0 & 0 & 0 & a_2 x_2 \\
\frac{x_4 c_{x_1} – x_6 s_{x_1}}{c_{x_3}} & 0 & \frac{s_{x_3}(x_6 c_{x_1} + x_4 s_{x_1})}{c_{x_3}^2} & \frac{s_{x_1}}{c_{x_3}} & 0 & \frac{c_{x_1}}{c_{x_3}} \\
0 & a_3 x_4 & 0 & a_3 x_2 & 0 & 0
\end{bmatrix}
$$
where \( s \), \( c \), and \( t \) denote sine, cosine, and tangent functions respectively. The input matrix is:
$$
\bar{B}_i = \begin{bmatrix}
0 & 0 & 0 \\
b_1 & 0 & 0 \\
0 & 0 & 0 \\
0 & b_2 & 0 \\
0 & 0 & 0 \\
0 & 0 & b_3
\end{bmatrix}
$$
with \( a_1 = \frac{J_{yy} – J_{zz}}{J_{xx}} \), \( a_2 = \frac{J_{zz} – J_{xx}}{J_{yy}} \), \( a_3 = \frac{J_{xx} – J_{yy}}{J_{zz}} \), \( b_1 = \frac{1}{J_{xx}} \), \( b_2 = \frac{1}{J_{yy}} \), and \( b_3 = \frac{1}{J_{zz}} \).
4. Adaptive Fuzzy Model Predictive Control with Disturbance Observer
4.1 Model Predictive Control Framework
Based on the T-S fuzzy model, we develop a model predictive controller that optimizes the future behavior of the UAV drone over a finite prediction horizon. At each sampling instant, the controller solves a constrained optimization problem to determine the optimal control sequence. The prediction model is given by:
$$
\begin{aligned}
x(k+1) &= A x(k) + B u(k) \\
y(k) &= C x(k)
\end{aligned}
$$
The output predictions over the prediction horizon \( N_p \) and control horizon \( N_c \) can be expressed in compact matrix form as:
$$
Y = P \hat{x}(k) + H U
$$
where \( Y \) is the vector of predicted outputs, \( U \) is the vector of future control inputs, and \( P \) and \( H \) are matrices constructed from the system matrices. The cost function to be minimized is:
$$
J = Y^T Q Y + U^T W U
$$
Substituting the prediction equation into the cost function yields:
$$
J \triangleq 2U^T H^T Q P \hat{x}(k) + U^T (H^T Q H + W) U
$$
The input constraints, which are crucial for practical UAV drone operation, are incorporated into the optimization problem. The constraints on control inputs and their rates of change are expressed as:
$$
\begin{aligned}
&U = C_2 \dot{u}(k-1) + C_1 \Delta U \\
&\Delta U = [\Delta u^T(k), \Delta u^T(k+1), \ldots, \Delta u^T(k+N_c-1)]^T
\end{aligned}
$$
The constraints are reformulated as linear inequalities:
$$
\begin{aligned}
&-C C_1 U \leq -\Delta U_{\min} – C C_2 \dot{u}(k-1) \\
&C C_1 U \leq \Delta U_{\max} + C C_2 \dot{u}(k-1)
\end{aligned}
$$
These constraints are grouped into a unified form:
$$
\begin{bmatrix} C_u \\ C_{\Delta u} \end{bmatrix} U \leq \begin{bmatrix} d_u \\ d_{\Delta u} \end{bmatrix}
$$
The optimization problem for the MPC is thus formulated as:
$$
\begin{aligned}
\min J &\triangleq \frac{1}{2} U^T E U + U^T F \\
\text{s.t.} &\begin{bmatrix} C_u \\ C_{\Delta u} \end{bmatrix} U \leq \begin{bmatrix} d_u \\ d_{\Delta u} \end{bmatrix}
\end{aligned}
$$
where \( E = 2(H^T Q H + W) \) and \( F = 2H^T Q P \hat{x}(k) \).
4.2 Disturbance Observer Design
To enhance the robustness of the control system against external disturbances and model uncertainties, we design a discrete-time disturbance observer. The observer estimates the unknown disturbance term \( d_k \) that affects the UAV drone dynamics. The disturbance observer is formulated as:
$$
\begin{aligned}
\hat{d}_k &= K x_k – z_k \\
z_{k+1} &= z_k + K\{(A_Z – I)x_k + B_Z u_k + R_Z + G_Z \hat{d}_k\}
\end{aligned}
$$
where \( z \) is the observer internal state, and \( K \) is the observer gain matrix to be determined. The gain matrix is designed as:
$$
K = (I – \Lambda) G_Z^+
$$
where \( G_Z^+ \) is the generalized inverse of \( G_Z \), and \( \Lambda = \text{diag}(\lambda_1, \ldots, \lambda_m) \) with \( |\lambda_i| < 1 \). The disturbance compensation gain \( K_d \) is computed to satisfy:
$$
C(A_Z + B_Z)^{-1} B_Z K_d = -C(A_Z + B_Z)^{-1} G_Z
$$
The composite control input to the UAV drone is given by:
$$
u = u_c + u_d = u_c + K_d \hat{d}
$$
where \( u_c \) is the feedback control component from the MPC, and \( u_d \) is the feedforward disturbance compensation component.
4.3 Adaptive Prediction Horizon Strategy
To achieve an optimal balance between computational efficiency and control performance, we propose an adaptive strategy that dynamically adjusts the prediction horizon \( N_p \) based on the instantaneous tracking error. The tracking error at time step \( k \) is defined as:
$$
e(k) = \sqrt{(y_1 – r_1(k))^2 + (y_2 – r_2(k))^2 + (y_3 – r_3(k))^2}
$$
We set a threshold value of 0.01 for the tracking error. When the error exceeds this threshold, indicating a transient or disturbance event, we decrease the prediction horizon to improve computational speed:
$$
N_p \leftarrow \max(N_p – \alpha, 1)
$$
Conversely, when the error is below the threshold, indicating steady-state operation, we increase the prediction horizon to enhance control accuracy:
$$
N_p \leftarrow N_p + \alpha
$$
where \( \alpha \) is the step adjustment factor. Figure 1 illustrates the variation of tracking error with different fixed prediction horizons.
| Prediction Horizon \( N_p \) | Settling Time (s) | Steady-State RMSE (Roll) | Steady-State RMSE (Pitch) | Steady-State RMSE (Yaw) |
|---|---|---|---|---|
| 6 | 5.0 | 0.018 | 0.021 | 0.019 |
| 10 | 3.0 | 0.022 | 0.025 | 0.023 |
| 20 | 2.0 | 0.031 | 0.034 | 0.032 |
The results in Table 3 demonstrate that while a shorter prediction horizon leads to smaller steady-state errors, the convergence time increases. Our adaptive strategy automatically selects the appropriate horizon length based on the current operating condition, thereby achieving both fast transient response and high steady-state accuracy.
5. Stability Analysis
We now present the stability analysis of the proposed disturbance observer-based adaptive fuzzy model predictive control (DO-AFMPC) system using Lyapunov theory. Consider the closed-loop system with the disturbance observer. The state equation of the system is given by:
$$
x_{k+1} = A x_k + B u_k + d_k – \hat{d}_k
$$
where \( \hat{d}_k \) is the disturbance estimate provided by the observer. The control input is given by \( u_k = K x_k \). The disturbance estimation error is defined as \( e_{d,k} = d_k – \hat{d}_k \), and its dynamics can be expressed as:
$$
e_{d,k+1} = (1 – \alpha C B) e_{d,k} + (d_{k+1} – d_k)
$$
We assume that the disturbance variation is bounded: \( \|d_{k+1} – d_k\| \leq \bar{d} \). For the stability analysis, we select the Lyapunov function:
$$
V_k = x_k^T P x_k + \gamma e_{d,k}^T e_{d,k}
$$
where \( P > 0 \) is a symmetric positive definite matrix satisfying:
$$
(A + BK)^T P (A + BK) – P = -Q,\quad Q > 0
$$
and \( \gamma > 0 \) is a weighting coefficient for the disturbance error. The closed-loop system can be written as:
$$
x_{k+1} = (A + BK) x_k + BK e_{d,k}
$$
The Lyapunov function difference is:
$$
\begin{aligned}
\Delta V_k &= V_{k+1} – V_k \\
&= x_{k+1}^T P x_{k+1} – x_k^T P x_k + \gamma(e_{d,k+1}^T e_{d,k+1} – e_{d,k}^T e_{d,k})
\end{aligned}
$$
Substituting the closed-loop dynamics:
$$
\begin{aligned}
x_{k+1}^T P x_{k+1} – x_k^T P x_k &= x_k^T[(A+BK)^T P(A+BK) – P]x_k \\
&\quad + 2x_k^T(A+BK)^T P B K e_{d,k} \\
&\quad + e_{d,k}^T K^T B^T P B K e_{d,k}
\end{aligned}
$$
For the disturbance observer dynamics, we have:
$$
\|e_{d,k+1}\| \leq \|1 – \alpha C B\| \cdot \|e_{d,k}\| + \bar{d} \triangleq \rho \|e_{d,k}\| + \bar{d}
$$
where \( \rho = \|1 – \alpha C B\| < 1 \). This implies:
$$
\|e_{d,k+1}\|^2 \leq \rho^2 \|e_{d,k}\|^2 + 2\rho\bar{d}\|e_{d,k}\| + \bar{d}^2
$$
Combining the above expressions:
$$
\begin{aligned}
\Delta V_k &= x_k^T[(A+BK)^T P(A+BK) – P]x_k \\
&\quad + 2x_k^T(A+BK)^T P B K e_{d,k} \\
&\quad + \|K^T B^T P B K\| \cdot \|e_{d,k}\|^2 \\
&\quad + \gamma(\rho^2 – 1)\|e_{d,k}\|^2 + 2\gamma\rho\bar{d}\|e_{d,k}\|
\end{aligned}
$$
Using the property that \( x_k^T[(A+BK)^T P(A+BK) – P]x_k = -x_k^T Q x_k \leq -\lambda_{\min}(Q)\|x_k\|^2 \), and applying Young’s inequality:
$$
2x_k^T(A+BK)^T P B K e_{d,k} \leq \frac{1}{\eta}\|x_k\|^2 + \eta\|(A+BK)^T P B K\|^2 \|e_{d,k}\|^2
$$
where \( \eta > 0 \) is a tuning parameter. Substituting these bounds:
$$
\begin{aligned}
\Delta V_k &\leq -\lambda_{\min}(Q)\|x_k\|^2 + \frac{1}{\eta}\|x_k\|^2 \\
&\quad + [\eta\|(A+BK)^T P B K\|^2 + \|K^T B^T P B K\| + \gamma(\rho^2 – 1)]\|e_{d,k}\|^2 \\
&\quad + 2\gamma\rho\bar{d}\|e_{d,k}\|
\end{aligned}
$$
To ensure stability, we select \( \eta \) such that \( \lambda_{\min}(Q) > \frac{1}{\eta} \), and choose \( \gamma \) to satisfy:
$$
\eta\|(A+BK)^T P B K\|^2 + \|K^T B^T P B K\| + \gamma(\rho^2 – 1) \leq 0
$$
which gives the condition:
$$
\gamma \geq \frac{\eta\|(A+BK)^T P B K\|^2 + \|K^T B^T P B K\|}{1 – \rho^2}
$$
Since \( \bar{d} \) is bounded, when \( \|x_k\| \) and \( \|e_{d,k}\| \) are sufficiently large, the negative definite terms dominate. We can then show that:
$$
\Delta V_k \leq -(\lambda_{\min}(Q) – \frac{1}{\eta})\|x_k\|^2 + 2\gamma\rho\bar{d}\|e_{d,k}\|
$$
When \( \|x_k\| \) and \( \|e_{d,k}\| \) are sufficiently large, \( \Delta V_k \leq 0 \), proving that the system converges to a bounded set in finite time. This establishes practical stability of the closed-loop system under the proposed DO-AFMPC framework.
6. Simulation Results and Discussion
We conducted extensive simulations to evaluate the performance of the proposed DO-AFMPC method for quadrotor UAV drone attitude control. The simulations were performed using MATLAB/Simulink with the parameters listed in Table 1. The desired attitude trajectories for the UAV drone were defined as:
$$
\begin{aligned}
r_1(k) &= \cos(0.2 \cdot k – 0.1) \\
r_2(k) &= \sin(0.05 \cdot \pi \cdot k) \\
r_3(k) &= \cos(0.2 \cdot k – 0.1)
\end{aligned}
$$
The input constraints for the control system were set as:
$$
\begin{aligned}
u_{\min} &= [-1.182, -1.182, -0.131]^T \\
u_{\max} &= [1.182, 1.182, 0.131]^T \\
\dot{u}_{\min} &= [-0.709, -0.709, -0.709]^T \\
\dot{u}_{\max} &= [0.709, 0.709, 0.709]^T
\end{aligned}
$$
The weighting matrices were selected as \( W = \text{diag}(0.075, 0.075, 0.045) \) and \( \Lambda = \text{diag}(0.5, 0.5, 0.5) \). The control horizon was set to \( N_c = 3 \), and the sampling time was \( t = 0.2 \) s.
6.1 Trajectory Tracking Performance
We compared the tracking performance of four different controllers: PID, MPC, AFMPC (adaptive fuzzy MPC without disturbance observer), and the proposed DO-AFMPC. The results demonstrate that our proposed method achieves superior tracking accuracy across all three attitude channels.
| Controller | RMSE \( \phi \) (deg) | RMSE \( \theta \) (deg) | RMSE \( \psi \) (deg) |
|---|---|---|---|
| PID | 0.0599 | 0.0657 | 0.0775 |
| MPC | 0.0465 | 0.0413 | 0.0463 |
| AFMPC | 0.0322 | 0.0375 | 0.0391 |
| DO-AFMPC (Proposed) | 0.0251 | 0.0242 | 0.0332 |
As shown in Table 4, the proposed DO-AFMPC method achieves the lowest RMSE values across all attitude angles. Compared to the AFMPC controller, our method reduces the roll RMSE from 0.0322 to 0.0251, representing a 22% improvement. The improvement is even more pronounced when compared to the conventional PID controller, with a 58% reduction in roll RMSE.
6.2 Disturbance Rejection Capability
To evaluate the disturbance rejection capability of the proposed controller, we introduced sinusoidal disturbances with amplitude 0.1 and frequency 0.0318 Hz to all three attitude channels during hover flight. The disturbance signals simulate the effect of wind gusts and sensor noise that UAV drones typically encounter in real-world operations.
The results show that the DO-AFMPC method exhibits significantly smaller attitude angle fluctuations compared to the other controllers. The maximum deviation from the reference is substantially reduced, and the recovery time after disturbance is notably shorter. The disturbance observer effectively estimates the external disturbances and provides feedforward compensation, enabling the control system to maintain precise attitude control even under severe perturbations.
6.3 Robustness to Model Uncertainties
To test the robustness of the control system against parameter uncertainties, we introduced a ±10% deviation in the inertia parameters (\( J_{xx} \), \( J_{yy} \), and \( J_{zz} \)) from their nominal values. This scenario simulates the effect of payload changes or manufacturing tolerances that affect the dynamic characteristics of UAV drones.
| Controller | RMSE \( \phi \) (deg) | RMSE \( \theta \) (deg) | RMSE \( \psi \) (deg) |
|---|---|---|---|
| PID | 0.0712 | 0.0768 | 0.0891 |
| MPC | 0.0543 | 0.0498 | 0.0556 |
| AFMPC | 0.0398 | 0.0421 | 0.0467 |
| DO-AFMPC (Proposed) | 0.0289 | 0.0295 | 0.0368 |
Table 5 presents the RMSE values under model mismatch conditions. The proposed DO-AFMPC method maintains superior performance, with the RMSE values increasing only slightly compared to the nominal case. In contrast, the PID and conventional MPC controllers exhibit significant performance degradation. The adaptive T-S fuzzy model in our approach effectively handles the parameter variations by adjusting the local model weights, while the disturbance observer compensates for the resulting model mismatch.
6.4 Adaptive Prediction Horizon Performance
The adaptive prediction horizon strategy was evaluated by comparing the performance with fixed prediction horizons. The adaptive strategy dynamically adjusts \( N_p \) between 6 and 20 based on the instantaneous tracking error.
| Strategy | Average Settling Time (s) | Steady-State RMSE (deg) | Computational Time per Step (ms) |
|---|---|---|---|
| Fixed \( N_p = 6 \) | 5.0 | 0.019 | 12.3 |
| Fixed \( N_p = 10 \) | 3.0 | 0.023 | 18.7 |
| Fixed \( N_p = 20 \) | 2.0 | 0.032 | 32.1 |
| Adaptive (Proposed) | 2.5 | 0.022 | 15.4 |
As shown in Table 6, the adaptive strategy achieves a favorable compromise between settling time, steady-state accuracy, and computational cost. The average settling time of 2.5 s is close to that of the fixed \( N_p = 20 \) case, while the steady-state RMSE of 0.022 is comparable to the fixed \( N_p = 10 \) case. The computational time per step is significantly lower than the fixed \( N_p = 20 \) case, demonstrating the efficiency of the adaptive approach.
7. Conclusion
In this paper, we presented a comprehensive control framework for quadrotor UAV drones operating under complex environmental conditions. The proposed disturbance observer-based adaptive fuzzy model predictive control (DO-AFMPC) method effectively addresses the key challenges in UAV drone attitude control, including system nonlinearities, input constraints, external disturbances, and model uncertainties.
The T-S fuzzy modeling approach decomposes the nonlinear dynamics of quadrotor UAV drones into a set of local linear models, enabling computationally efficient predictive control while preserving the essential nonlinear characteristics. The disturbance observer provides real-time estimation and feedforward compensation of external disturbances, significantly enhancing the robustness of the control system. The adaptive prediction horizon strategy dynamically balances computational efficiency and control performance by adjusting the horizon length based on the instantaneous tracking error.
Lyapunov-based stability analysis rigorously proves that the closed-loop system under the proposed DO-AFMPC framework achieves practical stability, with all signals converging to a bounded set. Extensive simulation studies validated the effectiveness of our approach across multiple scenarios, including nominal tracking, disturbance rejection, and model mismatch conditions.
The simulation results demonstrate that DO-AFMPC outperforms conventional PID, MPC, and AFMPC controllers in terms of tracking accuracy, disturbance rejection, and robustness to parameter uncertainties. Under nominal conditions, the proposed method achieves a 22% reduction in roll RMSE compared to AFMPC and a 58% reduction compared to PID. Under model mismatch conditions with ±10% inertia parameter variations, DO-AFMPC maintains superior performance with minimal degradation.
Future work will focus on extending the proposed framework to address additional challenges in UAV drone operations, including collision avoidance, multi-UAV coordination, and energy-optimal trajectory planning. Experimental validation on real quadrotor platforms is also planned to further verify the practical applicability of the proposed control method.
