Quadrotor UAV Fast Terminal Sliding Mode Fault-Tolerant Control Using Extended State Observer

In recent years, quadrotor unmanned aerial vehicles (UAVs) have gained significant attention due to their versatility in applications such as surveillance, delivery, and environmental monitoring. However, quadrotor systems are inherently nonlinear and susceptible to external disturbances and actuator faults, which can compromise flight stability and safety. This paper addresses the trajectory tracking problem for a quadrotor under complex disturbances and actuator failures by proposing a composite control strategy that integrates an extended state observer (ESO) with fast terminal sliding mode control (FTSMC). The primary contribution lies in enhancing the quadrotor’s robustness and fault tolerance through a novel observer-based framework that estimates and compensates for lumped uncertainties, including disturbances and faults. We develop a detailed dynamics model, design dual-loop controllers for position and attitude subsystems, and rigorously prove finite-time stability using Lyapunov analysis. Simulation results demonstrate the effectiveness of our approach in achieving precise tracking and fault recovery under adverse conditions.

The dynamics of a quadrotor are derived using the Newton-Euler formulation, considering six degrees of freedom. The system is divided into translational and rotational motions, with the following equations describing the quadrotor behavior under ideal conditions and including actuator faults and disturbances. Let the position vector be denoted as $P = [x, y, z]^T$ and the attitude vector as $\Theta = [\phi, \theta, \psi]^T$, where $\phi$, $\theta$, and $\psi$ represent roll, pitch, and yaw angles, respectively. The dynamics can be expressed as:

$$ \ddot{x} = (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi) \frac{U_1}{m} – \frac{K_x}{m} \dot{x}, $$

$$ \ddot{y} = (\cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi) \frac{U_1}{m} – \frac{K_y}{m} \dot{y}, $$

$$ \ddot{z} = (\cos\phi \cos\theta) \frac{U_1}{m} – \frac{K_z}{m} \dot{z} – g – d_1, $$

$$ \ddot{\phi} = \frac{I_y – I_z}{I_x} \dot{\theta} \dot{\psi} – \frac{K_\phi}{I_x} l \dot{\phi} + \frac{U_\phi}{I_x} + \frac{J_\phi}{I_x} \dot{\theta} \gamma + d_2, $$

$$ \ddot{\theta} = \frac{I_z – I_x}{I_y} \dot{\phi} \dot{\psi} – \frac{K_\theta}{I_y} l \dot{\theta} + \frac{U_\theta}{I_y} + \frac{J_\theta}{I_y} \dot{\phi} \gamma + d_3, $$

$$ \ddot{\psi} = \frac{I_x – I_y}{I_z} \dot{\phi} \dot{\theta} – \frac{K_\psi}{I_z} l \dot{\psi} + \frac{U_\psi}{I_z} + d_4, $$

where $m$ is the mass, $g$ is gravity, $I_x$, $I_y$, $I_z$ are moments of inertia, $K$ terms are aerodynamic coefficients, $l$ is the arm length, $J$ represents rotor inertia, $\gamma$ is rotor imbalance, and $d_i$ are external disturbances. The control inputs $U_1$, $U_\phi$, $U_\theta$, $U_\psi$ are generated by the actuators. To account for actuator faults, we model them as a combination of loss of effectiveness and bias faults:

$$ U_i = u_j (1 – p_i) + a_i f_i, \quad i = 1, \phi, \theta, \psi, \quad j = 1, \phi, \theta, \psi, $$

where $p_i \in [0, 0.9]$ is the effectiveness loss factor, $a_i$ is the bias fault status, and $f_i$ is the bias fault magnitude. For control design, we introduce virtual control inputs to decouple the system:

$$ u_x = (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi) \frac{u_1}{m}, $$

$$ u_y = (\cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi) \frac{u_1}{m}, $$

$$ u_z = (\cos\theta \cos\phi) \frac{u_1}{m}. $$

The quadrotor dynamics with faults and disturbances can be rewritten as:

$$ \ddot{x} = u_x – \frac{K_x}{m} \dot{x}, $$

$$ \ddot{y} = u_y – \frac{K_y}{m} \dot{y}, $$

$$ \ddot{z} = u_z – \frac{K_z}{m} \dot{z} + D_z – g, $$

$$ \ddot{\phi} = f_\phi + \frac{u_\phi}{I_x} + D_\phi, $$

$$ \ddot{\theta} = f_\theta + \frac{u_\theta}{I_y} + D_\theta, $$

$$ \ddot{\psi} = f_\psi + \frac{u_\psi}{I_z} + D_\psi, $$

where $D_z$, $D_\phi$, $D_\theta$, $D_\psi$ represent the lumped effects of disturbances and actuator faults, and $f_\phi$, $f_\theta$, $f_\psi$ encompass Coriolis and damping terms. The control objective is to ensure that the quadrotor tracks a desired trajectory $P_d = [x_d, y_d, z_d]^T$ and $\Theta_d = [\phi_d, \theta_d, \psi_d]^T$ despite these uncertainties.

We propose a dual-loop control structure, where the outer loop handles position control and the inner loop manages attitude control. For each loop, we design a fast terminal sliding mode controller combined with an extended state observer. The ESO estimates the lumped disturbances and faults in real-time, enabling compensation in the control law. The fast terminal sliding mode surface is defined to ensure finite-time convergence. For the attitude loop, the sliding surface for each axis is given by:

$$ s_j = \dot{\Theta}_e + \delta_j \Theta_e + \sigma_j \Theta_e^{n_j / m_j}, \quad j = \phi, \theta, \psi, $$

where $\Theta_e = \Theta – \Theta_d$ is the attitude error, $\delta_j$, $\sigma_j$ are positive constants, and $m_j > n_j$ are positive odd integers. The derivative of the sliding surface is:

$$ \dot{s}_j = \ddot{\Theta}_e + \delta_j \dot{\Theta}_e + \sigma_j \frac{n_j}{m_j} \Theta_e^{n_j / m_j – 1} \dot{\Theta}_e. $$

Using the reaching law $\dot{s}_j = -k_j s_j – \zeta_j \text{sgn}(s_j)$, where $k_j$, $\zeta_j$ are positive constants, the control law for the attitude loop is derived as:

$$ u_\phi = I_x \left( \ddot{\phi}_d – f_\phi – \delta_\phi \dot{\phi}_e – \sigma_\phi \frac{n_\phi}{m_\phi} \phi_e^{n_\phi / m_\phi – 1} \dot{\phi}_e – \hat{D}_\phi – k_\phi s_\phi – \zeta_\phi \text{sgn}(s_\phi) \right), $$

$$ u_\theta = I_y \left( \ddot{\theta}_d – f_\theta – \delta_\theta \dot{\theta}_e – \sigma_\theta \frac{n_\theta}{m_\theta} \theta_e^{n_\theta / m_\theta – 1} \dot{\theta}_e – \hat{D}_\theta – k_\theta s_\theta – \zeta_\theta \text{sgn}(s_\theta) \right), $$

$$ u_\psi = I_z \left( \ddot{\psi}_d – f_\psi – \delta_\psi \dot{\psi}_e – \sigma_\psi \frac{n_\psi}{m_\psi} \psi_e^{n_\psi / m_\psi – 1} \dot{\psi}_e – \hat{D}_\psi – k_\psi s_\psi – \zeta_\psi \text{sgn}(s_\psi) \right), $$

where $\hat{D}_\phi$, $\hat{D}_\theta$, $\hat{D}_\psi$ are the estimates from the ESO. Similarly, for the position loop, the sliding surface is:

$$ s_v = \dot{P}_e + \delta_v P_e + \sigma_v P_e^{n_v / m_v}, \quad v = x, y, z, $$

with $P_e = P – P_d$. The control laws are:

$$ u_x = \frac{K_x}{m} \dot{x} + \ddot{x}_d – \delta_x \dot{x}_e – \sigma_x \frac{n_x}{m_x} x_e^{n_x / m_x – 1} \dot{x}_e – k_x s_x – \zeta_x \text{sgn}(s_x), $$

$$ u_y = \frac{K_y}{m} \dot{y} + \ddot{y}_d – \delta_y \dot{y}_e – \sigma_y \frac{n_y}{m_y} y_e^{n_y / m_y – 1} \dot{y}_e – k_y s_y – \zeta_y \text{sgn}(s_y), $$

$$ u_z = \frac{K_z}{m} \dot{z} + \ddot{z}_d – \delta_z \dot{z}_e – \sigma_z \frac{n_z}{m_z} z_e^{n_z / m_z – 1} \dot{z}_e + g – \hat{D}_z – k_z s_z – \zeta_z \text{sgn}(s_z), $$

where $\hat{D}_z$ is the ESO estimate for the position loop. To mitigate chattering, we replace the sign function with a continuous approximation:

$$ \Xi = \begin{cases}
1, & s_i > \Delta, \\
\frac{s_i}{s_i + \lambda}, & |s_i| \leq \Delta, \\
-1, & s_i < -\Delta,
\end{cases} $$

where $\lambda$ is a small positive constant and $\Delta$ is a boundary layer thickness.

The extended state observer is designed to estimate the lumped disturbances. For the position loop, we define the ESO states as $z_{11}$, $z_{12}$, $z_{13}$ for position, velocity, and disturbance, respectively. The ESO dynamics are:

$$ \dot{z}_{11} = z_{12} – \beta_1 e_{11}, $$

$$ \dot{z}_{12} = z_{13} – \beta_2 \text{fal}(e_{11}, 0.5, \varepsilon) + \frac{u_z}{m}, $$

$$ \dot{z}_{13} = -\beta_3 \text{fal}(e_{11}, 0.25, \varepsilon), $$

where $e_{11} = z_{11} – z$, and $\text{fal}(e, a, \varepsilon)$ is a nonlinear function defined as:

$$ \text{fal}(e, a, \varepsilon) = \begin{cases}
e / \varepsilon^{1-a}, & |e| \leq \varepsilon, \\
|e|^a \text{sgn}(e), & |e| > \varepsilon.
\end{cases} $$

The disturbance estimate is $\hat{D}_z = z_{13}$. Similarly, for the attitude loop, we design ESOs for each axis with states $z_{21}$ to $z_{23}$ for roll, $z_{31}$ to $z_{33}$ for pitch, and $z_{41}$ to $z_{43}$ for yaw. The observer gains $\beta$ are tuned to ensure convergence.

To prove finite-time stability, we use Lyapunov analysis. Consider the Lyapunov function for the attitude loop:

$$ V_\Theta = \frac{1}{2} s_\Theta^2. $$

Taking the derivative and substituting the control law yields:

$$ \dot{V}_\Theta = s_\Theta \dot{s}_\Theta = s_\Theta (D_\Theta – \hat{D}_\Theta – k_\Theta s_\Theta – \zeta_\Theta \text{sgn}(s_\Theta)). $$

Since the ESO ensures $D_\Theta – \hat{D}_\Theta$ converges to zero, we have:

$$ \dot{V}_\Theta \leq -k_\Theta s_\Theta^2 – \zeta_\Theta |s_\Theta|. $$

By the finite-time stability lemma, the system reaches the sliding surface $s_\Theta = 0$ in finite time $T_s \leq \frac{m}{\alpha (m – n)} \ln \left( \frac{\alpha V(0)^{1 – n/m} + \tau}{\tau} \right)$, where $\alpha$ and $\tau$ are positive constants. A similar analysis applies to the position loop.

We conducted simulations in MATLAB/Simulink to validate the proposed control strategy. The quadrotor parameters are summarized in Table 1.

Table 1: Quadrotor Parameters
Parameter Value Unit
Mass, $m$ 2.00 kg
Arm length, $l$ 0.200 m
Rotor inertia, $J$ 0.005 kg·m²
Gravity, $g$ 9.8 N/kg
Moment of inertia, $I_x$, $I_y$ 1.25 N·s²/rad
Moment of inertia, $I_z$ 2.5 N·s²/rad
Aerodynamic coefficients, $K$ 0.01 N·s/m

The desired trajectory is set as $x_d = \cos t$, $y_d = \sin t + 2$, $z_d = 5 + t$, and $\psi_d = \pi/3$. External disturbances are modeled as time-varying functions:

$$ d_1 = \begin{cases}
2m(1 – e^{-10t}), & 0 \leq t < 8, \\
5 + \sin(0.5t), & 8 \leq t < 15, \\
-2, & t \geq 15,
\end{cases} $$

$$ d_2, d_3, d_4 = \begin{cases}
2, & 0 \leq t < 6, \\
5 + \sin(0.5t), & 6 \leq t < 15, \\
-2, & t \geq 15.
\end{cases} $$

Actuator faults are introduced at $t = 10$ s, with effectiveness loss factors $p_1 = 0.5$, $p_2 = p_3 = p_4 = 0.2$ and bias faults $f_1 = 4$, $f_2 = 0.1 \sin(0.5\pi t)$, $f_3 = 2$, $f_4 = 2.5 \sin(0.5\pi t)$. The controller parameters are tuned as follows: $k_{x,y,z} = 0.01$, $k_{\phi,\theta,\psi} = 60$, $\delta_{\phi,\theta,\psi} = 15$, $\delta_{x,y,z} = 30$, $\zeta = 0.1$, $n = 15$, $m = 17$, $\sigma = 1$, $\lambda = 0.015$, and ESO gains $\beta_{1z,2z} = 0.1$, $\beta_{3z} = 20$, $\beta_{1\phi,1\theta,1\psi} = 0.5$, $\beta_{2\phi,2\theta,2\psi} = 0.5$, $\beta_{3\phi,3\theta,3\psi} = 50$.

We compare our method (CESOSMC) with integral sliding mode control (ISMC), composite ESO terminal integral sliding mode control (CESOTISMC), and robust global fast terminal sliding mode control (RGFTSMC). The performance metrics include tracking error, convergence time, and fault tolerance. Table 2 summarizes the quantitative results.

Table 2: Performance Comparison
Control Method Position Error RMS Attitude Error RMS Convergence Time (s)
ISMC 0.15 0.08 5.2
CESOTISMC 0.10 0.05 4.0
RGFTSMC 0.07 0.04 3.5
CESOSMC (Proposed) 0.03 0.02 2.8

The results show that our CESOSMC method achieves the lowest tracking errors and fastest convergence, thanks to the ESO’s accurate disturbance estimation and the finite-time properties of FTSMC. The quadrotor maintains stable flight even under severe faults and disturbances, as evidenced by the trajectory tracking plots and error convergence. The attitude responses demonstrate reduced chattering due to the continuous approximation function.

In conclusion, we have developed a robust fault-tolerant control scheme for quadrotor UAVs that combines extended state observation with fast terminal sliding mode control. The ESO effectively estimates lumped disturbances and actuator faults, while the FTSMC ensures finite-time convergence and high precision. Lyapunov analysis confirms stability, and simulations validate superior performance compared to existing methods. Future work will address input saturation and real-time implementation challenges for practical quadrotor applications.

Scroll to Top