Robust Trajectory Tracking Control for Quadrotor Drones Based on Improved Extended State Observer

In recent years, quadrotor drones have gained significant attention due to their versatility in applications such as surveillance, delivery, and environmental monitoring. However, achieving precise trajectory tracking for quadrotor drones remains challenging because of inherent nonlinearities, model uncertainties, and external disturbances. As a researcher in this field, I have explored various control strategies to enhance the robustness and accuracy of quadrotor drone systems. In this article, I present a novel control scheme that integrates an improved extended state observer (ESO) with integral sliding mode control (ISMC) to address these issues. The goal is to ensure stable and accurate trajectory tracking for quadrotor drones even in the presence of lumped disturbances, including internal parameter variations and external wind gusts.

The core idea revolves around treating all uncertainties as lumped disturbances and estimating them using an improved ESO based on a galn function, which offers smoother performance compared to traditional fal functions. Subsequently, an integral sliding mode controller is designed for both position and attitude loops to achieve continuous control action. I will detail the mathematical modeling, controller design, stability analysis, and validation through simulations and real-world experiments. Throughout this discussion, the term “quadrotor drone” will be emphasized to highlight the focus of this work. To begin, let’s visualize a typical quadrotor drone structure, which consists of four rotors arranged symmetrically, enabling vertical take-off and landing capabilities.

The dynamics of a quadrotor drone are inherently nonlinear and underactuated, making control design complex. Based on Newton-Euler principles, the mathematical model can be derived. Consider a quadrotor drone with mass $$m$$ and gravitational acceleration $$g$$. Let the position vector in the inertial frame be denoted as $$\mathbf{p} = [x, y, z]^T$$ and the attitude angles as $$\boldsymbol{\Theta} = [\phi, \theta, \psi]^T$$, where $$\phi$$, $$\theta$$, and $$\psi$$ represent roll, pitch, and yaw angles, respectively. The equations of motion are given by:

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

where $$I_x$$, $$I_y$$, and $$I_z$$ are moments of inertia, $$I_r$$ is the rotor inertia, $$l$$ is the arm length, $$\omega = \omega_2 + \omega_4 – \omega_1 – \omega_3$$ with $$\omega_i$$ as rotor speeds, and $$d_i$$ (for $$i = x, y, z, \phi, \theta, \psi$$) represent external disturbances. The control inputs are defined as $$\mathbf{U} = [U_1, U_2, U_3, U_4]^T$$, related to rotor speeds through coefficients $$k_t$$ (thrust) and $$k_m$$ (torque). For clarity, Table 1 summarizes the key parameters used in the quadrotor drone model.

Table 1: Parameters of the Quadrotor Drone Model
Parameter Symbol Value
Mass $$m$$ 1.4 kg
Gravity $$g$$ 9.81 m/s²
Arm Length $$l$$ 0.225 m
Moment of Inertia (x-axis) $$I_x$$ 0.0211 kg·m²
Moment of Inertia (y-axis) $$I_y$$ 0.0219 kg·m²
Moment of Inertia (z-axis) $$I_z$$ 0.0366 kg·m²
Rotor Inertia $$I_r$$ 1.287 × 10⁻⁴ kg·m²
Thrust Coefficient $$k_t$$ 1.105 × 10⁻⁵ N·s²
Torque Coefficient $$k_m$$ 1.779 × 10⁻⁷ N·m·s²

To handle the uncertainties in the quadrotor drone system, I propose an improved extended state observer. Traditional ESOs use fal functions, but they can introduce chattering. Instead, I employ a galn function, which provides smoother estimation. For the pitch channel $$\theta$$, the system can be rewritten as:

$$
\begin{align*}
\dot{x}_{\theta 1} &= x_{\theta 2}, \\
\dot{x}_{\theta 2} &= w_\theta + b_\theta U_3, \\
\dot{w}_\theta &= h_\theta(t), \\
y_\theta &= x_{\theta 1},
\end{align*}
$$

where $$x_{\theta 1} = \theta$$, $$x_{\theta 2} = \dot{\theta}$$, $$w_\theta$$ is the lumped disturbance, and $$b_\theta = l / I_y$$. The improved ESO is designed as:

$$
\begin{align*}
\hat{x}_{\theta 1} &= \hat{x}_{\theta 2} – \beta_1 \eta_{\theta 1}, \\
\hat{x}_{\theta 2} &= \hat{w}_\theta – \beta_2 \text{galn}(\eta_{\theta 1}, \sigma_1) + b_\theta U_3, \\
\hat{w}_\theta &= -\beta_3 \text{galn}(\eta_{\theta 1}, \sigma_2),
\end{align*}
$$

with $$\eta_{\theta 1} = \hat{x}_{\theta 1} – x_{\theta 1}$$. The galn function is defined as:

$$
\text{galn}(\eta, \sigma) =
\begin{cases}
\frac{\eta}{\sigma^2} e^{-\frac{\eta^2}{2\sigma^2}}, & |\eta| \leq 1, \\
\frac{1}{\sigma^2} e^{-\frac{1}{2\sigma^2}} \text{sign}(\eta), & |\eta| > 1.
\end{cases}
$$

This function ensures continuity and reduces chattering. The parameters $$\beta_1, \beta_2, \beta_3, \sigma_1, \sigma_2$$ are tuned for optimal performance. Similar observers are applied to other channels of the quadrotor drone. To illustrate, Table 2 lists the ESO parameters used for each channel.

Table 2: Improved ESO Parameters for the Quadrotor Drone
Channel $$\beta_1$$ $$\beta_2$$ $$\beta_3$$ $$\sigma_1$$ $$\sigma_2$$
x 120 100 300 0.5 0.25
y 120 100 300 0.5 0.25
z 120 100 300 0.5 0.25
$$\phi$$ 50 400 3000 0.5 0.25
$$\theta$$ 50 400 3000 0.5 0.25
$$\psi$$ 50 400 3000 0.5 0.25

With the disturbance estimates from the improved ESO, I design an integral sliding mode controller for trajectory tracking. The control structure is decoupled into position and attitude loops. For the position loop, define the tracking error as $$\mathbf{e}_p = \mathbf{p}_d – \mathbf{p}$$, where $$\mathbf{p}_d$$ is the desired trajectory. The sliding surface for the x-channel is:

$$
s_x = k_{px} e_x + \dot{e}_x + k_{ix} \int e_x(\tau) d\tau,
$$

with gains $$k_{px}, k_{ix} > 0$$. The control law is derived using a reaching law approach:

$$
U_x = \ddot{x}_d + k_{px} \dot{\hat{e}}_x + k_{ix} \hat{e}_x – \hat{w}_x – k_x \text{sat}(\hat{s}_x),
$$

where $$\hat{e}_x = x_d – \hat{x}$$, $$\dot{\hat{e}}_x = \dot{x}_d – \dot{\hat{x}}$$, $$\hat{w}_x$$ is the estimated disturbance, and $$\text{sat}(\cdot)$$ is a saturation function to mitigate chattering. Similar laws apply to y and z channels. For the attitude loop, the sliding surface is:

$$
\mathbf{s}_\Theta = \dot{\boldsymbol{\xi}}_\Theta + \mathbf{k}_{p\Theta} \boldsymbol{\xi}_\Theta + \mathbf{k}_{i\Theta} \int \boldsymbol{\xi}_\Theta(\tau) d\tau – \mathbf{k}_{p\Theta} \boldsymbol{\xi}_\Theta(t_0) – \dot{\boldsymbol{\xi}}_\Theta(t_0),
$$

with $$\boldsymbol{\xi}_\Theta = \boldsymbol{\Theta} – \boldsymbol{\Theta}_d$$. The control inputs for attitude are:

$$
\begin{align*}
U_2 &= \frac{1}{b_\phi} \left[ \ddot{\phi}_d – \hat{w}_\phi – k_{p\phi} \dot{\hat{\xi}}_\phi – k_{i\phi} \hat{\xi}_\phi – k_\phi \text{sat}(\hat{s}_\phi) \right], \\
U_3 &= \frac{1}{b_\theta} \left[ \ddot{\theta}_d – \hat{w}_\theta – k_{p\theta} \dot{\hat{\xi}}_\theta – k_{i\theta} \hat{\xi}_\theta – k_\theta \text{sat}(\hat{s}_\theta) \right], \\
U_4 &= \frac{1}{b_\psi} \left[ \ddot{\psi}_d – \hat{w}_\psi – k_{p\psi} \dot{\hat{\xi}}_\psi – k_{i\psi} \hat{\xi}_\psi – k_\psi \text{sat}(\hat{s}_\psi) \right],
\end{align*}
$$

where $$b_\phi = l/I_x$$, $$b_\theta = l/I_y$$, $$b_\psi = 1/I_z$$. The controller gains are summarized in Table 3 for the quadrotor drone.

Table 3: Integral Sliding Mode Controller Gains for the Quadrotor Drone
Channel $$k_p$$ $$k_i$$ $$k$$
x, y, z 20 20 1
$$\phi, \theta, \psi$$ 4 10 10

Stability analysis is conducted using Lyapunov theory. For the pitch channel, consider the Lyapunov function $$V_\theta = \hat{s}_\theta^2 / 2$$. After substituting the control law and observer dynamics, the time derivative yields:

$$
\dot{V}_\theta \leq -k_\theta \text{sat}(\hat{s}_\theta) \hat{s}_\theta + \frac{1}{2} \left( \hat{s}_\theta^2 + (k_{p\theta} \beta_1 – A_2)^2 M^2 \right),
$$

where $$A_2 = -\beta_2 \text{galn}(\eta_{\theta 1}, \sigma_1)/\eta_{\theta 1}$$ and $$M$$ is a bound on observer errors. By choosing gains appropriately, $$\dot{V}_\theta \leq 0$$, ensuring convergence. Barbalat’s lemma confirms that $$\lim_{t \to \infty} \hat{s}_\theta = 0$$, implying tracking error tends to zero. This proves the robustness of the quadrotor drone control system.

To validate the proposed method, I performed numerical simulations in MATLAB/Simulink. The quadrotor drone is tasked to track a desired trajectory: $$x_d = \sin(t)$$, $$y_d = \cos(t)$$, $$z_d = 0.2t$$, and $$\psi_d = \pi/6$$ rad. External disturbances are modeled as $$d_i = 0.5 \sin(t)$$ for all channels. I compared four control strategies: cascade integral sliding mode (CISMC), integral backstepping plus integral sliding mode (IB-ISMC), traditional ESO-based ISMC, and the proposed improved ESO-based ISMC. The results demonstrate the superiority of the proposed approach for the quadrotor drone. For instance, position tracking errors are summarized in Table 4, showing that the proposed method reduces errors to below 1%.

Table 4: Position Tracking Errors for the Quadrotor Drone Under Different Controllers
Controller Max Error in x (%) Max Error in y (%) Max Error in z (%)
CISMC 5.2 4.8 6.1
IB-ISMC 3.7 3.5 4.9
Traditional ESO-ISMC 1.5 1.3 1.8
Proposed Improved ESO-ISMC 0.8 0.7 0.9

The attitude tracking errors also show significant improvement, with the proposed method keeping errors within 1%. These results highlight the effectiveness of the improved ESO in estimating disturbances for the quadrotor drone. Furthermore, the control inputs remain smooth due to the saturation function, avoiding excessive chattering.

In addition to simulations, I conducted real-world experiments using a custom-built quadrotor drone platform. The drone is equipped with brushless DC motors, an onboard computer, a flight controller, GPS, and a battery. The task was to track a circular trajectory with a radius of 1 meter at a height of 3.5 meters. The proposed control algorithm was implemented on the onboard computer, which processed sensor data to compute control commands. The experimental setup confirms the practicality of the method for quadrotor drone applications. During flight tests, the quadrotor drone successfully followed the desired path, with position errors generally below 20%, as shown in Table 5. This demonstrates the feasibility of the approach in real-world scenarios where quadrotor drones face unpredictable disturbances.

Table 5: Experimental Position Tracking Errors for the Quadrotor Drone
Axis Average Error (m) Maximum Error (m) Error Percentage (%)
x 0.15 0.25 12.5
y 0.18 0.30 15.0
z 0.12 0.20 10.0

The integration of the improved ESO with integral sliding mode control offers a robust solution for trajectory tracking of quadrotor drones. Key contributions include the application of the galn-based ESO to both position and attitude loops, enhancing disturbance rejection, and the design of a continuous controller that minimizes chattering. The quadrotor drone system exhibits strong robustness against model uncertainties and external disturbances, as validated through simulations and experiments.

Future work could focus on adapting the controller for quadrotor drone swarms or incorporating machine learning techniques for parameter tuning. Additionally, handling scenarios with abrupt disturbances or data loss would further improve the practicality of quadrotor drone systems. In conclusion, this research advances the field of autonomous drone control by providing a reliable method for robust trajectory tracking, ensuring that quadrotor drones can operate effectively in complex environments.

Throughout this article, I have emphasized the term “quadrotor drone” to underscore the applicability of the proposed control scheme. The use of tables and formulas, such as those summarizing parameters and errors, aids in clarity and reproducibility. The improved ESO-based approach represents a significant step forward in achieving precise and stable control for quadrotor drones, paving the way for more advanced applications in various industries.

Scroll to Top