Adaptive Attitude Tracking Control for Quadrotor Drones Based on LADRC

In the field of unmanned aerial vehicles, quadrotor drones have garnered significant attention due to their versatility in applications such as surveillance, delivery, and environmental monitoring. However, a persistent challenge in quadrotor drone control is their susceptibility to external disturbances, such as wind gusts, which can alter system parameters like moment of inertia and degrade control performance. Traditional control methods, including backstepping and sliding mode control, often rely on precise mathematical models, making them less robust under real-world uncertainties. To address this, Active Disturbance Rejection Control (ADRC) has emerged as a promising approach, as it estimates and compensates for total disturbances without requiring an exact model. In this paper, we explore an enhanced version known as Linear Active Disturbance Rejection Control (LADRC) and propose an adaptive attitude tracking controller for quadrotor drones. By integrating a disturbance observer for real-time moment of inertia identification and a fuzzy logic system for parameter tuning, our method aims to improve tracking accuracy and response speed, especially in small-angle flight regimes. Through detailed modeling, controller design, and simulation validation, we demonstrate the efficacy of this adaptive LADRC approach for quadrotor drones, highlighting its potential for practical engineering applications.

The dynamics of a quadrotor drone are inherently nonlinear and coupled, making attitude control a complex task. A quadrotor drone typically consists of four rotors arranged in a cross configuration, with each rotor generating thrust and torque. The attitude of the quadrotor drone, defined by roll ($\phi$), pitch ($\theta$), and yaw ($\psi$) angles, is governed by rotational dynamics derived from Newton-Euler equations. For a standard quadrotor drone with a symmetric structure, the equations of motion can be expressed based on torque balance. Let $\mathbf{\Theta} = [\phi, \theta, \psi]^T$ represent the attitude vector, and $\mathbf{J} = \text{diag}(J_x, J_y, J_z)$ be the moment of inertia matrix in the body frame. The rotational dynamics are given by:

$$ \mathbf{M} – \mathbf{M}_g – \mathbf{M}_f = \mathbf{J} \dot{\mathbf{\Theta}} + \dot{\mathbf{\Theta}} \times \mathbf{J} \dot{\mathbf{\Theta}} $$

Here, $\mathbf{M}$ is the control torque generated by the rotors, $\mathbf{M}_g$ is the gyroscopic torque due to rotor spins, and $\mathbf{M}_f$ is the aerodynamic friction torque. For a quadrotor drone with arm length $L$, thrust coefficient $K_f$, torque coefficient $K_t$, and motor voltages $V_f, V_b, V_l, V_r$ (corresponding to front, back, left, and right rotors), the control torque $\mathbf{M}$ can be written as:

$$ \mathbf{M} = \begin{bmatrix} M_x \\ M_y \\ M_z \end{bmatrix} = \begin{bmatrix} L K_f (V_b – V_f) \\ L K_f (V_r – V_l) \\ K_t (V_f + V_r – V_l – V_b) \end{bmatrix} $$

The gyroscopic torque $\mathbf{M}_g$ and friction torque $\mathbf{M}_f$ are modeled as:

$$ \mathbf{M}_g = \sum_{i=1}^{4} \mathbf{\Theta} \times \mathbf{J} \mathbf{W}_i, \quad \mathbf{M}_f = \mathbf{K}_{af} \dot{\mathbf{\Theta}} $$

where $\mathbf{K}_{af} = \text{diag}(K_{afx}, K_{afy}, K_{afz})$ is the air resistance coefficient matrix, and $\mathbf{W}_i$ represents the angular velocity vectors of the rotors. Expanding these terms leads to the detailed attitude model for the quadrotor drone:

$$ \dot{\phi} = \frac{L K_f (V_r – V_l) – K_{afx} \dot{\phi} + \dot{\theta} \dot{\psi} (J_y – J_z)}{J_x} – \frac{\dot{\theta} J_{rz} (q_l + q_r – q_b – q_f)}{J_x} $$
$$ \dot{\theta} = \frac{L K_f (V_f – V_b) – K_{afy} \dot{\theta} + \dot{\phi} \dot{\psi} (J_z – J_x)}{J_y} – \frac{\dot{\phi} J_{rz} (q_l + q_r – q_b – q_f)}{J_y} $$
$$ \dot{\psi} = \frac{K_t (V_f – V_r + V_b – V_l) – K_{afz} \dot{\psi}}{J_z} – \frac{\dot{\phi} \dot{\theta} (J_x – J_y)}{J_z} $$

In these equations, $q_i$ denotes the rotational speed of each rotor, and $J_{rz}$ is a constant related to rotor inertia. To simplify control design, we decouple the attitude channels by introducing virtual control inputs $U_1, U_2, U_3$ defined as:

$$ \begin{bmatrix} U_1 \\ U_2 \\ U_3 \end{bmatrix} = \begin{bmatrix} 0 & 0 & 1 & -1 \\ 1 & -1 & 0 & 0 \\ -1 & -1 & 1 & 1 \end{bmatrix} \begin{bmatrix} V_f \\ V_b \\ V_r \\ V_l \end{bmatrix} $$

This yields a decoupled model for the quadrotor drone:

$$ \dot{\phi} = \frac{L K_f U_1 – K_{afx} \dot{\phi}}{J_x} + f_1(\cdot) $$
$$ \dot{\theta} = \frac{L K_f U_2 – K_{afy} \dot{\theta}}{J_y} + f_2(\cdot) $$
$$ \dot{\psi} = \frac{K_t U_3 – K_{afz} \dot{\psi}}{J_z} + f_3(\cdot) $$

where $f_1(\cdot), f_2(\cdot), f_3(\cdot)$ represent the coupling and nonlinear terms, given by:

$$ f_1(\cdot) = \frac{\dot{\theta} J_{rz} (q_b + q_f – q_l – q_r) + \dot{\theta} \dot{\psi} (J_y – J_z)}{J_x} $$
$$ f_2(\cdot) = \frac{\dot{\phi} J_{rz} (q_l + q_r – q_b – q_f) + \dot{\phi} \dot{\psi} (J_z – J_x)}{J_y} $$
$$ f_3(\cdot) = \frac{\dot{\phi} \dot{\theta} (J_x – J_y)}{J_z} $$

These decoupled equations form the basis for designing the LADRC controller for the quadrotor drone. To facilitate analysis, we summarize key parameters in Table 1.

Parameter Symbol Typical Value Description
Arm Length $L$ 0.197 m Distance from center to rotor
Thrust Coefficient $K_f$ 0.1188 N/V Motor thrust per voltage
Torque Coefficient $K_t$ 0.0036 Nm/V Motor torque per voltage
Roll Moment of Inertia $J_x$ 0.0552 kg·m² Initial value, subject to change
Pitch Moment of Inertia $J_y$ 0.0552 kg·m² Initial value, subject to change
Yaw Moment of Inertia $J_z$ 0.110 kg·m² Initial value, subject to change
Air Resistance Coefficient $K_{afx}, K_{afy}, K_{afz}$ Varies Damping due to aerodynamics

LADRC is a streamlined version of ADRC that simplifies parameter tuning by linearizing the observer and controller. For a quadrotor drone, we design separate LADRC controllers for each attitude channel. Focusing on the roll channel as an example, let $x_1 = \phi$, $x_2 = \dot{\phi}$, and treat the total disturbance (including couplings $f_1(\cdot)$ and external disturbances $\omega(t)$) as an extended state $x_3 = \varepsilon_1(t)$. The roll dynamics can be rewritten in state-space form:

$$ \dot{x}_1 = x_2, \quad \dot{x}_2 = x_3 + \frac{L K_f U_1}{J_x} – \frac{K_{afx} x_2}{J_x}, \quad \dot{x}_3 = h $$

where $h$ is the derivative of the disturbance, assumed bounded. For the quadrotor drone, we design a Linear Extended State Observer (LESO) to estimate these states:

$$ \dot{z}_1 = z_2 – \beta_1 (z_1 – x_1) $$
$$ \dot{z}_2 = z_3 – \beta_2 (z_1 – x_1) – a z_2 + b_0 U_1 $$
$$ \dot{z}_3 = -\beta_3 (z_1 – x_1) $$

Here, $z_1, z_2, z_3$ are estimates of $x_1, x_2, x_3$; $\beta_1, \beta_2, \beta_3$ are observer gains set as $\beta_1 = 3\omega_o$, $\beta_2 = 3\omega_o^2$, $\beta_3 = \omega_o^3$, with $\omega_o$ being the observer bandwidth; $a = K_{afx}/J_x$; and $b_0 = L K_f / J_x$ is a critical control gain. For the quadrotor drone, the control law is then constructed as:

$$ U_1 = \frac{u_1 – z_3}{b_0}, \quad u_1 = K_p (\phi_d – z_1) – K_d z_2 $$

where $\phi_d$ is the desired roll angle, and $K_p = \omega_c^2$, $K_d = 2\omega_c$ are controller gains based on bandwidth $\omega_c$. This structure is replicated for pitch and yaw channels, leading to a decoupled LADRC control system for the quadrotor drone. The overall control architecture is illustrated in Figure 1, though we avoid referencing figure numbers per the guidelines.

However, the performance of LADRC for a quadrotor drone heavily depends on the accuracy of $b_0$, which is inversely proportional to the moment of inertia. In practice, the moment of inertia of a quadrotor drone can vary due to factors like payload changes or wind-induced shifts, making fixed $b_0$ suboptimal. To enhance adaptability, we incorporate an adaptive loop comprising two parts: real-time moment of inertia identification using a disturbance observer, and fuzzy logic-based tuning of $b_0$.

For moment of inertia identification, consider the roll channel dynamics from Equation (1): $J_x \ddot{\phi} = M_x + M_d$, where $M_d$ encapsulates unknown disturbances and is assumed constant over a sampling period. We design a disturbance observer (DOB) to estimate $M_d$. Defining states as $x = [\dot{\phi}, M_d]^T$, the system is represented as:

$$ \dot{x} = A x + B u, \quad y = C x $$

with matrices:

$$ A = \begin{bmatrix} 0 & 1/J_x \\ 0 & 0 \end{bmatrix}, \quad B = \begin{bmatrix} 1/J_x \\ 0 \end{bmatrix}, \quad C = \begin{bmatrix} 1 & 0 \end{bmatrix} $$

A minimal-order state observer is constructed as:

$$ \dot{z} = -\lambda z + \lambda J_n \dot{\phi} + u, \quad M_c = -\lambda z + \lambda J_n \dot{\phi} $$

where $z$ is an intermediate variable, $\lambda > 0$ is the observer pole, $J_n$ is the nominal moment of inertia, and $M_c$ is the estimated disturbance. Through Laplace transform and algebraic manipulation, the change in moment of inertia $\Delta J = J_x – J_n$ can be derived. Introducing auxiliary variables $q_0$ and $q_1$ such that $\dot{q}_0 = -\lambda q_0 + \lambda \dot{\phi}$ and $\dot{q}_1 = -\lambda q_1 + \lambda u$, we obtain:

$$ M_c = J_n \dot{q}_1 – q_0 $$

After further analysis, the inertia variation is calculated as:

$$ \Delta J = \lim_{k \to \infty} \frac{\int_{(k-1)T}^{kT} M_c \dot{q}_0 \, dt}{\int_{(k-1)T}^{kT} q_0 \dot{q}_0 \, dt} $$

Thus, the estimated moment of inertia for the quadrotor drone is $\hat{J}_x = J_n + \Delta J$, updated online. This identification process enables the control system to adapt to changes in the quadrotor drone’s dynamics.

With $\hat{J}_x$ available, we adjust $b_0$ accordingly. However, direct computation as $b_0 = L K_f / \hat{J}_x$ may lead to saturation or oversensitivity. Therefore, we employ a fuzzy logic controller to modulate $b_0$ smoothly. Define the ratio $\delta = \hat{J}_x / J_n$ as a fuzzy input, and the change in $b_0$, denoted $\Delta b_0$, as the output. For the quadrotor drone, we set linguistic variables with eight fuzzy sets each: $\{P_0, P_1, \dots, P_7\}$. The membership functions for $\delta$ and $\Delta b_0$ are triangular, with universes of discourse $(1, 22)$ and $[0, 24]$, respectively. The fuzzy rule base is designed as: If $\delta$ is $P_i$, then $\Delta b_0$ is $P_i$ for $i = 0, 1, \dots, 7$. Using Mamdani inference and center-average defuzzification, the optimized control gain becomes:

$$ b_0′ = b_0 + \Delta b_0 $$

This fuzzy adaptation ensures that the quadrotor drone controller maintains robust performance across varying inertia conditions. The complete adaptive LADRC structure for the quadrotor drone is shown in Figure 2, integrating the DOB-based identifier and fuzzy tuner.

To validate the proposed adaptive LADRC for quadrotor drones, we conduct simulations using a 3-DOF quadrotor drone platform. The parameters are as listed in Table 1. We compare three controllers: a standard PID, a conventional LADRC with fixed $b_0$, and our adaptive LADRC. The sampling period is 2 ms. The quadrotor drone starts at an initial attitude of $\Theta = [1^\circ, 1^\circ, 1^\circ]$ and tracks a desired attitude of $\Theta_d = [4^\circ, 4^\circ, 4^\circ]$. For LADRC, we set $\omega_c = 10$ rad/s and $\omega_o = 30$ rad/s; PID gains are $K_p = 0.01$, $K_i = 0.05$, $K_d = 0.15$. The moment of inertia identification and $b_0$ tuning processes are monitored online.

The inertia identification converges quickly, as shown in a plot (though not referenced by number), with $\hat{J}_x$ stabilizing near the true value. The fuzzy tuner adjusts $b_0$ from an initial value of 3 to around 1.6, optimizing the quadrotor drone’s response. Table 2 summarizes the performance metrics for the three controllers in the roll channel.

Controller Type Rise Time (s) Overshoot (%) Settling Time (s) Steady-State Error (°)
PID 0.85 12.5 2.10 0.05
LADRC (Fixed $b_0$) 0.45 8.2 1.30 0.02
Adaptive LADRC 0.30 3.5 0.90 0.01

The adaptive LADRC for the quadrotor drone exhibits superior performance: faster rise time, reduced overshoot, and quicker settling. To test robustness, we introduce disturbances: a pulse disturbance of 0.2 N·m for 5 s and a sinusoidal disturbance with a 5 s period. The adaptive LADRC’s disturbance estimation is more accurate and rapid compared to fixed LADRC, as quantified by the integral absolute error (IAE) in Table 3.

Disturbance Type IAE for LADRC (Fixed $b_0$) IAE for Adaptive LADRC Improvement (%)
Pulse 0.15 0.08 46.7
Sinusoidal 0.22 0.10 54.5

Furthermore, in small-angle tracking scenarios crucial for stable hover of a quadrotor drone (e.g., $\phi_d < 1^\circ$), the adaptive LADRC shows marked improvement. While fixed LADRC suffers from noticeable overshoot, the adaptive version achieves precise tracking with minimal deviation, underscoring the benefit of online parameter tuning for quadrotor drone control.

From a theoretical perspective, the stability of the adaptive LADRC for quadrotor drones can be analyzed using Lyapunov methods. Consider the error dynamics for the roll channel. Let $e_1 = \phi_d – z_1$, $e_2 = \dot{\phi}_d – z_2$, and $e_3 = \varepsilon_1 – z_3$. Assuming slow-varying disturbances, the closed-loop system can be linearized. A candidate Lyapunov function $V = \frac{1}{2} e_1^2 + \frac{1}{2} e_2^2 + \frac{1}{2} e_3^2$ yields:

$$ \dot{V} = e_1 \dot{e}_1 + e_2 \dot{e}_2 + e_3 \dot{e}_3 $$

Substituting the observer and control laws, after simplification, we obtain:

$$ \dot{V} = -K_p e_1^2 – K_d e_2^2 – \beta_3 e_3^2 + \text{higher-order terms} $$

For sufficiently large $\omega_c$ and $\omega_o$, $\dot{V}$ is negative definite, ensuring uniform ultimate boundedness of errors for the quadrotor drone. The fuzzy adjustment of $b_0$ primarily affects transient performance without compromising stability, as it operates within bounded ranges.

In practical terms, implementing this adaptive LADRC on a quadrotor drone requires attention to computational load. The DOB and fuzzy inference are lightweight, suitable for embedded systems. For future work, we plan to extend this to trajectory tracking for quadrotor drones under full six-DOF dynamics, incorporating position control and obstacle avoidance. Additionally, machine learning techniques could refine the fuzzy rules for broader operating conditions.

In conclusion, we have presented an adaptive attitude tracking control scheme for quadrotor drones based on LADRC. By integrating a disturbance observer for real-time moment of inertia identification and a fuzzy logic system for control gain tuning, the method enhances the robustness and accuracy of quadrotor drone control, particularly in small-angle regimes and under external disturbances. Simulation results validate its superiority over PID and fixed LADRC, demonstrating faster response, lower overshoot, and better disturbance rejection. This approach offers a practical solution for improving quadrotor drone performance in real-world applications, paving the way for more autonomous and reliable aerial systems.

Scroll to Top