In recent years, quadcopters have gained significant attention due to their versatility in applications such as aerial photography, logistics, and surveillance. However, the underactuated and highly coupled nature of quadcopters makes them susceptible to external disturbances, leading to instability during flight. Traditional control methods like PID often fall short in handling complex disturbances, prompting the adoption of Active Disturbance Rejection Control (ADRC). This paper focuses on enhancing the ADRC framework by introducing a novel nonlinear function, termed tfal, to improve the performance of the Extended State Observer (ESO) in quadcopter attitude control. We address issues such as insufficient observation accuracy and chattering in traditional fal-based ESOs, especially under sensor noise and composite disturbances. Through comprehensive simulations and hardware-in-the-loop tests, we demonstrate that the proposed method offers superior convergence, tracking, and disturbance rejection capabilities compared to existing approaches.

The quadcopter is a dynamic system with four inputs and six degrees of freedom, characterized by its underactuation and strong coupling. To simplify the mathematical model, we assume the quadcopter is a rigid body with symmetrical structure, its center coincides with the center of gravity, and its mass and moments of inertia are constant. For an X-type quadcopter, the attitude dynamics can be described using Euler angles $\Theta = [\phi, \theta, \psi]^T$, where $\phi$ is the roll angle, $\theta$ is the pitch angle, and $\psi$ is the yaw angle. The equations of motion are derived from Newton-Euler formulations, considering the forces and torques generated by the rotors. The rotational dynamics are given by:
$$ \ddot{\phi} = \frac{I_y – I_z}{I_x} \dot{\theta} \dot{\psi} + \frac{J_{RP}}{I_x} \dot{\theta} \Omega + \frac{L}{I_x} U_1 $$
$$ \ddot{\theta} = \frac{I_z – I_x}{I_y} \dot{\phi} \dot{\psi} – \frac{J_{RP}}{I_y} \dot{\phi} \Omega + \frac{L}{I_y} U_2 $$
$$ \ddot{\psi} = \frac{I_x – I_y}{I_z} \dot{\phi} \dot{\theta} + \frac{L}{I_z} U_3 $$
where $I_x$, $I_y$, and $I_z$ are the moments of inertia, $J_{RP}$ is the total rotational inertia of the motor and propeller about the axis, $L$ is the distance from the rotor center to the center of mass, and $\Omega$ is the overall propeller speed. The virtual control inputs $U_1$, $U_2$, $U_3$, and $U_4$ are related to the rotor speeds $\omega_i$ as follows:
$$ U_1 = b (\omega_4^2 – \omega_2^2) $$
$$ U_2 = b (\omega_3^2 – \omega_1^2) $$
$$ U_3 = d (\omega_1^2 + \omega_3^2 – \omega_2^2 – \omega_4^2) $$
$$ U_4 = b (\omega_1^2 + \omega_2^2 + \omega_3^2 + \omega_4^2) $$
Here, $b$ and $d$ are the thrust and drag coefficients, respectively. These equations form the basis for designing the attitude controller for the quadcopter. The inherent nonlinearities and couplings necessitate a robust control strategy like ADRC to handle uncertainties and disturbances effectively.
ADRC is composed of three main components: the Tracking Differentiator (TD), the Extended State Observer (ESO), and the Nonlinear State Error Feedback (NLSEF). The TD arranges a transient process for the input signal and extracts its differential, mitigating the conflict between response speed and overshoot in PID control. For a second-order system, the TD is implemented as:
$$ f_h = fhan(x_1(k) – v(k), x_2(k), r, h) $$
$$ x_1(k+1) = x_1(k) + h x_2(k) $$
$$ x_2(k+1) = x_2(k) + h f_h $$
where $fhan$ is the fastest control synthesis function, $r$ is the speed factor, and $h$ is the integration step size. The ESO is the core of ADRC, designed to estimate both the system states and the total disturbance. For a second-order system, the traditional ESO uses the fal function:
$$ fal(x, \alpha, \xi) = \begin{cases} \frac{x}{\xi^{1-\alpha}}, & |x| \leq \xi \\ \text{sign}(x) |x|^\alpha, & |x| > \xi \end{cases} $$
However, this function suffers from discontinuities and chattering near the origin, leading to poor performance under noise and complex disturbances. To overcome these limitations, we propose a novel nonlinear function tfal, based on the tangent function, which is smooth, continuous, and satisfies the principle of “small gain for large error, large gain for small error.” The tfal function is defined as:
$$ tfal(e, R, K) = \begin{cases} R \tan(K e), & |e| \leq \frac{\pi}{4K} \\ R, & |e| > \frac{\pi}{4K} \end{cases} $$
where $R > 0$ controls the amplitude in high-error regions, and $K > 0$ adjusts the gain in low-error regions. This function ensures better convergence and reduced chattering. Using tfal, we design a novel ESO for the roll channel of the quadcopter. The roll dynamics are expressed as:
$$ \dot{x}_1 = x_2 $$
$$ \dot{x}_2 = f(x_1, x_2) + b u $$
$$ y = x_1 $$
where $x_1 = \phi$, $x_2 = \dot{\phi}$, and $f(x_1, x_2)$ represents the lumped disturbances. The novel ESO is formulated as:
$$ e = z_1 – y $$
$$ z_1(k+1) = z_2 – \beta_1 e $$
$$ z_2(k+1) = z_3 – \beta_2 \, tfal(e, R_1, K_1) + b u $$
$$ z_3(k+1) = -\beta_3 \, tfal(e, R_2, K_2) $$
Here, $z_1$, $z_2$, and $z_3$ are the estimates of the state and disturbance, and $\beta_i$ are observer gains. The stability of this ESO is analyzed using Lyapunov theory. The error dynamics are derived as:
$$ e_1(k+1) = e_2 – \beta_1 e $$
$$ e_2(k+1) = e_3 – \beta_2 \, tfal(e_1, R_1, K_1) $$
$$ e_3(k+1) = -\beta_3 \, tfal(e_1, R_2, K_2) $$
This can be written in matrix form as $\mathbf{e}(k+1) = -\mathbf{A}(e) \mathbf{e}$. By constructing a positive definite matrix $\mathbf{D}$ such that $\mathbf{D} \mathbf{A}(e)$ is symmetric positive definite, we ensure asymptotic stability under the condition $\beta_1 \beta_2 – \beta_3 > 0$. This condition guarantees that the ESO converges effectively, enhancing the robustness of the quadcopter attitude control.
To validate the proposed method, we conducted simulations in MATLAB/Simulink, comparing the performance of the novel ADRC with traditional fal-based ADRC and an improved galn-based ADRC. The quadcopter parameters used in the simulations are summarized in the table below:
| Parameter | Value | Physical Meaning |
|---|---|---|
| $m$ | 1.4 kg | Mass of quadcopter |
| $L$ | 0.197 m | Rotor center to COG distance |
| $g$ | 9.8 m/s² | Gravitational acceleration |
| $b$ | 1.332e-5 N·s² | Thrust coefficient |
| $d$ | 1.385e-6 N·s² | Drag coefficient |
| $I_x$, $I_y$ | 0.0552 kg·m² | Moment of inertia (x/y-axis) |
| $I_z$ | 0.1104 kg·m² | Moment of inertia (z-axis) |
| $J_{RP}$ | 0.044 kg·m² | Motor rotational inertia |
The ESO parameters for each method are tuned optimally, as shown in the following table:
| Method | $\beta_1$ | $\beta_2$ | $\beta_3$ | $b$ | $h$ | Other Parameters |
|---|---|---|---|---|---|---|
| fal-based | 30 | 300 | 1000 | 1.2 | 0.05 | $\alpha_1=0.75$, $\alpha_2=0.5$, $\xi=0.006$ |
| galn-based | 30 | 300 | 1000 | 1.2 | 0.05 | $\sigma_1=0.5$, $\sigma_2=0.25$ |
| tfal-based | 30 | 300 | 1000 | 1.05 | 0.05 | $R_1=5$, $R_2=5$, $K_1=3$, $K_2=4$ |
For tracking performance evaluation, a step signal of 30° roll angle is applied at 1 second. The response curves indicate that all methods achieve rapid tracking, but the novel tfal-based ADRC exhibits a lower overshoot of approximately 2°, compared to 2.5° for fal-based and 3° for galn-based ADRC. By 3.2 seconds, the system stabilizes, with tfal-based ADRC showing a 4% and 2.3% improvement in tracking capability over fal-based and galn-based methods, respectively. This demonstrates the enhanced convergence of the proposed approach in quadcopter attitude control.
Disturbance rejection tests are conducted under various scenarios. First, a continuous sinusoidal disturbance with amplitude 100 V and angular velocity 10 rad/s is applied throughout the simulation. The tfal-based ADRC shows minimal overshoot and better suppression, as summarized by the integral absolute error (IAE) metrics:
$$ IAE = \int |e(t)| dt $$
where $e(t)$ is the tracking error. The IAE values for continuous disturbance are:
| Method | IAE |
|---|---|
| fal-based | 12.5 |
| galn-based | 10.2 |
| tfal-based | 8.1 |
Next, a sudden disturbance in the form of a rectangular pulse with amplitude 100 V and duration 0.5 seconds is introduced at 8 seconds. The tfal-based ADRC recovers faster to the steady state, with a settling time reduction of 20% compared to traditional methods. Finally, a comprehensive disturbance test includes white noise (simulating sensor noise), the rectangular pulse, and the sinusoidal wave. The oscillation amplitudes under composite disturbances are:
| Method | Oscillation Amplitude |
|---|---|
| fal-based | ±25° |
| galn-based | ±20° |
| tfal-based | ±5° |
This represents a 50% and 67% improvement in disturbance rejection for tfal-based ADRC over galn-based and fal-based methods, respectively. The robustness of the quadcopter control is significantly enhanced, ensuring stable flight even in challenging environments.
To further validate the practical applicability, we performed hardware-in-the-loop (HIL) simulations using an NI-PXI platform. The setup includes a Mission Planner ground station, a RadioLink AT9S PRO remote controller, a Pixhawk flight controller, a quadcopter with four power units, and a GPS module. The HIL system integrates Simulink for dynamics modeling, VeriStand for model deployment, and LabVIEW for real-time parameter monitoring. The quadcopter is commanded to hover at zero attitude angles $[\phi, \theta, \psi]^T = [0, 0, 0]^T$, and disturbances are applied to assess performance. The results for the yaw channel under sudden disturbances show that the novel ESO enables faster convergence and smaller overshoot, confirming the simulation findings. The HIL tests demonstrate that the improved ADRC effectively maintains attitude stability, making it suitable for real-world quadcopter applications.
In conclusion, we have developed an improved ADRC strategy for quadcopter attitude motion control by introducing a novel nonlinear tfal function. This function addresses the limitations of traditional fal functions, such as chattering and poor noise resilience. The novel ESO based on tfal exhibits better error estimation and tracking performance, as validated through extensive simulations and HIL tests. Compared to existing methods, the proposed approach enhances tracking capability by up to 4% and disturbance rejection by up to 67%, ensuring reliable operation of quadcopters under complex disturbances. Future work will focus on optimizing parameters for different flight conditions and extending the method to multi-quadcopter systems.
