Composite Global Non-singular Fast Terminal Sliding Mode Control for Quadrotor Trajectory Tracking

In recent years, with the proposal of the low-altitude economy, research and applications of unmanned aerial vehicles (UAVs) have gained renewed attention and promotion. Among them, quadrotor UAVs play an increasingly important role due to their advantages such as low cost, vertical take-off and landing, and hovering capabilities. However, quadrotor UAVs are highly unstable systems, and a sensitive, robust trajectory tracking and stable flight control system are key prerequisites for performing flight missions, placing higher demands on the trajectory tracking accuracy of UAVs. Factors such as model parameter uncertainties, unmodeled system dynamics, and other internal adverse factors make control effects relying on precise models less ideal. Simultaneously, external disturbances like strong wind interference and sensor noise further increase the difficulty of controller design. Therefore, designing a robust controller for quadrotor UAVs is a major challenge in this research field. Anti-disturbance control has been widely applied to quadrotor UAVs due to its ability to suppress disturbances. Generally, anti-disturbance control is divided into two categories: one involves designing robust controllers to achieve anti-disturbance, and the other involves designing disturbance observers to estimate and compensate for disturbances.

Currently, the first approach primarily includes two methods: one is based on the “industrial paradigm” of classical control theory—error elimination methods: represented by PID and linear quadratic regulator (LQR) in literature, which have simple control structures and are easy to implement, but they exhibit weak anti-disturbance capabilities and low control accuracy. The other is based on the “model paradigm” of modern control theory—methods describing internal mechanisms: literature considers dynamics and input saturation constraints using model predictive control algorithms to achieve UAV trajectory tracking, but it involves high computational loads; literature applies model predictive control to underwater vehicles for trajectory tracking. These methods rely on model linearization and nominal mathematical models to achieve anti-disturbance control for small-energy disturbances through the robustness of their algorithms.

As quadrotor UAVs face increasing complexity and diversity in mission execution and are affected by multi-source disturbances, the aforementioned methods struggle to meet the requirements for active disturbance suppression. From the literature, estimating disturbances through designed disturbance observers and then introducing the estimated information into the controller in a feedforward compensation manner is currently one of the more popular methods for achieving active and rapid disturbance suppression. Literature uses high-order sliding mode observers to estimate the system’s lumped disturbances for active suppression of multi-source disturbances in UAVs. Literature applies disturbance observers to underwater vehicles for anti-disturbance control; literature utilizes nonlinear disturbance observers to estimate lumped disturbances for trajectory tracking disturbance suppression; additionally, combining nonlinear disturbance observers with sliding mode control can further enhance system robustness. These methods design disturbance observers based on determined disturbance quantities to achieve active disturbance suppression. However, when disturbances are unknown or of high energy, the robustness of these methods may not guarantee active and rapid disturbance suppression.

Active Disturbance Rejection Control (ADRC) is an anti-disturbance method based on an Extended State Observer (ESO). It consists of a Tracking Differentiator (TD), an Extended State Observer (ESO), and a nonlinear state error feedback control law. The core of ADRC is that the ESO treats internal and external disturbances as lumped disturbances and estimates and compensates for them in real time, referred to as the “anti-disturbance paradigm,” which actively and rapidly suppresses multi-source disturbances and uncertainties in the system. Literature uses ESO to estimate system lumped disturbances and combines it with a PD controller to design a dual-loop ADRC. Simulation results show that this method can achieve anti-disturbance in trajectory tracking, but the PD controller faces a dynamic balance between response speed and overshoot. Meanwhile, literature only estimates lumped disturbances and does not leverage the ESO’s ability to estimate state information for sensorless control.

Considering existing research results, to further extend the performance of ADRC, this paper adopts a scheme combining Non-singular Fast Terminal Sliding Mode Control (NFTSMC) with ESO and proposes a composite global non-singular fast terminal sliding mode scheme. First, based on the characteristics of the quadrotor UAV, it is divided into four independent channels: the altitude channel, the yaw channel, the horizontal X-pitch cascade channel, and the horizontal Y-roll cascade channel. Second, to address the impact of multi-source disturbances, the ESO is used to estimate lumped disturbances (coupling terms and external disturbances in each channel) and state information. Then, based on the estimated information, a composite control scheme is designed using TD and non-singular fast terminal sliding mode control in the position and attitude loops, respectively. The proposed method not only estimates lumped disturbances and their state information to achieve sensorless control but also effectively improves the system’s anti-disturbance capability.

The quadrotor UAV is a highly nonlinear and underactuated system. To improve the maneuverability efficiency of the quadrotor, an “X”-type quadrotor UAV is selected as the research object (red indicates the head direction; the angle between the head and the frame is 45°), and a body coordinate system (Ob, Xb, Yb, Zb) and an inertial coordinate system (Oe, Xe, Ye, Ze) are established. The dynamic model of the quadrotor UAV is derived using the Newton-Euler equations. The position and velocity vectors of the quadrotor UAV in the inertial coordinate system are defined as P = [x, y, z]^T and Ṗ = [ẋ, ẏ, ż]^T, respectively. The attitude angles in the inertial coordinate system are represented as Θ = [φ, θ, ψ]^T, i.e., roll angle, pitch angle, and yaw angle; Ω = [φ̇, θ̇, ψ̇]^T represents the angular velocities of the UAV in the body frame. The dynamic model is as follows:

$$ \begin{align*}
\ddot{x} &= (\cos \phi \sin \theta \cos \psi + \sin \phi \sin \psi) f / m – k_1 \dot{x} / m + d_1 \\
\ddot{y} &= (\cos \phi \sin \theta \sin \psi – \sin \phi \cos \psi) f / m – k_2 \dot{y} / m + d_2 \\
\ddot{z} &= g – (\cos \phi \cos \theta) f / m – k_3 \dot{z} / m + d_3 \\
\ddot{\phi} &= \left( \tau_x + (I_y – I_z) \dot{\theta} \dot{\psi} – k_4 l \dot{\phi} \right) / I_x + d_4 \\
\ddot{\theta} &= \left( \tau_y + (I_z – I_x) \dot{\phi} \dot{\psi} – k_5 l \dot{\theta} \right) / I_y + d_5 \\
\ddot{\psi} &= \left( \tau_z + (I_x – I_y) \dot{\phi} \dot{\theta} – k_6 \dot{\psi} \right) / I_z + d_6
\end{align*} $$

where f is the total lift force on the UAV body; m is the mass of the UAV; g is the gravitational acceleration; Ix, Iy, and Iz are the moments of inertia about each axis; τ = (τx, τy, τz) is the moment acting on the UAV about each axis; k1, k2, and k3 are air resistance coefficients; k4, k5, and k6 are air resistance moment coefficients; di (i = 1, 2, …, 6) represent external disturbances; l is the radius of the UAV body. The relationship between the total lift f and moments τ and the actual speed of the motors is given by:

$$ \begin{align*}
f &= C_T (\varpi_1^2 + \varpi_2^2 + \varpi_3^2 + \varpi_4^2) \\
\tau_x &= \frac{\sqrt{2}}{2} l C_T (-\varpi_1^2 + \varpi_2^2 + \varpi_3^2 – \varpi_4^2) \\
\tau_y &= \frac{\sqrt{2}}{2} l C_T (-\varpi_1^2 – \varpi_2^2 + \varpi_3^2 + \varpi_4^2) \\
\tau_z &= C_m (\varpi_1^2 + \varpi_2^2 – \varpi_3^2 – \varpi_4^2)
\end{align*} $$

where CT is the propeller thrust coefficient; Cm is the propeller moment coefficient; ϖi (i = 1, 2, 3, 4) is the actual speed of the motors.

Based on the underactuated characteristics of the quadrotor UAV, it is divided into four independent channels: the Z-axis altitude channel, the X-θ cascade channel, the Y-φ cascade channel, and the yaw ψ channel. The altitude channel and yaw channel are controlled by the control inputs df and τz, respectively; the X-θ and Y-φ cascade channels are controlled by the control inputs τy and τx, respectively. Virtual control inputs are introduced in the position loop as follows:

$$ \begin{align*}
u_x &= (\cos \phi \sin \theta \cos \psi + \sin \phi \sin \psi) f \\
u_y &= (\cos \phi \sin \theta \sin \psi – \sin \phi \cos \psi) f \\
u_z &= (\cos \phi \cos \theta) f
\end{align*} $$

The lift force and intermediate attitude angles required to generate the virtual control inputs in the position loop are:

$$ \begin{align*}
f_d &= u_z / (\cos(\phi_d) \cos(\theta_d)) \\
\theta_d &= \arctan((u_x \cos \psi_d + u_y \sin \psi_d) / u_z) \\
\phi_d &= \arctan((u_x \sin \psi_d – u_y \cos \psi_d) / u_z)
\end{align*} $$

After introducing the virtual control inputs, the state equation of the system becomes:

$$ \begin{align*}
\ddot{x} &= u_x / m + D_x \\
\ddot{y} &= u_y / m + D_y \\
\ddot{z} &= u_z / m + D_z \\
\ddot{\phi} &= \tau_x / I_x + D_\phi \\
\ddot{\theta} &= \tau_y / I_y + D_\theta \\
\ddot{\psi} &= \tau_z / I_z + D_\psi
\end{align*} $$

where Dx, Dy, Dz and Dφ, Dθ, Dψ are the lumped disturbances in the three channels of the position and attitude loops, respectively, Dx = -k1ẋ/m + d1, Dy = -k2ẏ/m + d2, Dz = g – k3ż/m + d3, Dφ = ((Iy – Iz)θ̇ψ̇ – k4lφ̇)/Ix + d4, Dθ = ((Iz – Ix)φ̇ψ̇ – k5lθ̇)/Iy + d5, Dψ = ((Ix – Iy)φ̇θ̇ – k6ψ̇)/Iz + d6. The trajectory tracking error of the quadrotor UAV is defined as: ex = xd – x, ėx = ẋd – ẋ, ey = yd – y, ėy = ẏd – ẏ, ez = zd – z, ėz = żd – ż, eφ = φd – φ, ėφ = φ̇d – φ̇, eθ = θd – θ, ėθ = θ̇d – θ̇, eψ = ψd – ψ, ėψ = ψ̇d – ψ̇. The goal of the designed controller is to transform the UAV trajectory tracking problem into a tracking error stabilization problem.

The design of the composite non-singular fast terminal sliding mode controller first involves designing two cascade tracking differentiators to obtain the tracking signal, first-order differential signal, and second-order differential signal of the input signal. Then, an ESO is designed to estimate the lumped disturbances and system state information. Based on the estimated information, a composite global non-singular fast terminal sliding mode control scheme is designed to ensure that the tracking error quickly reaches the sliding surface until asymptotic stability is achieved. Due to the symmetry of the quadrotor UAV body structure, without loss of generality, the yaw channel control structure is taken as an example. The control scheme is shown in the figure above.

For the altitude channel, which is an independent channel of the quadrotor UAV, the goal is to obtain the control variable df. The design process is as follows. First, the cascade TD for the altitude channel is designed. The TD provides the tracking signal and its derivatives for the reference input. The ESO for the altitude channel is designed to estimate the state information and lumped disturbances. Based on the estimated information, the non-singular fast terminal sliding mode controller is designed. The sliding surface is defined as:

$$ S_i = \alpha_i e_i + \hat{\dot{e}}_i + \beta_i e_i^{m_i/n_i} \hat{\dot{e}}_i^{p_i/q_i}, \quad i = x, y, z, \phi, \theta, \psi $$

where αi > 0, βi > 0, mi, ni, pi, qi are positive odd integers satisfying 1 < pi/qi < mi/ni < 2, ei and ė̂i are the trajectory tracking error and the estimated rate of change of the tracking error, respectively. For the altitude channel state equation, the composite non-singular fast terminal sliding mode controller is designed as:

$$ \begin{align*}
u_z &= \frac{1}{b_{0z}} \left[ k_{z1} S_z + k_{z2} \text{sign}(S_z) + \frac{m_z n_z}{q_z} \beta_z \hat{\dot{e}}_z^{p_z/q_z} \left(1 + \frac{p_z}{q_z} \alpha_z \hat{e}_z^{m_z/n_z – 1} \right) + \hat{D}_z \right] \\
f_d &= \frac{u_z}{\cos(\phi_d) \cos(\theta_d)}
\end{align*} $$

This ensures that the altitude channel tracking error ez converges to zero in finite time. Here, kz1 > 0, kz2 > 0, and ė̂z = żd – ż̂.

For the X-θ cascade channel, xd is the reference input for the X channel. From the virtual control inputs, the intermediate variable θd is obtained, which serves as the reference input for the pitch θ channel. The entire cascade channel X-θ control algorithm design involves similar steps: TD for reference signals, ESO for state and disturbance estimation, and NFTSMC for control. The control input for the X channel is ux, and for the pitch channel is τy. The controllers are designed to ensure tracking error convergence.

Similarly, for the Y-φ cascade channel, the design process is analogous to the X-θ channel. The control input for the Y channel is uy, and for the roll channel is τx. The yaw channel ψ design process is similar to the altitude channel, with the control input being τz.

The stability analysis involves proving the convergence of the ESO and the finite-time convergence of the tracking error. For the ESO, it is shown that if the lumped disturbances are bounded, the estimation error converges to zero. For the system, when the state information and lumped disturbances are accurately estimated by the ESO, the sliding variable converges to zero in finite time, and consequently, the tracking error converges to zero in finite time.

To validate the superiority and effectiveness of the proposed method, simulations are conducted comparing the proposed method (NFTSMC+ESO) with classical PID-PID (PID+PID), NFTSMC without observer, and PD control scheme based on ESO (PD+ESO) from literature. The saturation function is used instead of the sign function to ensure the continuity of the control input. The saturation function is defined as:

$$ \text{sat}(S_i, d) = \begin{cases}
\text{sign}(S_i) & \text{if } |S_i| > d \\
\frac{S_i}{d} & \text{if } |S_i| \leq d
\end{cases} $$

where d is a positive constant, set to d = 0.2. The initial position and attitude of the quadrotor UAV are set as y(0) = 1, and other initial poses are 0. The reference trajectory and heading angle are set as xd = cos(0.5t), yd = sin(0.5t), zd = 0.2t + 2, ψd = π/3. Disturbances are added to simulate real-world conditions: constant disturbances and wind disturbances in the attitude loop, sinusoidal function disturbances in the horizontal channels, and a ramp function in the altitude channel to simulate continuous load changes. The disturbances are set as follows for position channels:

$$ \begin{align*}
d_1 = d_2 &= \begin{cases}
0 & 0 \leq t < 10 \\
0.5 & 10 \leq t < 20 \\
0.5 \sin(0.5t) + 0.5 & 20 \leq t < 30 \\
-0.5 & 30 \leq t < 40 \\
0 & 40 \leq t \leq 50
\end{cases} \\
d_3 &= 2 – 0.02t, \quad 0 \leq t \leq 50
\end{align*} $$

For attitude channels:

$$ d_4 = d_5 = d_6 = \begin{cases}
0 & 0 \leq t < 10 \\
0.2 & 10 \leq t < 20 \\
0.2 \sin(0.5t) + 0.2 & 20 \leq t < 30 \\
-0.2 & 30 \leq t < 40 \\
0 & 40 \leq t \leq 50
\end{cases} $$

The model parameters and controller parameters for simulation are summarized in the following tables.

Table 1: Quadrotor UAV Model Parameters
Parameter Physical Meaning Value
m System mass 2 kg
g Gravitational acceleration 9.8 m/s²
Ix Moment of inertia about X-axis 1.25 kg·m²
Iy Moment of inertia about Y-axis 1.25 kg·m²
Iz Moment of inertia about Z-axis 2.5 kg·m²
l Body radius 0.25 m
ki (i=1,2,3) Air resistance coefficient 0.012 N·s/m
ki (i=4,5,6) Air resistance moment coefficient 0.011 N·s/rad
Table 2: Position and Attitude Loop Controller Parameters
Parameter x y z φ θ ψ
αi 1 1 1 0.07 0.07 0.07
βi 1 1 1 0.06 0.06 0.06
mi 5 5 5 7 7 7
ni 3 3 3 3 3 3
pi 5 5 5 7 7 7
qi 3 3 3 3 3 3
ki1 0.2 0.4 1 40 40 15
ki2 1 1 1 3 3 3
ωoi 25 25 25 50 50 20
b0i 0.5 0.5 0.5 0.8 0.8 0.4
ri1 100 100 100 100 100 100
ri2 2 2 2 2 2 2
h0 0.001 0.001 0.001 0.001 0.001 0.001

Simulation results show that the proposed method has better response curves and anti-disturbance capabilities in the three channels of the position loop compared to other methods. PD+ESO and NFTSMC also have certain anti-disturbance capabilities, while PID+PID has weak anti-disturbance capabilities. In the X-axis trajectory tracking response curve, the proposed method reaches the desired trajectory faster in the initial stage and remains closer to the reference trajectory under time-varying disturbances. In the Y-axis trajectory tracking curve, the response curve of the proposed method remains close to the desired trajectory under constant and time-varying disturbances. In the Z-axis trajectory tracking response curve, PID+PID and NFTSMC response curves deviate significantly from the desired values, while the proposed method and PD+ESO track the desired trajectory faster. The yaw angle trajectory tracking and error response curves show that except for PID+PID, other control methods can reach the desired yaw angle within 2 seconds, and the steady-state error converges to zero quickly. The roll angle and pitch angle stabilization response curves during trajectory tracking show that the proposed method converges to zero quickly in the initial stage, while PD+ESO and NFTSMC exhibit some oscillations. The control input response curves of the quadrotor UAV are smooth due to the use of the saturation function. When disturbances change abruptly, the control inputs also change abruptly but recover quickly. The control inputs of traditional NFTSMC and the proposed method are at the same level, which is in line with engineering practice.

The lumped disturbances in the position and attitude loops are accurately estimated by the ESO within about 3 seconds. The linear velocities in the position loop and angular velocities in the attitude loop are accurately estimated, demonstrating the effectiveness of the ESO. To quantitatively evaluate trajectory tracking accuracy, the Integral Square Error (ISE) is introduced. The ISE value is calculated as:

$$ \text{ISE} = \int_{t_0}^{t_1} e(t)^2 dt $$

where t0 and t1 are the start and end times of the simulation, and e(t) is the state tracking error. The ISE values for the four control methods are summarized in the following table.

Table 3: ISE Values of the Four Control Methods
Variable PID NFTSMC PD+ESO Proposed Method
X 1.403 0.8643 2.092 0.4713
Y 1.124 0.7155 0.8809 0.3208
Z 14.61 10.41 7.115 1.287

In the X-axis direction, the proposed method improves the ISE value by 66.4%, 45.5%, and 77.5% compared to PID, NFTSMC, and PD+ESO controllers, respectively. In the Y-axis direction, it improves by 71.5%, 55%, and 63.6%, respectively. In the Z-axis direction, it improves by 91%, 87.6%, and 82%, respectively. In summary, the proposed method effectively achieves anti-disturbance and fast convergence in trajectory tracking for quadrotor UAVs.

In conclusion, to address the trajectory tracking accuracy of quadrotor UAVs under multi-source disturbances during mission execution, a composite global non-singular fast terminal sliding mode control scheme is proposed. By introducing tracking differentiators and an extended state observer, the contradictions between rapidity and overshoot are resolved, achieving fast and high-precision estimation of lumped disturbances/state information and high-precision trajectory tracking under disturbances. In future work, considering cost issues, the ability of the extended state observer to estimate state information will be leveraged to study trajectory tracking control for UAVs without velocity sensors.

Scroll to Top