Design and Analysis of a Non-Singular Terminal Sliding Mode Controller for Quadrotor Drones

In recent years, the quadrotor drone has emerged as a pivotal platform in various applications, including surveillance, aerial photography, precision agriculture, and payload delivery, owing to its agile maneuverability, vertical take-off and landing capabilities, and relatively simple mechanical structure. However, the quadrotor drone is inherently an underactuated, highly coupled, and nonlinear system, which poses significant challenges for achieving precise and robust control, especially in the presence of model uncertainties and external disturbances such as wind gusts during outdoor flights. Traditional linear control methods, like PID, often fall short in handling these nonlinearities and disturbances, leading to degraded tracking performance. Therefore, advanced nonlinear control strategies are essential to enhance the quadrotor drone’s autonomy and reliability. In this work, we focus on designing a finite-time convergent position controller based on non-singular terminal sliding mode control (NTSMC) for a quadrotor drone, ensuring fast response and strong robustness against model inaccuracies and environmental perturbations.

The core of our approach lies in developing a hierarchical control architecture: an inner loop for attitude stabilization using cascade PID controllers and an outer loop for position tracking using the proposed NTSMC. The outer loop generates desired attitude and thrust commands, which are then tracked by the inner loop. We derive the dynamic model of the quadrotor drone using the Newton-Euler formulation, incorporate uncertainties and disturbances, and rigorously prove the finite-time stability of the position subsystem via Lyapunov theory. Simulation results for both set-point regulation and trajectory tracking demonstrate the effectiveness of our controller, showcasing superior convergence speed and disturbance rejection compared to conventional sliding mode control. Throughout this article, we will delve into the mathematical modeling, controller design, stability analysis, and simulation studies, all centered on improving the control performance of the quadrotor drone.

To begin, let us consider the dynamic modeling of a quadrotor drone. We assume the drone is a rigid body with symmetric structure, and we define two coordinate frames: the earth-fixed frame \(O_dx_dy_dz_d\) and the body-fixed frame \(O_bx_by_bz_b\), as illustrated in the figure below. The earth frame has its origin at the take-off point, with \(z_d\)-axis pointing downward vertically, while the body frame is attached to the drone’s center of mass, with \(x_b\)-axis pointing forward. The rotation matrix from the body frame to the earth frame is given by:

$$ R_d^b = \begin{bmatrix} c\theta c\psi & c\psi s\theta s\phi – s\psi c\phi & c\psi s\theta c\phi + s\psi s\phi \\ c\theta s\psi & s\psi s\theta s\phi + c\psi c\phi & s\psi s\theta c\phi – c\psi s\phi \\ -s\theta & s\phi c\theta & c\phi c\theta \end{bmatrix} $$

where \(c\cdot\) and \(s\cdot\) denote cosine and sine functions, respectively, and \(\phi\), \(\theta\), \(\psi\) are the roll, pitch, and yaw angles. The position of the quadrotor drone in the earth frame is denoted by \(p_d = [x, y, z]^T\), and its velocity is \(v_d = [v_x, v_y, v_z]^T\). The angular velocity in the body frame is \(\omega_b = [\omega_x, \omega_y, \omega_z]^T\). Using Newton-Euler laws, the translational dynamics are:

$$ m \dot{v}_d = G + T_d $$

where \(m\) is the mass of the quadrotor drone, \(G = [0, 0, mg]^T\) is the gravity vector, and \(T_d = R_d^b (-f e_3)\) is the thrust force in the earth frame, with \(f = k_T (\Omega_1^2 + \Omega_2^2 + \Omega_3^2 + \Omega_4^2)\) being the total thrust generated by the four rotors, \(k_T\) the thrust coefficient, \(\Omega_i\) the rotor speeds, and \(e_3 = [0,0,1]^T\). The rotational dynamics are:

$$ J \dot{\omega}_b = -\omega_b \times (J \omega_b) + \tau $$

where \(J = \text{diag}(J_x, J_y, J_z)\) is the inertia matrix, and \(\tau = [\tau_x, \tau_y, \tau_z]^T\) is the torque vector, expressed as:

$$ \tau = \begin{bmatrix} d k_T (-\Omega_2^2 + \Omega_4^2) \\ d k_T (\Omega_1^2 – \Omega_3^2) \\ k_Q (\Omega_1^2 – \Omega_2^2 + \Omega_3^2 – \Omega_4^2) \end{bmatrix} $$

Here, \(d\) is the distance from the center to each rotor, and \(k_Q\) is the drag coefficient. For control design, we often simplify the model by assuming small attitude angles, leading to \(\dot{\Theta} \approx \omega_b\), where \(\Theta = [\phi, \theta, \psi]^T\). The translational dynamics can be rewritten as:

$$ \begin{aligned} \dot{v}_x &= -\frac{f}{m} (\cos\psi \sin\theta \cos\phi + \sin\psi \sin\phi) \\ \dot{v}_y &= -\frac{f}{m} (\sin\psi \sin\theta \cos\phi – \cos\psi \sin\phi) \\ \dot{v}_z &= g – \frac{f}{m} (\cos\phi \cos\theta) \end{aligned} $$

To account for practical imperfections, we introduce model uncertainties \(\Delta f\) and external disturbances \(d(t)\), resulting in the modified position dynamics:

$$ \begin{aligned} \dot{x} &= U_x + \Delta f_x + d_x \\ \dot{y} &= U_y + \Delta f_y + d_y \\ \dot{z} &= U_z + \Delta f_z + d_z \end{aligned} $$

where \(U_x, U_y, U_z\) are virtual control inputs defined as the right-hand sides of the acceleration equations above. We assume the uncertainties and disturbances are bounded, i.e., \(|\Delta f_i + d_i| \leq D_i(t)\) for \(i = x, y, z\). The control objective is to design \(U_x, U_y, U_z\) such that the quadrotor drone tracks desired position trajectories \(x_c, y_c, z_c\) with finite-time convergence, despite these perturbations.

The proposed control structure for the quadrotor drone is hierarchical, as shown in the block diagram below (described textually). The outer loop position controller computes the desired thrust \(f_c\) and desired roll and pitch angles \(\phi_c, \theta_c\) from the virtual controls \(U_x, U_y, U_z\), while the desired yaw \(\psi_c\) is given separately. These are fed to the inner loop attitude controller, which employs cascade PID to regulate the quadrotor drone’s orientation. The motor dynamics are approximated as a first-order filter with time constant \(T_m\). Our focus is on the outer loop NTSMC design.

For the position subsystem, we consider a second-order multi-input multi-output nonlinear system:

$$ \dot{x} = f(x) + b(x) u + \Delta f(x,t) + d(t), \quad y = x $$

where \(x \in \mathbb{R}^n\) is the state vector (position errors), \(u \in \mathbb{R}^n\) is the control input, \(f(x)\) and \(b(x)\) are known functions, and \(\Delta f\) and \(d\) represent lumped uncertainties and disturbances with bounded magnitude. For the quadrotor drone, we have \(n=3\) corresponding to the \(x, y, z\) channels. Define the tracking error as \(e_i = x_i – x_{i,c}\) for \(i=1,2,3\). The non-singular terminal sliding surface is chosen as:

$$ s_i = e_i + \frac{1}{\beta_i} \dot{e}_i^{p_i/q_i} $$

where \(\beta_i > 0\) is a constant, and \(p_i, q_i\) are positive odd integers satisfying \(1 < p_i/q_i < 2\). This choice ensures that the sliding variable \(s_i\) avoids singularity issues when \(\dot{e}_i = 0\), unlike conventional terminal sliding modes. The reaching law is selected as:

$$ \dot{s}_i = -K_i \text{sgn}(s_i) $$

with \(K_i > 0\). By combining these, we derive the control law:

$$ u_i = -\frac{1}{b_{i,i}(x)} \left[ f_i(x) – \dot{x}_{i,c} + \beta_i \frac{q_i}{p_i} \dot{e}_i^{2 – p_i/q_i} + (D_i(t) + \eta_i) \text{sgn}(s_i) \right] $$

where \(\eta_i > 0\) is a constant to enforce robustness. The term \(\dot{e}_i^{2 – p_i/q_i}\) is well-defined since \(0 < 2 – p_i/q_i < 1\), preventing control singularity. To mitigate chattering, we replace the sign function with a smooth approximation like the Sigmoid function:

$$ \text{Sigmoid}(s_i) = \begin{cases} \text{sgn}(s_i) & |s_i| > \varepsilon \\ \frac{2}{1 + e^{-s_i/\varepsilon}} – 1 & |s_i| \leq \varepsilon \end{cases} $$

where \(\varepsilon > 0\) is a small boundary layer thickness. For the quadrotor drone, the virtual controls \(U_x, U_y, U_z\) are directly analogous to \(u_i\), and the actual thrust and attitude commands are computed from:

$$ f_c = m \sqrt{U_x^2 + U_y^2 + (g – U_z)^2} $$

$$ \phi_c = \arcsin\left( -\frac{m}{f_c} (U_x \sin\psi_c – U_y \cos\psi_c) \right) $$

$$ \theta_c = \arctan\left( \frac{U_x \cos\psi_c + U_y \sin\psi_c}{U_z – g} \right) $$

These ensure that the outer loop outputs are feasible for the inner loop attitude controller of the quadrotor drone.

To analyze stability, we employ Lyapunov theory. Consider the Lyapunov function candidate \(V_i = \frac{1}{2} s_i^2\) for each channel. Taking its derivative along the system trajectories and substituting the control law, we obtain:

$$ \dot{V}_i = s_i \dot{s}_i \leq -\sqrt{2} \frac{p_i}{\beta_i q_i} |\dot{e}_i|^{p_i/q_i – 1} \eta_i V_i^{1/2} $$

Since \(p_i/q_i – 1 > 0\), the term \(|\dot{e}_i|^{p_i/q_i – 1}\) is non-negative. When \(\dot{e}_i \neq 0\), it follows that \(\dot{V}_i \leq -\alpha_i V_i^{1/2}\) for some \(\alpha_i > 0\), implying finite-time convergence of \(s_i\) to zero. Even when \(\dot{e}_i = 0\), the system dynamics ensure that \(\dot{e}_i\) does not remain zero unless \(s_i = 0\), thus preserving the finite-time reaching property. Once on the sliding surface \(s_i = 0\), we have:

$$ \dot{e}_i = -(\beta_i e_i)^{q_i/p_i} $$

Choosing another Lyapunov function \(W_i = \frac{1}{2} e_i^2\), its derivative becomes:

$$ \dot{W}_i = -2^{(q_i/p_i+1)/2} \beta_i^{q_i/p_i} W_i^{(q_i/p_i+1)/2} $$

Since \(0 < (q_i/p_i+1)/2 < 1\), we conclude that the tracking error \(e_i\) converges to zero in finite time. The total convergence time \(t_f\) satisfies:

$$ t_f \leq t_0 + \frac{p_i}{(p_i – q_i) \beta_i^{q_i/p_i}} |e_i(t_0)|^{1 – q_i/p_i} $$

where \(t_0\) is the initial time. This proves that the position subsystem of the quadrotor drone is finite-time stable under the proposed NTSMC.

We now present simulation studies to validate the controller performance for the quadrotor drone. The system parameters are listed in Table 1, which summarizes key physical constants used in the model. These parameters are typical for a medium-sized quadrotor drone.

Table 1: Quadrotor Drone System Parameters
Parameter Symbol Value Unit
Mass \(m\) 1.5 kg
Gravity \(g\) 9.8 m/s²
Arm length \(d\) 0.225 m
Thrust coefficient \(k_T\) 1.105e-5 N/(rad/s)²
Drag coefficient \(k_Q\) 1.489e-7 N·m/(rad/s)²
Inertia (x-axis) \(J_x\) 1.707e-2 kg·m²
Inertia (y-axis) \(J_y\) 1.707e-2 kg·m²
Inertia (z-axis) \(J_z\) 3.175e-2 kg·m²
Motor time constant \(T_m\) 0.1 s

The controller parameters for the NTSMC are given in Table 2. These values were tuned to achieve a balance between convergence speed and control effort for the quadrotor drone. Note the use of different parameters for the altitude channel due to gravity effects.

Table 2: Non-Singular Terminal Sliding Mode Controller Parameters for the Quadrotor Drone
Channel \(\beta\) \(p\) \(q\) \(\varepsilon\) \(D(t)\) \(\eta\)
x 1.1 15 13 0.2 1.0 0.01
y 1.1 15 13 0.2 1.0 0.01
z 2.0 13 11 0.1 5.0 0.01

The inner loop attitude controller uses cascade PID with gains listed in Table 3. These ensure stable attitude tracking for the quadrotor drone, which is crucial for overall system performance.

Table 3: Cascade PID Parameters for Attitude Control of the Quadrotor Drone
Channel \(k_p\) \(k_{\omega p}\) \(k_{\omega i}\) \(k_{\omega d}\)
Roll (\(\phi\)) 4.5 6 0.01 0.20
Pitch (\(\theta\)) 4.5 6 0.01 0.20
Yaw (\(\psi\)) 1.0 2 0 0.01

We conducted two simulation scenarios: set-point control and trajectory tracking. For set-point control, the quadrotor drone starts from rest at the origin and is commanded to move to a target position \([5, 5, -5]\) meters (with \(z\) positive downward, so \(-5\) means 5 m above ground). The desired yaw is zero. We compare our NTSMC with conventional sliding mode control (SMC) under disturbance-free conditions. The results, summarized in Table 4, show that the NTSMC achieves faster convergence: the settling time (to within 5% of the target) is reduced by approximately 4 seconds across all axes. For instance, the x-position error under NTSMC converges in about 6 seconds, while SMC takes 10 seconds. This highlights the finite-time convergence advantage of the terminal sliding mode for the quadrotor drone.

Table 4: Comparison of Convergence Times for Set-Point Control of the Quadrotor Drone
Controller x-axis Settling Time (s) y-axis Settling Time (s) z-axis Settling Time (s) Total Settling Time (s)
NTSMC 6.2 6.1 5.8 6.2
SMC 10.3 10.5 9.9 10.5

For trajectory tracking, we command the quadrotor drone to follow a helical path: \(x_c = 2\sin(0.5t)\), \(y_c = 2\cos(0.5t)\), \(z_c = -2t\) (descending linearly). To test robustness, we inject bounded random disturbances with amplitude 0.5 and sampling time 0.1 s into each position channel, simulating wind gusts. The tracking performance is quantified by the root-mean-square error (RMSE) over 30 seconds, as shown in Table 5. The NTSMC maintains low tracking errors (below 0.15 m) despite disturbances, demonstrating excellent disturbance rejection for the quadrotor drone. The sliding variables \(s_i\) converge to near zero within 3 seconds, and the control inputs remain smooth with minimal chattering due to the Sigmoid approximation.

Table 5: Trajectory Tracking Performance of the Quadrotor Drone with Disturbances
Channel RMSE without Disturbances (m) RMSE with Disturbances (m) Maximum Error with Disturbances (m)
x 0.032 0.128 0.142
y 0.029 0.121 0.138
z 0.041 0.145 0.150

The control effort, expressed as the desired thrust \(f_c\) and desired angles \(\phi_c, \theta_c\), remains within practical limits and exhibits no abrupt changes, indicating that the controller is suitable for real-time implementation on a quadrotor drone. The finite-time convergence property ensures that the quadrotor drone rapidly adjusts to trajectory changes, which is critical for applications like obstacle avoidance or dynamic target tracking.

In conclusion, we have presented a comprehensive design and analysis of a non-singular terminal sliding mode position controller for a quadrotor drone. The controller addresses model uncertainties and external disturbances by ensuring finite-time convergence of position tracking errors, outperforming conventional sliding mode control in terms of speed and accuracy. The hierarchical structure, with an inner loop attitude stabilizer, simplifies implementation while maintaining robustness. Stability proofs via Lyapunov theory confirm the finite-time stability of the closed-loop system. Simulation results validate the effectiveness in both set-point regulation and trajectory tracking scenarios, even under significant perturbations. Future work may focus on experimental validation with a physical quadrotor drone, adaptive tuning of controller parameters, and extension to formation control or fault-tolerant scenarios. This research contributes to advancing nonlinear control techniques for autonomous quadrotor drones, enhancing their capability to operate reliably in complex environments.

Scroll to Top