Enhanced Active Disturbance Rejection Control for Quadrotor Drone Trajectory Tracking

The quest for robust and precise control of unmanned aerial vehicles, particularly the quadrotor drone, remains a pivotal challenge in aerial robotics. My research focuses on addressing the inherent limitations of classical control methods when applied to the complex, underactuated, and disturbance-prone dynamics of a quadrotor drone. This work proposes a comprehensive enhancement of the Active Disturbance Rejection Control (ADRC) framework, specifically tailored for the attitude stabilization and trajectory tracking of a quadrotor drone operating in environments with significant uncertainties and external disturbances.

A quadrotor drone is a highly agile yet fundamentally underactuated system. With only four independent rotor thrusts as control inputs, it must achieve stable six-degree-of-freedom motion. This characteristic, coupled with strong inter-axis couplings and sensitivity to model inaccuracies and wind gusts, renders traditional linear controllers like PID inadequate for high-performance applications. While advanced techniques like sliding mode control, backstepping, and model predictive control offer solutions, their implementation complexity and reliance on accurate models can be prohibitive. ADRC emerges as a compelling alternative, inheriting the simplicity of PID while actively estimating and compensating for total disturbances, both internal and external. However, the standard ADRC structure, comprising a Tracking Differentiator (TD), an Extended State Observer (ESO), and a Nonlinear State Error Feedback (NLSEF) law, can introduce phase lag and suffer from chattering issues, ultimately degrading the tracking performance of the quadrotor drone.

The core contribution of my work is a multi-faceted improvement to the ADRC architecture. First, I develop a novel Tracking Differentiator (TTD) utilizing hyperbolic tangent and arctangent functions to create a smoother acceleration profile, enhancing both tracking speed and noise-filtering capabilities for the quadrotor drone’s command signals. Second, to mitigate the chattering inherent in the traditional `fal` function used within the ESO—a phenomenon caused by its non-smooth inflection point—I construct a new `sfal` function based on a shifted Sigmoid curve. This function maintains the “small error, large gain” principle crucial for ESO performance while ensuring smoothness across its entire domain. Finally, recognizing that both the TD and ESO introduce phase delay, I design a dedicated Phase Compensator. This module leverages the filtering properties of the TTD and `sfal` functions to predict and correct for phase lag, ensuring the control system of the quadrotor drone responds promptly to dynamic commands. The proposed improved ADRC is deployed for the inner-loop attitude control, while a cascaded outer-loop position controller combines the Phase Compensator with a PID structure for trajectory tracking.

Mathematical Modeling of the Quadrotor Drone

Establishing a control-oriented dynamic model is the foundational step. I define an inertial earth frame \(O_E X_E Y_E Z_E\) and a body-fixed frame \(O_B X_B Y_B Z_B\) attached to the center of mass of the quadrotor drone. The vehicle’s posture is described by its position \(\boldsymbol{\Gamma} = [x, y, z]^T\) in the inertial frame and its orientation \(\boldsymbol{\Theta} = [\phi, \theta, \psi]^T\), representing roll, pitch, and yaw angles, respectively. Under standard assumptions (rigid body, symmetric structure, negligible rotor dynamics), the nonlinear dynamics of the quadrotor drone can be derived using the Newton-Euler formalism:

$$
\begin{aligned}
\ddot{x} &= (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi)\frac{U_1}{m} + d_x \\
\ddot{y} &= (\cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi)\frac{U_1}{m} + d_y \\
\ddot{z} &= (\cos\phi \cos\theta)\frac{U_1}{m} – g + d_z \\
\ddot{\phi} &= \dot{\theta}\dot{\psi}\left(\frac{I_y – I_z}{I_x}\right) + \frac{l U_2}{I_x} + d_\phi \\
\ddot{\theta} &= \dot{\phi}\dot{\psi}\left(\frac{I_z – I_x}{I_y}\right) + \frac{l U_3}{I_y} + d_\theta \\
\ddot{\psi} &= \dot{\phi}\dot{\theta}\left(\frac{I_x – I_y}{I_z}\right) + \frac{l U_4}{I_z} + d_\psi
\end{aligned}
$$

Here, \(m\) and \(g\) denote mass and gravity. \(I_x, I_y, I_z\) are moments of inertia, \(l\) is the arm length, and \(d_{(\cdot)}\) aggregate all unmodeled dynamics and external disturbances. The virtual control inputs \(U_1, U_2, U_3, U_4\) correspond to total thrust, roll torque, pitch torque, and yaw torque, respectively. The control architecture for the quadrotor drone is a standard cascade structure. The outer loop (position controller) generates desired attitudes and total thrust, which are then tracked by the inner loop (attitude controller). The virtual controls for horizontal motion, \(U_x\) and \(U_y\), and the mapping to desired angles are given by:

$$
\begin{aligned}
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) \\
U_1 &= \frac{U_z m}{\cos\phi \cos\theta} \\
\phi_d &= \arcsin\left(\frac{(U_x \sin\psi – U_y \cos\psi)m}{U_1}\right) \\
\theta_d &= \arcsin\left(\frac{(U_x \cos\psi + U_y \sin\psi)m}{U_1}\right)
\end{aligned}
$$

Design of the Enhanced Attitude Controller

The inner-loop stability of the quadrotor drone is paramount. My enhanced ADRC is applied to each rotational channel (\(\phi, \theta, \psi\)). For clarity, I present the design for a generic second-order system representing one attitude channel: \(\ddot{y} = f(y, \dot{y}, w(t)) + b u\), where \(y\) is the output (e.g., roll angle), \(u\) is the control input, \(f(\cdot)\) represents the total disturbance (including couplings and external forces), and \(b\) is a known control gain.

The Improved Tracking Differentiator (TTD)

The standard TD uses a complex, non-smooth “fast optimal control synthesis function” (fhan). My goal was to design a TTD with a simpler, smoother structure that provides rapid, non-overshooting tracking and excellent derivative filtering for the quadrotor drone’s command signals. I construct the TTD using hyperbolic tangent and arctangent functions due to their smooth saturation properties. Consider the system:

$$
\begin{aligned}
\dot{v}_1 &= v_2 \\
\dot{v}_2 &= -R^2 \left[\,a \cdot \text{tanh}\big(b(v_1 – v_{cmd})\big) + a \cdot \text{arctan}\big(b\frac{v_2}{R}\big)\,\right]
\end{aligned}
$$

Here, \(v_{cmd}\) is the input command (e.g., desired angle), \(v_1\) tracks \(v_{cmd}\), and \(v_2\) tracks its derivative. Parameters \(R > 0\) is the speed factor, \(a > 0\) is the amplitude factor, and \(b > 0\) is the linear convergence factor. The function \(\text{tanh}(\cdot)\) ensures aggressive tracking for large errors, while \(\text{arctan}(\cdot)\) provides smooth damping. The stability of this system can be proven using Lyapunov theory, showing that \(v_1 \rightarrow v_{cmd}\) and \(v_2 \rightarrow \dot{v}_{cmd}\) as \(R\) becomes sufficiently large.

The Enhanced Extended State Observer with sfal Function

The ESO is the core disturbance estimation component. For the system \(\ddot{y} = f + b u\), I define an extended state \(x_3 = f\) and design a third-order ESO:

$$
\begin{aligned}
e &= z_1 – y \\
\dot{z}_1 &= z_2 – \beta_{01} e \\
\dot{z}_2 &= z_3 – \beta_{02} \cdot \text{sfal}(e, \alpha_1, \delta) + b_0 u \\
\dot{z}_3 &= -\beta_{03} \cdot \text{sfal}(e, \alpha_2, \delta)
\end{aligned}
$$

Here, \(z_1\) estimates \(y\), \(z_2\) estimates \(\dot{y}\), and \(z_3\) estimates the total disturbance \(f\). The key innovation is the replacement of the traditional `fal` function with my proposed `sfal` function, defined as:

$$
\text{sfal}(x, m’, n) =
\begin{cases}
m’ \cdot \dfrac{1 – e^{-n x}}{1 + e^{-n x}}, & x \neq 0 \\
n x, & x = 0
\end{cases}
$$

This function is smooth (\(C^\infty\)), odd, and possesses the desired nonlinear profile: approximately linear with gain \(n\) near the origin (small error, large gain) and saturating at \(\pm m’\) for large errors. Its smoothness eliminates the chattering induced by the discontinuous derivative of the `fal` function at \(|e| = \delta\), leading to more stable estimation for the quadrotor drone’s states. The observer gains \(\beta_{01}, \beta_{02}, \beta_{03}\) and parameters \(m’, n\) are tuned for performance.

Nonlinear Feedback and Phase Compensation

The estimated states from the TTD (\(v_1, v_2\)) and the ESO (\(z_1, z_2, z_3\)) are combined in the NLSEF law. A common and effective form is the nonlinear PD combined with disturbance rejection:

$$
\begin{aligned}
e_1 &= v_1 – z_1 \\
e_2 &= v_2 – z_2 \\
u_0 &= -k_p \cdot \text{fhan}(e_1, c e_2, r, h) \\
u &= \frac{u_0 – z_3}{b_0}
\end{aligned}
$$

Where \(\text{fhan}\) is a nonlinear function, and \(k_p, c, r, h\) are tuning parameters. While effective, the sequential processing through TTD and ESO inevitably introduces phase lag. To counteract this, I designed a Phase Compensator module. Its operation is as follows: The command signal \(v_{cmd}\) is processed by the TTD to get a filtered signal \(v_{1}\) and its derivative \(v_{2}\). A secondary filter based on the `sfal` function is applied to \(v_{2}\) to obtain a smoothed derivative estimate \(s_1\). This smoothed derivative is then used for a \(\eta\)-step ahead prediction, which is added back to the filtered signal \(v_{1}\) after scaling by a factor \(\mu\). The compensated signal \(\hat{v}_{1}\) is then:

$$
\hat{v}_{1}(k+1) = \frac{v_{1}(k) + \eta \cdot s_1(k)}{\mu}
$$

A similar process yields a compensated derivative \(\hat{v}_{2}\). These compensated signals are then fed into the NLSEF, effectively aligning the controller’s reference with the system’s delayed response, significantly improving the transient tracking performance of the quadrotor drone.

Position Controller and Overall Architecture

For the outer-loop control of the quadrotor drone, I employ a cascade structure where the Phase Compensator is used for position error processing, followed by a PID velocity controller. Taking the x-axis as an example:

$$
\begin{aligned}
e_x &= x_d – x \\
v_{x,des} &= \text{PhaseCompensator}(e_x) \\
e_{vx} &= v_{x,des} – \dot{x} \\
U_x &= K_{p}^x e_{vx} + K_{i}^x \int e_{vx} dt + K_{d}^x \frac{d e_{vx}}{dt}
\end{aligned}
$$

The virtual controls \(U_x, U_y\) and altitude control \(U_z\) are then transformed via Eq. (2) to generate the desired thrust \(U_1\) and attitudes \(\phi_d, \theta_d\) for the inner-loop improved ADRC. The yaw channel \(\psi\) is controlled independently, typically with a simpler ADRC or PID loop. The parameters for the controllers are tuned systematically and are summarized below.

Table 1: Representative Parameters for the Quadrotor Drone and Enhanced Controllers
Component Parameter Value
Quadrotor Drone Model Mass (\(m\)) 0.65 kg
Gravity (\(g\)) 9.81 m/s²
Arm Length (\(l\)) 0.23 m
\(I_x, I_y\) 6.0e-3 kg·m²
\(I_z\) 8.0e-3 kg·m²
Improved TTD Speed Factor (\(R\)) 1000
Amplitude (\(a\)) 5
Convergence Factor (\(b\)) 1
Enhanced ESO (sfal) Gains \(\beta_{01}, \beta_{02}, \beta_{03}\) 700, 800, 1000
Amplitude \(m’\) 5
Linear Gain \(n\) 0.04
Control Gain \(b_0\) 1.5
Phase Compensator Prediction Step \(\eta\) 1
Scaling Factor \(\mu\) 0.01
Filter Gain \(k\) 0.001

Simulation Analysis and Hardware-in-the-Loop Validation

The performance of the proposed enhanced ADRC for the quadrotor drone was rigorously evaluated through numerical simulation and Hardware-in-the-Loop (HIL) testing.

Component-Level Simulation: TTD and Attitude Control

First, the isolated performance of the TTD was compared against a standard TD and a Sigmoid-based TD (STD). With a triangular wave input—a challenging signal due to its discontinuous derivative—the TTD demonstrated superior tracking speed and negligible overshoot in the derivative estimate compared to the STD, which exhibited clear overshoot. Under a sinusoidal input corrupted with Gaussian white noise, both TTD and STD showed excellent noise attenuation in the derivative signal, far outperforming the standard TD, confirming the TTD’s dual advantage for the quadrotor drone control system.

Next, the complete enhanced ADRC for attitude control was tested on the pitch channel of the quadrotor drone model. Comparative studies were conducted against the standard ADRC (using `fal`), and other improved versions from literature (using `galn` and `xfal` functions). The test scenarios included: 1) Step response, 2) Response under a combination of impulsive and continuous sinusoidal disturbance torques, and 3) Response under the same disturbances plus significant measurement noise on the attitude feedback.

Table 2: Performance Comparison of Different ADRC Schemes for Quadrotor Drone Attitude Control (Pitch Channel)
ESO Type No Disturbance
MSE (10⁻⁴ rad²)
Impulsive Dist.
MSE (rad²)
Continuous Dist.
MSE (rad²)
Combined Dist. & Noise
MSE (rad²)
Standard ADRC (fal) 36.5 1.6912 1.4671 13.6211
Literature [galn] 26.6 1.7635 1.3893 13.6624
Literature [xfal] 17.8 0.9316 1.0079 12.6681
Proposed (sfal only) 1.21 0.6654 0.8344 12.1819
Proposed (sfal + Phase Comp.) 0.126 0.0130 0.0118 4.5038

The results are compelling. In the step response, the `sfal`-based ADRC achieved virtually no overshoot, while others showed minor overshoot. Under disturbances, the `sfal` version alone already provided the best disturbance rejection (lowest Mean Squared Error, MSE). When the Phase Compensator was integrated, performance improved dramatically. The phase-compensated controller not only responded faster to the step command but also reduced the oscillation amplitude under impulsive disturbance by an order of magnitude and showed remarkable robustness in the high-noise, high-disturbance scenario, solidifying its superiority for stabilizing the quadrotor drone.

System-Level HIL Validation: Trajectory Tracking

To validate the full control stack in a realistic setting, I conducted Hardware-in-the-Loop experiments. The software-in-the-loop simulation ran in a Ubuntu/ROS/Gazebo environment, with the PX4 flight stack operating on a physical Pixhawk flight controller, creating a high-fidelity testing platform for the quadrotor drone. The proposed controller (Enhanced ADRC inner-loop + Phase-Compensated PID outer-loop) was compared against a standard cascaded PID controller. The task was to track a complex “figure-8” trajectory.

The proposed method demonstrated consistently superior performance. During the initial take-off and transition to the pattern, the standard PID exhibited larger deviation and slower convergence. During tracking, the proposed controller adhered more closely to the desired path with smaller cross-track error. Most notably, the phase lag present in the PID response was significantly reduced by the Phase Compensator, leading to more precise and timely cornering in the trajectory. This HIL experiment conclusively verified that the enhanced control framework delivers tangible improvements in the trajectory tracking accuracy and responsiveness of a quadrotor drone under realistic simulation conditions.

Conclusion

This work has presented a comprehensive enhancement of the Active Disturbance Rejection Control framework specifically for the challenging control problem of a quadrotor drone. The novel Tracking Differentiator (TTD) based on hyperbolic and inverse tangent functions offers a simpler, smoother, and more performant alternative for command processing. The `sfal` function, derived from the Sigmoid curve, successfully eliminates the chattering flaw in the traditional ESO while preserving its crucial nonlinear estimation characteristics. The dedicated Phase Compensator addresses the often-overlooked issue of phase lag in the ADRC loop, ensuring prompt response. When integrated into a cascade control architecture for the quadrotor drone, the proposed methods collectively achieve significant gains in attitude stabilization precision, disturbance rejection robustness, and trajectory tracking fidelity, as validated through both detailed numerical simulation and hardware-in-the-loop experimentation. This enhanced ADRC strategy provides a powerful and practical solution for deploying quadrotor drones in demanding real-world applications where precision and reliability are paramount.

Scroll to Top