In recent years, quadrotor unmanned aerial vehicles (UAVs) have gained significant attention due to their versatility in applications such as surveillance, mapping, and communication. However, the quadrotor system is inherently nonlinear, strongly coupled, underactuated, and sensitive to external disturbances, posing challenges for precise control. Traditional PID controllers often fall short in handling these complexities, leading to the exploration of advanced nonlinear control strategies. This paper addresses these issues by proposing a Backstepping Sliding Mode Control Active Disturbance Rejection Control (BSMC-ADRC) approach for attitude stabilization and trajectory tracking of quadrotor UAVs. The BSMC-ADRC combines the robustness of sliding mode control, the systematic design of backstepping, and the disturbance estimation capabilities of ADRC to enhance performance under model uncertainties and external perturbations.
The quadrotor dynamics are derived from Newton-Euler equations, considering the rigid body assumptions and symmetry. The system has six degrees of freedom: three positional coordinates (x, y, z) and three Euler angles (φ, θ, ψ). The dynamic model is represented by the following equations:
$$ \begin{align*}
\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} &= \frac{l U_2}{I_x} + \frac{I_y – I_z}{I_x} \dot{\theta} \dot{\psi} \\
\ddot{\theta} &= \frac{l U_3}{I_y} + \frac{I_z – I_x}{I_y} \dot{\phi} \dot{\psi} \\
\ddot{\psi} &= \frac{l U_4}{I_z} + \frac{I_x – I_y}{I_z} \dot{\phi} \dot{\theta}
\end{align*} $$
where \( U_1, U_2, U_3, U_4 \) are the control inputs, \( m \) is the mass, \( l \) is the arm length, \( g \) is gravity, and \( I_x, I_y, I_z \) are moments of inertia. To simplify control design, virtual control inputs \( U_x, U_y, U_z \) are introduced, transforming the underactuated system into a fully actuated one:
$$ \begin{align*}
U_x &= \frac{U_1}{m} (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi) \\
U_y &= \frac{U_1}{m} (\cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi) \\
U_z &= \frac{U_1}{m} \cos\phi \cos\theta
\end{align*} $$
The desired roll and pitch angles are derived from these virtual inputs to facilitate decoupled control.

The BSMC-ADRC controller for the quadrotor attitude loop consists of a Tracking Differentiator (TD), an Extended State Observer (ESO), and a Backstepping Sliding Mode Controller (BSMC). The TD smooths the reference signal and provides its derivative, while the ESO estimates total disturbances, including model uncertainties and external effects. The BSMC integrates backstepping for systematic stability and sliding mode for robustness. For the roll channel, the system is expressed as:
$$ \begin{align*}
\dot{x}_1 &= x_2 \\
\dot{x}_2 &= f_4(\cdot) + b_4 U_2
\end{align*} $$
where \( x_1 = \phi \), \( x_2 = \dot{\phi} \), and \( f_4(\cdot) \) represents the lumped disturbances. The ESO expands the state to include disturbance estimation:
$$ \begin{align*}
\dot{z}_1 &= z_2 – \beta_1 e_\phi \\
\dot{z}_2 &= z_3 – \beta_2 \text{fal}(e_\phi, 0.5, \delta) + b_4 U_2 \\
\dot{z}_3 &= -\beta_3 \text{fal}(e_\phi, 0.25, \delta)
\end{align*} $$
with \( e_\phi = z_1 – y \), and the fal function defined as:
$$ \text{fal}(x, \alpha, \delta) = \begin{cases}
x \delta^{\alpha-1}, & |x| \leq \delta \\
|x|^\alpha \text{sign}(x), & |x| > \delta
\end{cases} $$
The BSMC control law for the roll channel is derived using Lyapunov stability analysis:
$$ U_2 = \frac{1}{b_4} \left[ -c_1 e_1 – c_1 e_2 + k_1 s_1 + k_2 |s_1|^{\zeta_1} \text{sign}(s_1) + k_3 |s_1|^{\zeta_2} \text{sign}(s_1) – z_3 + \dot{v}_1 \right] $$
where \( e_1 = v_1 – x_1 \), \( e_2 = \alpha_1 – x_2 \), \( \alpha_1 = c_1 e_1 + \dot{v}_1 \), and \( s_1 = e_2 \). The parameters \( c_1, k_1, k_2, k_3, \zeta_1, \zeta_2 \) are tuned for performance. Similar controllers are designed for pitch and yaw channels.
For position control, a BSMC approach is adopted to track desired trajectories. The x-channel dynamics are:
$$ \begin{align*}
\dot{x}_1 &= x_2 \\
\dot{x}_2 &= U_x
\end{align*} $$
The control law for \( U_x \) is:
$$ U_x = -c_{1x} e_{1x} – c_{1x} e_{2x} + k_{1x} s_{1x} + k_{2x} |s_{1x}|^{\zeta_{1x}} \text{sign}(s_{1x}) + k_{3x} |s_{1x}|^{\zeta_{2x}} \text{sign}(s_{1x}) + \ddot{x}_d $$
with \( e_{1x} = x_d – x_1 \), \( e_{2x} = \alpha_{1x} – x_2 \), \( \alpha_{1x} = c_{1x} e_{1x} + \dot{x}_d \), and \( s_{1x} = e_{2x} \). The y-channel controller is analogous. The height channel uses BSMC-ADRC similar to the attitude loops.
Simulations are conducted in MATLAB/Simulink to validate the proposed control scheme. The quadrotor parameters are listed in Table 1.
| Parameter | Value |
|---|---|
| Mass \( m \) | 0.9 kg |
| Gravity \( g \) | 9.8 m/s² |
| Arm Length \( l \) | 0.175 m |
| Moment of Inertia \( I_x \) | 8.276e-3 kg·m² |
| Moment of Inertia \( I_y \) | 8.276e-3 kg·m² |
| Moment of Inertia \( I_z \) | 1.612e-2 kg·m² |
Attitude stabilization tests show that BSMC-ADRC achieves faster response and lower overshoot compared to ADRC, Backstepping, and IBS-ADRC. For a step input, the settling times are summarized in Table 2.
| Controller | Roll (s) | Pitch (s) | Yaw (s) |
|---|---|---|---|
| ADRC | 0.55 | 0.60 | 0.50 |
| Backstepping | 0.30 | 0.30 | 0.35 |
| IBS-ADRC | 0.20 | 0.25 | 0.16 |
| BSMC-ADRC | 0.06 | 0.08 | 0.04 |
Disturbance rejection tests involve applying sinusoidal and pulse disturbances to the attitude loops. BSMC-ADRC maintains stability with minimal deviation, as shown in Table 3 for sinusoidal disturbance amplitudes.
| Controller | Max Deviation (rad) |
|---|---|
| Backstepping | ±0.03 |
| ADRC | ±0.015 |
| IBS-ADRC | ±0.008 |
| BSMC-ADRC | ±0.002 |
Trajectory tracking simulations demonstrate the effectiveness of BSMC for position control. The quadrotor follows a rectangular path in the x-y plane at constant height, with BSMC-ADRC achieving rapid convergence and low tracking error. Under white noise disturbances, the root mean square errors for position tracking are given in Table 4.
| Controller | x-channel RMSE | y-channel RMSE |
|---|---|---|
| Backstepping | 0.000535 | 0.000367 |
| BSMC | 0.0000749 | 0.0000749 |
In conclusion, the BSMC-ADRC controller for quadrotor UAVs offers superior performance in terms of response speed, accuracy, and disturbance rejection. The integration of backstepping, sliding mode, and active disturbance rejection principles ensures robust attitude control and precise trajectory tracking, making it suitable for real-world applications where model uncertainties and external disturbances are prevalent. Future work will focus on experimental validation and optimization for various flight conditions.
