Improved Active Disturbance Rejection Control for Quadrotor UAVs Using Asinh Function

In recent years, unmanned aerial vehicles (UAVs) have demonstrated extensive application prospects across various fields. Among the diverse types of UAVs, quadrotor UAVs stand out due to their simple operation, high reliability, and adaptability in sectors such as security, logistics, firefighting, agriculture, and reconnaissance. However, quadrotor UAVs are characterized by their lightweight and compact structure, making them highly susceptible to external disturbances. With four independent power outputs enabling six degrees of freedom motion, quadrotor systems are inherently nonlinear, underactuated, and strongly coupled. Consequently, research into control algorithms for quadrotor UAVs is crucial for ensuring accurate and stable position and attitude control.

Common control strategies for quadrotor UAVs include proportional-integral-derivative (PID) control, active disturbance rejection control (ADRC), sliding mode control, and model predictive control. ADRC, as a model-free control method, excels in handling systems with unmodeled dynamics and external disturbances by estimating and compensating for total disturbances in real-time. The core idea of ADRC is to aggregate internal uncertainties and external disturbances into a total disturbance, treat it as an extended state, and design an extended state observer (ESO) to cancel its effects within the control loop. While existing studies often focus on steady-state performance, transient performance aspects such as overshoot and settling time require further investigation, especially under noisy environments where feedback signals can be corrupted, degrading tracking performance.

This study addresses the limitations of classical ADRC in quadrotor UAV applications, particularly the instability at the dynamic range edges caused by the non-smooth nonlinear fal function. By replacing the fal function with the smoother asinh function, the improved ADRC enhances response speed, reduces overshoot in attitude angle curves, shortens settling time, and achieves smoother tracking. The improved ESO demonstrates superior observation accuracy, with a 10%–15% reduction in observation error under transient changes compared to classical ADRC, along with enhanced tracking and anti-interference capabilities. The quadrotor dynamics are modeled using Newton-Euler equations, and stability is analyzed via Lyapunov methods. Simulations and experimental tests validate the effectiveness of the proposed approach.

Dynamic Model of Quadrotor UAV

To establish the relationship between the position and attitude of a quadrotor UAV, two coordinate systems are defined: the body-fixed frame \( O_b-X_bY_bZ_b \) and the earth-fixed frame \( O_e-X_eY_eZ_e \). The relative orientation between these frames is described by rotation matrices. The quadrotor UAV operates with four motors driving six degrees of freedom motion, including translations and rotations. The attitude is defined by three Euler angles: yaw (\( \psi \)), pitch (\( \theta \)), and roll (\( \phi \)). The rotation matrix \( R(\psi, \theta, \phi) \) transforming the body frame to the earth frame is given by:

$$ R_T = \begin{bmatrix}
c\psi c\theta & c\psi s\theta s\phi – s\psi c\phi & c\psi s\theta c\phi – s\psi s\phi \\
s\psi c\theta & s\psi s\theta s\phi + c\psi c\phi & s\psi s\theta c\phi – c\psi s\phi \\
-s\theta & c\theta s\phi & c\theta c\phi
\end{bmatrix} $$

where \( c\psi \) and \( s\psi \) denote \( \cos\psi \) and \( \sin\psi \), respectively. The dynamics of the quadrotor UAV are derived under the following assumptions: (1) the center of mass coincides with the geometric center, (2) the structure is ideal, symmetric, and rigid, subject only to gravity and rotor lift, and (3) the quadrotor has an X-configuration, with rotors 1 and 3 rotating counterclockwise and rotors 2 and 4 rotating clockwise. The translational and rotational dynamics are described by Newton-Euler equations:

$$ \begin{aligned}
\ddot{x} &= \frac{U_1}{m} (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi) – d_1 \\
\ddot{y} &= \frac{U_1}{m} (\cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi) – d_2 \\
\ddot{z} &= \frac{U_1}{m} \cos\phi \cos\theta – g – d_3 \\
\ddot{\phi} &= \frac{I_y – I_z}{I_x} \dot{\theta} \dot{\psi} + \frac{U_2}{I_x} – d_4 \\
\ddot{\theta} &= \frac{I_z – I_x}{I_y} \dot{\phi} \dot{\psi} + \frac{U_3}{I_y} – d_5 \\
\ddot{\psi} &= \frac{I_x – I_y}{I_z} \dot{\phi} \dot{\theta} + \frac{U_4}{I_z} – d_6
\end{aligned} $$

Here, \( m \) is the mass, \( g \) is gravitational acceleration, \( I_x, I_y, I_z \) are moments of inertia, \( d_1 \) to \( d_6 \) represent external disturbances, and \( U_1 \) to \( U_4 \) are control inputs for altitude, pitch, roll, and yaw channels, respectively. The control inputs are defined as:

$$ \begin{aligned}
U_1 &= K_t (\Omega_1^2 + \Omega_2^2 + \Omega_3^2 + \Omega_4^2) \\
U_2 &= K_t (\Omega_2^2 + \Omega_4^2 – \Omega_1^2 – \Omega_3^2) \\
U_3 &= K_t (\Omega_3^2 + \Omega_4^2 – \Omega_1^2 – \Omega_2^2) \\
U_4 &= K_d (\Omega_1^2 + \Omega_4^2 – \Omega_2^2 – \Omega_3^2)
\end{aligned} $$

where \( K_t \) is the thrust coefficient, \( K_d \) is the drag coefficient, and \( \Omega_1 \) to \( \Omega_4 \) are motor speeds. Key parameters for a typical quadrotor are summarized in Table 1.

Table 1: Quadrotor UAV Body Parameters
Parameter Description Value
\( m \) Mass (kg) 0.34
\( g \) Gravitational acceleration (m/s²) 9.8
\( d \) Arm length (mm) 223
\( I_{xx} \) Moment of inertia about x-axis (kg·m²) 1.004 × 10⁻³
\( I_{yy} \) Moment of inertia about y-axis (kg·m²) 1.004 × 10⁻³
\( I_{zz} \) Moment of inertia about z-axis (kg·m²) 1.934 × 10⁻³
\( J_T \) Rotor inertia (kg·m²) 2.5 × 10⁻⁶

Improved Extended State Observer Design

Consider a second-order system \( \Sigma_1 \) representing a quadrotor channel:

$$ \Sigma_1 = \begin{cases}
\dot{x}_1 = x_2 \\
\dot{x}_2 = f(x_1, x_2, \omega) + b u(t) \\
y = x_1
\end{cases} $$

where \( x_1 \) and \( x_2 \) are state variables, \( \omega \) is external disturbance, \( f(x_1, x_2, \omega) \) combines internal and external disturbances, \( b \) is the high-frequency gain, and \( u(t) \) is the control input. By treating the total disturbance as an extended state \( x_3 = f(x_1, x_2, \omega) \) and assuming \( \dot{x}_3 = \omega \), the system is transformed into a third-order linear system \( \Sigma_2 \):

$$ \Sigma_2 = \begin{cases}
\dot{x}_1 = x_2(t) \\
\dot{x}_2 = x_3(t) + b u(t) \\
\dot{x}_3 = \omega(t) \\
y = x_1(t)
\end{cases} $$

The classical ESO \( \Sigma_3 \) for this system uses a nonlinear fal function:

$$ \Sigma_3 = \begin{cases}
e_1(t) = z_1(t) – y \\
\dot{z}_1(t) = z_2(t) – a_1 e_1(t) \\
\dot{z}_2(t) = z_3(t) – a_2 \text{fal}(b_2 e_1(t)) + b u(t) \\
\dot{z}_3(t) = -a_3 \text{fal}(b_3 e_1(t))
\end{cases} $$

where \( a_1, a_2, a_3, b_2, b_3 > 0 \), and \( z_1, z_2, z_3 \) estimate \( x_1, x_2, x_3 \). The fal function is defined as:

$$ \text{fal}(e, \alpha, \delta) = \begin{cases}
|e|^\alpha \text{sgn}(e) & |e| > \delta \\
\frac{e}{\delta^{1-\alpha}} & |e| \leq \delta
\end{cases} $$

However, the fal function has a discontinuity in its derivative at \( e = \delta \), leading to control chattering and instability. To address this, the asinh function is proposed as a smoother alternative:

$$ \text{asinh}(x) = \ln(x + \sqrt{x^2 + 1}) $$

with the derivative:

$$ \text{asinh}'(x) = \frac{1}{\sqrt{x^2 + 1}} $$

The asinh function is smooth and exhibits nonlinear characteristics that compress large signals while amplifying small ones, aligning with the control principle of high gain for small errors and low gain for large errors. The improved ESO \( \Sigma_{31} \) is constructed as:

$$ \Sigma_{31} = \begin{cases}
e_1(t) = z_1(t) – y \\
\dot{z}_1(t) = z_2(t) – a_1 e_1(t) \\
\dot{z}_2(t) = z_3(t) – a_2 \text{asinh}(b_2 e_1(t)) + b u(t) \\
\dot{z}_3(t) = -a_3 \text{asinh}(b_3 e_1(t))
\end{cases} $$

This改进的ESO enhances disturbance estimation accuracy and system stability for quadrotor control.

Stability Analysis

To analyze the stability of the improved ESO, define the estimation errors as \( e_1(t) = z_1(t) – x_1(t) \), \( e_2(t) = z_2(t) – x_2(t) \), and \( e_3(t) = z_3(t) – x_3(t) \). Assuming \( \dot{x}_3(t) = \omega_0 \), the error dynamics are:

$$ \begin{cases}
\dot{e}_1(t) = e_2(t) – a_1 e_1(t) \\
\dot{e}_2(t) = e_3(t) – a_2 \text{asinh}(b_2 e_1(t)) \\
\dot{e}_3(t) = -a_3 \text{asinh}(b_3 e_1(t)) – \omega_0
\end{cases} $$

Rewriting in matrix form:

$$ \dot{e}(t) = -A(e(t)) e(t) $$

where

$$ A(e(t)) = \begin{bmatrix}
a_1 & -1 & 0 \\
\frac{a_2 \text{asinh}(b_2 e_1(t))}{e_1(t)} & 0 & -1 \\
\frac{a_3 \text{asinh}(b_3 e_1(t))}{e_1(t)} & 0 & 0
\end{bmatrix} $$

Note that \( \frac{a_2 \text{asinh}(b_2 e_1(t))}{e_1(t)} \) and \( \frac{a_3 \text{asinh}(b_3 e_1(t))}{e_1(t)} \) are positive and bounded. For stability, ensure \( a_1 a_2 \frac{\text{asinh}(b_2 e_1(t))}{e_1(t)} – a_3 \frac{\text{asinh}(b_3 e_1(t))}{e_1(t)} > 0 \). Construct a positive definite matrix \( D \):

$$ D = \begin{bmatrix}
1 & h(e_1(t)) + \delta_1 & -\gamma \\
-h(e_1(t)) – \delta_1 & \gamma & -g(e_1(t)) + \delta_2 \\
\gamma & -g(e_1(t)) – \delta_2 & \gamma
\end{bmatrix} $$

where \( \gamma, \delta_1, \delta_2 \) are infinitesimal positives, and

$$ h(e_1(t)) = \frac{a_2 \text{asinh}(b_2 e_1(t))}{a_1 a_2 \text{asinh}(b_2 e_1(t)) – a_3 \text{asinh}(b_3 e_1(t))} $$

$$ g(e_1(t)) = \frac{1}{a_1 a_2 \text{asinh}(b_2 e_1(t)) – a_3 \text{asinh}(b_3 e_1(t))} $$

The Lyapunov function is chosen as:

$$ V(t) = \int_0^t (D A(e(\tau)) e(\tau), \dot{e}(\tau)) d\tau + C $$

which simplifies to:

$$ V(t) = \int_0^t \left\{ -[a e_1(\tau) – e_2(\tau)]^2 – \gamma [a_2 \text{asinh}(b_2 e_1(\tau)) – e_3(\tau)]^2 – \gamma [a_3 \text{asinh}(b_3 e_1(\tau)) + \omega_0]^2 \right\} d\tau + C $$

For sufficiently large \( C > 0 \), \( V(t) > 0 \). The derivative is:

$$ \dot{V}(t) = -[a e_1(t) – e_2(t)]^2 – \gamma [a_2 \text{asinh}(b_2 e_1(t)) – e_3(t)]^2 – \gamma [a_3 \text{asinh}(b_3 e_1(t)) + \omega_0]^2 \leq 0 $$

Thus, \( \dot{V}(t) = 0 \) only when the error dynamics are zero, proving asymptotic stability. Near \( e_1(t) = 0 \), \( \text{asinh}(b e_1(t)) \approx b e_1(t) \), so the stability condition approximates to \( a_1 a_2 b_2 – a_3 b_3 > 0 \).

Quadrotor Attitude Controller Design

The quadrotor UAV is an underactuated system with strong coupling between channels. To achieve decoupled control, an improved ADRC is designed for each attitude channel (roll, pitch, yaw). The controller structure includes a tracking differentiator (TD), improved ESO, and nonlinear error feedback (NLSEF). The overall attitude controller is depicted in the following diagram, with the roll channel serving as an example.

The TD provides a smooth reference signal and its derivative. Its discrete form is:

$$ \begin{aligned}
x_1(k+1) &= x_1(k) + T x_2(k) \\
x_2(k+1) &= x_2(k) + T \text{fhan}(x_1(k) – v_0(k), x_2(k), r, h)
\end{aligned} $$

where \( v_0 \) is the reference input, \( \text{fhan} \) is a nonlinear function, \( r \) is the speed factor, \( h \) is the filter factor, and \( T \) is the sampling period.

The improved ESO, as described earlier, estimates states and disturbances using the asinh function. The NLSEF computes the control law:

$$ \begin{aligned}
e_1 &= v_1 – z_1 \\
e_2 &= v_2 – z_2 \\
u &= \beta_{u1} \text{fal}(e_1, \alpha_1, \delta) + \beta_{u2} \text{fal}(e_2, \alpha_2, \delta)
\end{aligned} $$

Parameters for the roll channel are listed in Table 2.

Table 2: Simulation Parameters for Roll Channel
Module Parameter Value
Tracking Differentiator \( r \) 60
\( h \) 0.05
Extended State Observer \( a_1 \) 60
\( a_2 \) 1200
\( a_3 \) 8000
\( \alpha_1 \) 0.5
\( \alpha_2 \) 0.05
\( \delta \) 3
Nonlinear Error Feedback \( \beta_{u1} \) 1000
\( \beta_{u2} \) 2700
\( \alpha_1 \) 0.5
\( \alpha_2 \) 0.05
\( \delta \) 5

Simulation Analysis

Simulations compare the improved ADRC with classical ADRC for quadrotor attitude control. The system is modeled as a second-order system under no-wind conditions, with parameters tuned via bandwidth methods. A bandwidth of 20 is used for both controllers. To evaluate observation performance, a rectangular wave disturbance of magnitude 5°, period 15 s, and pulse width 1 s is introduced at 8 s. The error tracking results demonstrate that the improved ESO with asinh function achieves better follow-up with smaller overshoot and chattering compared to the classical approach.

Relative error comparisons under this disturbance are summarized in Table 3. The improved ADRC shows a significant reduction in error range, mean absolute error, and variance.

Table 3: Relative Error Comparison Under Rectangular Wave Disturbance
Method Error Range (°) Mean Absolute Error (°) Variance
Improved ADRC -0.024 to -0.017 0.034 0.006
Classical ADRC -0.541 to -0.632 0.136 0.074

To test command tracking under noise, a 5° roll angle step command is applied at 5 s. The improved ADRC converges faster to steady-state with minimal overshoot. Under combined noise and wind disturbances, the improved ADRC maintains robust performance, whereas classical ADRC exhibits significant overshoot and oscillation. Error metrics for these scenarios are provided in Tables 4 and 5.

Table 4: Relative Error Comparison Under Noise Disturbance
Method Error Range (°) Mean Absolute Error (°) Variance
Improved ADRC -0.164 to 0.058 0.021 0.002
Classical ADRC -0.735 to 0.274 0.147 0.085
Table 5: Relative Error Comparison Under Combined Noise and Wind Disturbance
Method Error Range (°) Mean Absolute Error (°) Variance
Improved ADRC -0.353 to 0.054 0.025 0.008
Classical ADRC -2.846 to 0.538 0.197 0.128

Experimental Testing

Experimental validation is conducted using a quadrotor UAV platform comprising a ground control station, wireless router, flight controller, and data transmission system. Tests are performed in a wind-free, enclosed environment. The flight controller is programmed with the improved ADRC firmware, and communication is established between all components. Commands for unlocking, takeoff, and displacement are sent from the ground station, while real-time status and pose data are monitored.

Flight log data over 100 s with 3000 sampling points are analyzed. The actual 3D trajectory and attitude angle variations are recorded. The results indicate small errors between measured and desired values, confirming stable flight. Performance metrics for roll, pitch, and yaw channels are listed in Table 6.

Table 6: Actual Flight Performance Metrics
Channel Error Range (°) Mean Absolute Error (°) Variance
Roll -0.324 to 0.934 0.133 0.081
Pitch -0.179 to 0.598 0.086 0.027
Yaw -0.063 to 2.978 0.025 0.001

Conclusion

This study presents an improved ADRC algorithm for quadrotor UAVs by replacing the nonlinear fal function with the asinh function in the ESO. The asinh function’s smoothness and convergence properties address the instability issues of classical ADRC, particularly under noisy and disturbed conditions. The quadrotor dynamics are modeled, and stability is rigorously analyzed. Simulations and experiments demonstrate that the improved ADRC achieves superior error tracking, reduced overshoot, shorter settling time, and enhanced anti-interference capabilities. The asinh-based ESO reduces observation errors by 10%–15% during transients and offers a viable solution for robust quadrotor control in practical applications.

Scroll to Top