In recent years, the rapid advancement of electronic components, sensors, and wireless technologies has propelled unmanned aerial vehicles (UAVs) into the spotlight of research and development. Among these, the quadcopter has gained significant attention due to its capabilities for vertical take-off and landing, hovering, high maneuverability, and operational flexibility. Quadcopters are now widely employed in military rescue operations, fire scene inspections, traffic management, and various other fields. However, during flight, a quadcopter is susceptible to external disturbances such as magnetic interference, aerodynamic effects, and environmental factors, which can lead to instability, jitter, and non-convergent simulation results. To address these challenges, we propose a cascade Linear Active Disturbance Rejection Control (LADRC) combined with a Linear Extended State Observer (LESO) sliding mode control method. This approach aims to enhance the stability and anti-disturbance capabilities of quadcopters, ensuring reliable performance under adverse conditions.
Existing control strategies for quadcopters include PID control optimized with genetic algorithms, cascade LADRC, double-loop sliding mode control, backstepping methods, fuzzy PID, and neural network-based approaches. While these methods offer certain advantages, they often struggle with robustness against sudden disturbances or exhibit significant chattering in simulations. Our method integrates LADRC for position control and an LESO-based sliding mode controller for attitude control, leveraging the strengths of both techniques to minimize tracking errors and suppress disturbances effectively. This paper details the mathematical modeling of the quadcopter, controller design, simulation results, and comparative analysis with traditional ADRC and PD controllers, demonstrating the superior performance of our approach.

The dynamics of a quadcopter are derived from Newton’s second law and momentum theory, considering the rigid body model with six degrees of freedom. We define two coordinate systems: the body frame and the inertial frame. The rotation matrices for roll ($\phi$), pitch ($\theta$), and yaw ($\psi$) angles are given by:
$$ R_x(\phi) = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos\phi & \sin\phi \\ 0 & -\sin\phi & \cos\phi \end{bmatrix} $$
$$ R_y(\theta) = \begin{bmatrix} \cos\theta & 0 & -\sin\theta \\ 0 & 1 & 0 \\ \sin\theta & 0 & \cos\theta \end{bmatrix} $$
$$ R_z(\psi) = \begin{bmatrix} \cos\psi & \sin\psi & 0 \\ -\sin\psi & \cos\psi & 0 \\ 0 & 0 & 1 \end{bmatrix} $$
The overall rotation matrix from the body frame to the inertial frame is:
$$ R = R_z(\psi) R_y(\theta) R_x(\phi) = \begin{bmatrix} \cos\theta \cos\psi & \sin\phi \sin\theta \cos\psi – \cos\phi \sin\psi & \cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi \\ \cos\theta \sin\psi & \sin\phi \sin\theta \sin\psi + \cos\phi \cos\psi & \cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi \\ -\sin\theta & \sin\phi \cos\theta & \cos\phi \cos\theta \end{bmatrix} $$
Using Newton’s second law, the translational dynamics are expressed as:
$$ m \ddot{X} = \sum F – mg + f + d $$
where $m$ is the mass of the quadcopter, $\ddot{X}$ is the acceleration vector, $\sum F$ is the total thrust from rotors, $g$ is gravity, $f$ represents air resistance, and $d$ denotes external disturbances. The rotational dynamics follow from the momentum theorem:
$$ I \dot{\omega} + \omega \times I \omega = M $$
Here, $I$ is the inertia matrix, $\omega = [p, q, r]^T$ is the angular velocity vector, and $M$ is the total moment. The inertia matrix is diagonal for symmetric quadcopters:
$$ I = \begin{bmatrix} I_{xx} & 0 & 0 \\ 0 & I_{yy} & 0 \\ 0 & 0 & I_{zz} \end{bmatrix} $$
The control inputs are defined as:
$$ u_1 = b (\omega_1^2 + \omega_2^2 + \omega_3^2 + \omega_4^2) $$
$$ u_2 = b l (\omega_4^2 – \omega_2^2) $$
$$ u_3 = b l (\omega_3^2 – \omega_1^2) $$
$$ u_4 = d (\omega_1^2 – \omega_2^2 + \omega_3^2 – \omega_4^2) $$
where $b$ is the thrust coefficient, $d$ is the drag coefficient, $l$ is the arm length, and $\omega_i$ are rotor speeds. The complete nonlinear dynamics model of the quadcopter is:
$$ \ddot{x} = \frac{1}{m} [u_1 (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi) – k_x \dot{x} + d_x] $$
$$ \ddot{y} = \frac{1}{m} [u_1 (\cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi) – k_y \dot{y} + d_y] $$
$$ \ddot{z} = \frac{1}{m} [u_1 \cos\phi \cos\theta – mg – k_z \dot{z} + d_z] $$
$$ \ddot{\phi} = \frac{1}{I_{xx}} [u_2 + (I_{yy} – I_{zz}) \dot{\theta} \dot{\psi} – k_{\phi} \dot{\phi} + d_{\phi}] $$
$$ \ddot{\theta} = \frac{1}{I_{yy}} [u_3 + (I_{zz} – I_{xx}) \dot{\phi} \dot{\psi} – k_{\theta} \dot{\theta} + d_{\theta}] $$
$$ \ddot{\psi} = \frac{1}{I_{zz}} [u_4 + (I_{xx} – I_{yy}) \dot{\phi} \dot{\theta} – k_{\psi} \dot{\psi} + d_{\psi}] $$
Here, $k$ terms represent damping coefficients, and $d$ terms account for disturbances. This model forms the basis for controller design, focusing on position and attitude control loops.
For position control, we employ a cascade structure with LADRC in the X-channel and PID controllers in the Y and Z channels. LADRC combines a linear extended state observer (LESO) with a PD controller to estimate and compensate for disturbances in real-time. The LESO for a second-order system is designed as:
$$ \dot{z}_1 = z_2 + \beta_1 (y – z_1) $$
$$ \dot{z}_2 = z_3 + \beta_2 (y – z_1) + b u $$
$$ \dot{z}_3 = \beta_3 (y – z_1) $$
where $z_1$, $z_2$, and $z_3$ estimate the system state, its derivative, and the total disturbance, respectively; $\beta_i$ are observer gains tuned based on bandwidth; and $b$ is a control parameter. The control law is:
$$ u = \frac{k_p (r – z_1) – k_d z_2 – z_3}{b} $$
This simplifies parameter tuning and enhances disturbance rejection. In the attitude controller, we integrate LESO with sliding mode control (SMC) to handle nonlinearities and uncertainties. Define the tracking error as $e = x_d – x$, where $x_d$ is the desired attitude angle. The sliding surface is:
$$ s = c e + \dot{e} $$
with $c > 0$. The control law based on LESO-SMC is:
$$ u = \frac{1}{b} \left[ -k_g s – \hat{v} + \hat{f} \right] $$
where $\hat{v}$ and $\hat{f}$ are estimates from LESO, and $k_g$ is a sliding mode gain. To ensure stability, consider the Lyapunov function:
$$ V_s = \frac{1}{2} s^2 $$
Its derivative is:
$$ \dot{V}_s = s \dot{s} = s (c \dot{e} + \ddot{e}) = s \left( c \dot{e} + b u + f – \ddot{x}_d \right) $$
Substituting the control law and assuming estimation errors $\tilde{f} = f – \hat{f}$ and $\tilde{v} = v – \hat{v}$, we get:
$$ \dot{V}_s = s \left( -k_g s + \tilde{v} + \tilde{f} \right) \leq -k_g s^2 + |s| (|\tilde{v}| + |\tilde{f}|) $$
If the observer converges, $\tilde{v}$ and $\tilde{f}$ are bounded, and for $k_g > \frac{1}{2} \Delta$ with $\Delta$ as the bound, $\dot{V}_s$ is negative definite, ensuring stability. The combined Lyapunov function $V = V_s + V_o$ (with $V_o$ for observer error) guarantees overall system convergence under sufficient gain conditions.
We conducted simulations in MATLAB/Simulink to validate the proposed method. The quadcopter parameters are listed in Table 1.
| Parameter | Value | Unit |
|---|---|---|
| Mass | 0.65 | kg |
| Gravity | 9.8 | m/s² |
| $I_{xx}$ | 7.5e-3 | kg·m² |
| $I_{yy}$ | 7.5e-3 | kg·m² |
| $I_{zz}$ | 1.3e-2 | kg·m² |
| Arm Length | 0.23 | m |
| Thrust Coefficient | 3.1e-5 | N/(rad/s)² |
| Drag Coefficient | 7.5e-7 | N·m/(rad/s)² |
The initial conditions were set to position (1 m, 1 m, 2 m) and attitude (0 rad, 0 rad, 0 rad), with a simulation time of 20 seconds. The position tracking results show that the X and Y coordinates stabilize within 3 seconds, while the Z coordinate stabilizes in 6 seconds with an overshoot of 1.25 m. Attitude angles $\phi$ and $\theta$ stabilize in 3 seconds with 0.1 rad overshoot, and $\psi$ stabilizes in 1 second with 0.4 rad overshoot. The LESO effectively estimates disturbances, keeping tracking errors near zero under normal conditions.
To test anti-disturbance performance, we introduced small disturbances in the attitude loop. Comparative results with PD and ADRC controllers are summarized in Table 2.
| Controller | Rise Time (s) | Overshoot (rad) | Disturbance Rejection |
|---|---|---|---|
| PD | 4.5 | 0.25 | Moderate |
| ADRC | 3.2 | 0.15 | Good |
| Proposed | 2.8 | 0.10 | Excellent |
The proposed LADRC-LESO sliding mode controller achieves faster response and lower overshoot, with superior disturbance rejection. For instance, under disturbances, $\phi$ and $\theta$ angles deviate briefly but recover within 4 seconds, while $\psi$ recovers almost instantly. The control gains were tuned as $k_g = 5$ for sliding mode and observer bandwidths of 10 rad/s for LESO. The quadcopter trajectory tracking remains smooth even with external perturbations, demonstrating the robustness of our method.
Further analysis involves the error dynamics and convergence properties. The position error $e_p = p_d – p$ and attitude error $e_a = a_d – a$ are minimized through the controllers. The overall system stability is ensured by the combined Lyapunov analysis, where the observer and controller gains are selected to satisfy:
$$ k_g > \frac{1}{2} \Delta^2 $$
$$ \beta_1 = 3 \omega_o, \quad \beta_2 = 3 \omega_o^2, \quad \beta_3 = \omega_o^3 $$
with $\omega_o$ as the observer bandwidth. This tuning facilitates rapid disturbance estimation and compensation. Simulation plots (not referenced directly) illustrate the quadcopter’s path following and attitude stabilization, highlighting the method’s effectiveness in real-time applications.
In conclusion, the cascade LADRC-LESO sliding mode control method significantly enhances the stability and anti-disturbance performance of quadcopters. By integrating LADRC for position control and LESO-based SMC for attitude control, we achieve precise tracking and robustness against external disturbances. Comparative simulations with PD and ADRC controllers confirm the superiority of our approach in terms of faster convergence, reduced chattering, and improved disturbance rejection. Future work will focus on experimental validation and adaptation to varying operational conditions for broader quadcopter applications.
