In recent years, the rapid advancement of unmanned aerial vehicle (UAV) technology has positioned quadcopters as pivotal platforms in various fields such as mapping, communication, industrial inspection, and defense due to their operational simplicity, reliability, low cost, and high maneuverability. However, the control system of a quadcopter must address significant nonlinearities and multiple disturbances, which pose challenges for traditional control strategies. Although PID control is widely used in industrial applications, its performance in handling external disturbances is limited, often failing to meet the high-precision requirements of quadcopter systems. To overcome these limitations, we propose a novel attitude control strategy that integrates Active Disturbance Rejection Control (ADRC) with global integral Sliding Mode Control (SMC). This approach enhances disturbance estimation and compensation through an improved Extended State Observer (ESO) and incorporates a global integral sliding mode surface to improve robustness and response speed. The designed controller demonstrates strong anti-interference capabilities and fast convergence in simulations under various operating conditions.

The dynamics of a quadcopter are highly nonlinear and coupled, making precise control challenging. We begin by deriving the mathematical model using Newton-Euler equations, neglecting gyroscopic moments and aerodynamic friction for simplification. The nonlinear model is expressed as:
$$ \begin{cases} \ddot{z} = g – \frac{f}{m} \cos \phi \cos \theta \\ \ddot{\phi} = \frac{I_y – I_z}{I_x} \dot{\theta} \dot{\psi} + \frac{\tau_x}{I_x} \\ \ddot{\theta} = \frac{I_z – I_x}{I_y} \dot{\phi} \dot{\psi} + \frac{\tau_y}{I_y} \\ \ddot{\psi} = \frac{I_x – I_y}{I_z} \dot{\phi} \dot{\theta} + \frac{\tau_z}{I_z} \end{cases} $$
where \( m \) is the mass, \( g \) is gravitational acceleration, \( z \) is the vertical position, \( \phi, \theta, \psi \) are the roll, pitch, and yaw angles, respectively, \( I_x, I_y, I_z \) are the moments of inertia, and \( \tau_x, \tau_y, \tau_z \) are the control moments generated by the rotors. The total thrust \( f \) is a function of the rotor speeds. To decouple the control channels, we define virtual control inputs as:
$$ \begin{cases} U_1 = f \\ U_2 = \tau_x \\ U_3 = \tau_y \\ U_4 = \tau_z \end{cases} $$
This decoupling simplifies the controller design by treating each attitude channel independently. Our focus is on the roll, pitch, and yaw channels, where we apply the proposed SMC-ADRC strategy. The quadcopter’s attitude control must handle internal uncertainties, such as model inaccuracies, and external disturbances, like wind gusts. Traditional ADRC, while effective in disturbance rejection, suffers from limitations in the ESO’s performance due to the non-smooth nature of the fal function. We address this by designing a tfal function to replace fal, enhancing the ESO’s estimation capabilities. Furthermore, we integrate SMC into the ADRC framework to improve response speed and robustness, using a global integral sliding mode surface to eliminate steady-state error and ensure robustness throughout the system response.
The ADRC structure comprises three main components: Tracking Differentiator (TD), Extended State Observer (ESO), and Nonlinear State Error Feedback (NLSEF). For the roll channel, as an example, the dynamics with disturbances can be expressed as:
$$ \ddot{\phi} = b_0 U_2 + f_1 $$
where \( b_0 \) is an adjustable gain and \( f_1 \) represents the total disturbance, including internal couplings and external effects. The TD generates smooth reference signals and their derivatives, reducing noise amplification. The discrete form of a second-order TD is:
$$ \begin{cases} v_1(k+1) = v_1(k) + h v_2(k) \\ v_2(k+1) = v_2(k) + h \cdot \text{fhan}(v_1(k) – v_{\text{ref}}(k), v_2(k), r_0, h_0) \end{cases} $$
Here, \( v_1 \) and \( v_2 \) are the tracked signal and its derivative, \( h \) is the sampling period, \( v_{\text{ref}} \) is the desired roll angle, and \( \text{fhan} \) is the optimal control synthesis function. The ESO expands the system state to include the disturbance, estimating it in real-time. The traditional ESO uses the fal function, defined as:
$$ \text{fal}(x, \alpha, \delta) = \begin{cases} \frac{x}{\delta^{1-\alpha}}, & |x| \leq \delta \\ \text{sign}(x) |x|^\alpha, & |x| > \delta \end{cases} $$
However, this function is non-smooth near the origin, causing chattering. We propose the tfal function, based on the hyperbolic tangent, to achieve smoothness and saturation:
$$ \text{tfal}(x, a, k) = a \cdot \frac{e^{x/k} – e^{-x/k}}{e^{x/k} + e^{-x/k}} $$
where \( a \) and \( k \) adjust the amplitude and rate of change. This function is odd, bounded, and smooth, improving ESO performance. The modified ESO for the roll channel is:
$$ \begin{cases} e = z_1 – y \\ \dot{z}_1 = z_2 – \beta_{01} \cdot \text{tfal}(e, a_1, k) \\ \dot{z}_2 = z_3 – \beta_{02} \cdot \text{tfal}(e, a_2, k) + b_0 U_2 \\ \dot{z}_3 = – \beta_{03} \cdot \text{tfal}(e, a_3, k) \end{cases} $$
Here, \( z_1, z_2, z_3 \) are the observed states, \( \beta_{01}, \beta_{02}, \beta_{03} \) are observer gains, and \( y \) is the system output. The convergence condition for the improved ESO is derived using Lyapunov theory, ensuring stability when the gains satisfy \( \beta_{01} \beta_{02} \beta_{03} > \frac{a_1 a_2}{k^2} \).
The NLSEF combines the error signals nonlinearly to compute the control input. Traditionally, it uses fal functions, but we integrate SMC to enhance performance. The global integral sliding mode surface is designed as:
$$ S = e + K_p \int e \, d\tau + K_i \int e \, d\tau – (e(0) + K_p e(0)) e^{-t} $$
where \( e \) is the tracking error, \( K_p \) and \( K_i \) are controller parameters. This surface ensures robustness from the initial time, eliminating the reaching phase. The derivative of the sliding surface is:
$$ \dot{S} = \dot{e} + K_p e + K_i e + (e(0) + K_p e(0)) e^{-t} $$
We adopt an exponential reaching law to reduce chattering:
$$ \dot{S} = -\epsilon \cdot \text{sat}(S) – k S $$
where \( \epsilon > 0 \), \( k > 0 \), and \( \text{sat}(S) \) is a saturation function defined as \( \text{sat}(S) = \frac{S}{1 + S^2} \). This continuous function replaces the sign function, mitigating chattering. The control law for the roll channel is derived as:
$$ U_2 = \frac{1}{b_0} \left[ \ddot{\phi}_d + K_p (\dot{\phi}_d – \dot{\phi}) + K_i (\phi_d – \phi) + \epsilon \cdot \text{sat}(S) + k S \right] $$
Stability is proven using Lyapunov theory. Define \( V = \frac{1}{2} S^2 \), then \( \dot{V} = S \dot{S} \). Substituting the control law, we get \( \dot{V} = – \epsilon S \cdot \text{sat}(S) – k S^2 \leq 0 \), ensuring asymptotic stability.
To validate the proposed SMC-ADRC, we conduct simulations under various disturbances. The quadcopter parameters are listed in Table 1.
| Parameter | Value |
|---|---|
| Mass \( m \) (kg) | 2 |
| Distance from center to rotor \( l \) (m) | 0.2 |
| Moments of inertia \( I_x, I_y, I_z \) (kg·m²) | (0.02, 0.02, 0.03) |
| Thrust coefficient \( c_T \) | 1.1e-05 |
| Drag coefficient \( c_M \) | 1.8e-07 |
| Gravitational acceleration \( g \) (m/s²) | 9.8 |
The controller parameters for the roll, pitch, and yaw channels are summarized in Table 2.
| Parameter | Roll | Pitch | Yaw |
|---|---|---|---|
| TD \( r_0 \) | 0.1 | 0.1 | 0.1 |
| TD \( h_0 \) | 0.016 | 0.016 | 0.016 |
| ESO \( \beta_{01} \) | 250 | 250 | 250 |
| ESO \( \beta_{02} \) | 2000 | 2000 | 2000 |
| ESO \( \beta_{03} \) | 3000 | 3000 | 3000 |
| ESO \( a_1, a_2 \) | 1, 1 | 1, 1 | 1, 1 |
| ESO \( k \) | 0.2 | 0.2 | 0.2 |
| Control gain \( b_0 \) | 45 | 45 | 1 |
| SMC \( \epsilon \) | 2 | 2 | 2 |
| SMC \( k \) | 3 | 3 | 3 |
| SMC \( K_p \) | -16 | -16 | -16 |
| SMC \( K_i \) | -12 | -12 | -12 |
We test the quadcopter’s attitude response under no disturbance, continuous sinusoidal disturbance (simulating wind gusts), sudden pulse disturbance, white noise (internal disturbances), and combined disturbances. The desired attitudes are set to \( (10^\circ, 20^\circ, 30^\circ) \). Without disturbances, all controllers—traditional ADRC, improved ADRC with tfal, and SMC-ADRC—achieve stable control with minimal oscillation. However, SMC-ADRC exhibits smaller overshoot and faster convergence. For instance, the roll angle response under SMC-ADRC settles within 2 seconds with less than 5% overshoot, compared to 10% for traditional ADRC.
Under continuous disturbance (amplitude 0.5 rad, frequency 5 rad/s), SMC-ADRC shows superior disturbance rejection, with attitude errors reduced by 50% compared to traditional ADRC. The improved ESO with tfal provides better estimation accuracy, as shown in Figure 8, where the pitch angle estimation error with tfal is below 0.05 rad, whereas fal-based ESO has errors up to 0.1 rad. For sudden disturbances (0.1 rad pulse at 7.5 s), SMC-ADRC recovers quickly but with slight overshoot, while improved ADRC has minimal fluctuation. In white noise scenarios, SMC-ADRC maintains stability with negligible deviation, thanks to the global integral sliding mode. Under combined disturbances, SMC-ADRC demonstrates robust performance, with attitude errors within 0.1 rad, outperforming other methods.
The control input for the pitch channel using the saturation function \( \text{sat}(S) \) shows smooth behavior without chattering, unlike the sign function which causes high-frequency oscillations. This validates the effectiveness of the continuous function in mitigating SMC chattering. The Lyapunov-based stability analysis confirms that the system remains asymptotically stable under the proposed control law.
In conclusion, we have developed a global integral SMC-ADRC strategy for quadcopter attitude control. The integration of improved ESO with tfal enhances disturbance estimation, while the global integral sliding mode ensures robustness and fast response. Simulations under various disturbances confirm that the proposed controller offers strong anti-interference capabilities and rapid convergence, making it suitable for practical quadcopter applications. Future work will focus on real-time implementation and optimization for more complex scenarios.
