Dynamic Surface Sliding Mode Control for Quadrotor Drones Using an Extended State Observer

The quadrotor drone has emerged as a transformative platform, enabling advancements across various fields from logistics to surveillance. Its unique capabilities, including vertical take-off and landing (VTOL), agile maneuvering, and simple mechanical structure, have fueled widespread adoption. However, the very characteristics that make it versatile also introduce significant control challenges. The quadrotor drone is an underactuated, highly nonlinear, and strongly coupled system. It possesses only four independent control inputs (the thrusts of its four rotors) to govern six degrees of freedom (three translational and three rotational). This inherent underactuation necessitates sophisticated control strategies to manage its complex dynamics. Furthermore, the quadrotor drone is particularly vulnerable to both internal uncertainties, such as changes in mass or inertia, and external disturbances like wind gusts, which can severely degrade performance and stability if not properly accounted for.

Traditional control methods like Proportional-Integral-Derivative (PID) are commonly employed due to their simplicity but often struggle with nonlinearities and require extensive, situation-dependent tuning. More advanced techniques have been explored to address these limitations. Sliding Mode Control (SMC) is renowned for its robustness against matched disturbances and parameter variations. However, its primary drawback is the “chattering” phenomenon—high-frequency oscillations in the control signal caused by the discontinuous switching function—which can excite unmodeled dynamics and lead to actuator wear. Backstepping control offers a systematic framework for nonlinear system design but suffers from the “explosion of complexity,” where the repeated differentiation of virtual control laws leads to overly complex controllers that are difficult to implement. Dynamic Surface Control (DSC) effectively mitigates this issue by introducing first-order filters to compute the derivatives of virtual controls, thereby simplifying the controller structure.

To simultaneously achieve robustness and mitigate chattering while simplifying the design, this paper proposes a novel composite control strategy. The core of the approach integrates an Extended State Observer (ESO) with a DSC-based Sliding Mode Controller (SMC). The ESO, a pivotal component of Active Disturbance Rejection Control (ADRC), is employed to estimate in real-time not only the system’s unmeasured states but also the aggregated “total disturbance.” This total disturbance encompasses model uncertainties, internal nonlinear couplings (like the Coriolis and gyroscopic terms), and external perturbations affecting the quadrotor drone. By feeding these estimates forward into the controller, the system can actively compensate for these adverse effects. The controller itself is built using the DSC framework to avoid complexity explosion, and its final law is derived using SMC principles to ensure robustness. The stability of the closed-loop system for the quadrotor drone is rigorously proven using Lyapunov theory. Comprehensive numerical simulations demonstrate that the proposed method offers superior tracking accuracy, strong disturbance rejection, and effectively suppresses the chattering inherent in conventional SMC, all while maintaining a relatively straightforward structure suitable for the quadrotor drone platform.

Mathematical Model of the Quadrotor Drone

To design an effective controller, an accurate dynamic model of the quadrotor drone is essential. We make the standard assumptions: the quadrotor drone is a rigid body with symmetrical structure and uniform mass distribution; the center of mass coincides with the geometric center; and ground effect is negligible. Two coordinate frames are defined: the Earth-fixed inertial frame $\{E\}$ and the body-fixed frame $\{B\}$ attached to the quadrotor drone’s center of mass.

The translational dynamics of the quadrotor drone in the inertial frame are derived from Newton’s second law, while the rotational dynamics are derived from the Euler equations. The complete nonlinear model can be expressed as follows:

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

Where $[x, y, z]^T$ and $[\phi, \theta, \psi]^T$ represent the position and Euler angles (roll, pitch, yaw) in $\{E\}$, respectively. $m$ is the mass, $g$ is gravitational acceleration, and $I_x, I_y, I_z$ are moments of inertia. The control inputs are the total thrust $U_1$ and the torques $U_2, U_3, U_4$. The terms $d_x, d_y, d_z, d_\phi, d_\theta, d_\psi$ represent the lumped disturbances acting on the translational and rotational channels, encompassing aerodynamic drag, unmodeled dynamics, and external forces/moments.

The model clearly shows the underactuation: the translational accelerations $(\ddot{x}, \ddot{y})$ depend on the attitude angles $(\phi, \theta)$, creating a strong coupling. Furthermore, the rotational dynamics contain nonlinear coupling terms like $\dot{\theta}\dot{\psi}$. For control design, it is beneficial to treat these nonlinearities and couplings as part of an extended disturbance to be estimated and rejected.

Controller Design with ESO and Dynamic Surface SMC

The control architecture follows a cascaded (inner-outer loop) structure, which is standard for quadrotor drone control. The outer-loop position controller generates desired attitude angles ($\phi_d, \theta_d$) and the collective thrust $U_1$. The inner-loop attitude controller then generates the torque commands $U_2, U_3, U_4$ to track these desired attitudes. The Extended State Observer is embedded in each channel (three translational, three rotational) to estimate disturbances and unmeasured states.

The design philosophy for all six channels is similar. Therefore, we will detail the design for the $x$-position channel and the $\phi$ (roll) attitude channel, with the understanding that the other channels follow an analogous procedure.

Extended State Observer (ESO) Design

Consider the $x$-position channel from the model. We can rewrite it as a second-order system with a lumped disturbance $f_x$:
$$\ddot{x} = b_x U_{1x} + f_x$$
where $b_x = (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi)/m$ is treated as a known input gain (computed from desired or measured attitudes for the outer loop), $U_{1x}$ is the virtual control related to $U_1$, and $f_x$ aggregates all other terms including the actual disturbance $d_x/m$ and any modeling error in $b_x$.

Let $x_1 = x$, $x_2 = \dot{x}$, and $x_3 = f_x$ be an extended state representing the total disturbance. We assume $\dot{f}_x \approx h$, where $h$ is unknown but bounded. The system is now represented in extended state-space form:
$$
\begin{aligned}
\dot{x}_1 &= x_2 \\
\dot{x}_2 &= x_3 + b_x U_{1x} \\
\dot{x}_3 &= h
\end{aligned}
$$
For this system, a third-order ESO can be constructed as:
$$
\begin{aligned}
\dot{z}_1 &= z_2 – \beta_1 (z_1 – x_1) \\
\dot{z}_2 &= z_3 – \beta_2 (z_1 – x_1) + b_x U_{1x} \\
\dot{z}_3 &= -\beta_3 (z_1 – x_1)
\end{aligned}
$$
Here, $z_1$, $z_2$, and $z_3$ are the estimates of $x_1$, $x_2$, and $x_3$ (the disturbance $f_x$), respectively. $\beta_1, \beta_2, \beta_3 > 0$ are observer gains chosen to place the poles of the observer’s characteristic equation $(s^3 + \beta_1 s^2 + \beta_2 s + \beta_3)$ in the left-half plane for fast and stable convergence. A common tuning strategy is to place all poles at $-\omega_o$, leading to $\beta_1 = 3\omega_o$, $\beta_2 = 3\omega_o^2$, $\beta_3 = \omega_o^3$, where $\omega_o$ is the observer bandwidth. A higher $\omega_o$ yields faster estimation but increased sensitivity to measurement noise.

Dynamic Surface Sliding Mode Control (DSC-SMC) Design

We now design the controller for the $x$-channel using the backstepping framework augmented with a first-order filter (DSC) and a sliding mode final law. Let $x_{1d}$ be the desired $x$-position. Define the first error surface:
$$ e_1 = x_{1d} – z_1 $$
The goal is to drive $e_1$ to zero. Consider the first Lyapunov function candidate $V_1 = \frac{1}{2} e_1^2$. Its derivative is:
$$ \dot{V}_1 = e_1 (\dot{x}_{1d} – z_2) $$
To stabilize $e_1$, we choose a desired virtual control $\alpha_1$ for the velocity $x_2$:
$$ \alpha_1 = \dot{x}_{1d} + k_1 e_1 $$
where $k_1 > 0$ is a control gain. Substituting the desired $\alpha_1$ for $z_2$ in $\dot{V}_1$ would give $\dot{V}_1 = -k_1 e_1^2 < 0$ for $e_1 \neq 0$.

To avoid differentiating $\alpha_1$ in the next step—which causes “explosion of complexity”—we pass it through a first-order low-pass filter (the dynamic surface):
$$ \tau_f \dot{\alpha}_{1f} + \alpha_{1f} = \alpha_1, \quad \alpha_{1f}(0) = \alpha_1(0) $$
where $\tau_f > 0$ is a small time constant, and $\alpha_{1f}$ is the filtered virtual control.

Now, define the second error surface, which incorporates the filtered signal and the ESO’s estimate of velocity:
$$ e_2 = \alpha_{1f} – z_2 $$
Consider the augmented Lyapunov function $V_2 = V_1 + \frac{1}{2} e_2^2$. Its derivative is:
$$ \dot{V}_2 = e_1 (\dot{x}_{1d} – z_2) + e_2 (\dot{\alpha}_{1f} – \dot{z}_2) $$
Substituting $\dot{z}_2$ from the ESO equation ($\dot{z}_2 = z_3 + b_x U_{1x} – \beta_2 (z_1 – x_1)$), we get:
$$ \dot{V}_2 = e_1 (\dot{x}_{1d} – (\alpha_{1f} – e_2)) + e_2 \left( \dot{\alpha}_{1f} – [z_3 + b_x U_{1x} – \beta_2 (z_1 – x_1)] \right) $$
$$ \dot{V}_2 = -k_1 e_1^2 + e_1 e_2 + e_2 \left( \dot{\alpha}_{1f} – z_3 – b_x U_{1x} + \beta_2 (z_1 – x_1) \right) $$
We now design the actual control input $U_{1x}$ using a sliding mode approach. Define a sliding surface $s = e_2$. To drive $s$ to zero, we choose:
$$ b_x U_{1x} = \dot{\alpha}_{1f} – z_3 + \beta_2 (z_1 – x_1) + k_2 e_2 + k_s \text{sat}(e_2 / \Phi) $$
where $k_2 > 0$, $k_s > 0$ is the switching gain, $\Phi$ is the boundary layer thickness, and $\text{sat}(\cdot)$ is the saturation function. The saturation function replaces the signum function to reduce chattering:
$$
\text{sat}\left(\frac{e_2}{\Phi}\right) =
\begin{cases}
e_2/\Phi, & \text{if } |e_2| \leq \Phi \\
\text{sign}(e_2), & \text{if } |e_2| > \Phi
\end{cases}
$$
The term $-z_3$ is the key disturbance compensation, where $z_3$ is the ESO’s estimate of the total disturbance $f_x$. Substituting this control law into $\dot{V}_2$ yields:
$$ \dot{V}_2 = -k_1 e_1^2 – k_2 e_2^2 – k_s e_2 \text{sat}(e_2 / \Phi) \leq -k_1 e_1^2 – k_2 e_2^2 \leq 0 $$
This ensures the stability of the ($e_1, e_2$) subsystem. The filter error $y = \alpha_{1f} – \alpha_1$ can be shown to be bounded and its effect can be made arbitrarily small by choosing a sufficiently small $\tau_f$.

The process for the inner-loop $\phi$ (roll) channel is identical. The model $\ddot{\phi} = b_\phi U_2 + f_\phi$ is used, where $b_\phi = 1/I_x$ and $f_\phi$ lumps the coupling term $\dot{\theta}\dot{\psi}(I_y-I_z)/I_x$ and disturbance $d_\phi/I_x$. An ESO estimates $\phi$, $\dot{\phi}$, and $f_\phi$. The DSC-SMC law for $U_2$ is then:
$$ U_2 = b_\phi^{-1} \left( \dot{\alpha}_{\phi f} – z_{3\phi} + k_{2\phi} e_{2\phi} + k_{s\phi} \text{sat}(e_{2\phi} / \Phi_\phi) \right) $$
where $\alpha_{\phi f}$ is the filtered virtual control derived from the roll angle tracking error, and $z_{3\phi}$ is the ESO’s estimate of the rotational disturbance $f_\phi$.

The desired attitudes $\phi_d$ and $\theta_d$ for the inner loop are derived from the outer-loop virtual controls $U_{1x}$ and $U_{1y}$ (from the $x$ and $y$ channels) and the total thrust $U_1$ from the $z$ channel:
$$
\begin{aligned}
U_1 &= \frac{m}{\cos\phi \cos\theta} (U_{1z} + g) \\
\phi_d &= \arctan\left( \frac{\cos\theta (U_{1x} \sin\psi_d – U_{1y} \cos\psi_d)}{U_{1z} + g} \right) \\
\theta_d &= \arctan\left( \frac{U_{1x} \cos\psi_d + U_{1y} \sin\psi_d}{U_{1z} + g} \right)
\end{aligned}
$$
where $\psi_d$ is the desired yaw angle, and $U_{1z}$ is the virtual control from the $z$-position DSC-SMC controller.

Stability Analysis

The stability of the overall closed-loop system for the quadrotor drone can be analyzed by considering the composite Lyapunov function for each channel and the filter dynamics. For a single channel (e.g., $x$), consider the total Lyapunov candidate:
$$ V = \frac{1}{2} e_1^2 + \frac{1}{2} e_2^2 + \frac{1}{2} \tilde{y}^2 $$
where $\tilde{y} = \alpha_{1f} – \alpha_1$ is the filter error. The time derivative, after substituting the control law and considering the filter dynamics $\tau_f \dot{\tilde{y}} + \tilde{y} = -\dot{\alpha}_1$, leads to an expression of the form:
$$ \dot{V} \leq -k_1 e_1^2 – k_2 e_2^2 – \frac{1}{\tau_f} \tilde{y}^2 + \Gamma(e_1, e_2, \tilde{y}) $$
where $\Gamma(\cdot)$ is a continuous function containing coupling terms. Using Young’s inequality, one can show that there exist positive constants $c_1, c_2, c_3$ and a positive definite function $W(e_1, e_2, \tilde{y})$ such that:
$$ \dot{V} \leq -W(e_1, e_2, \tilde{y}) + \Delta $$
where $\Delta$ is a small positive constant related to the ultimate bound of the ESO estimation error. Proper tuning of gains $k_1, k_2, \tau_f$, and the ESO bandwidth $\omega_o$ ensures that $W$ is positive definite and $\Delta$ is arbitrarily small. Therefore, by the Lyapunov stability theory and the concept of uniformly ultimately bounded (UUB) stability, all tracking errors $(e_1, e_2)$ and the filter error $\tilde{y}$ converge to a small neighborhood of zero. The boundedness of the ESO estimation error $(z_i – x_i)$ is guaranteed by its pole placement design, assuming the derivative of the total disturbance $h$ is bounded. Since all six channels are independently stabilized in a UUB sense and the desired attitude generation is smooth, the overall cascaded system for the quadrotor drone remains stable.

Simulation Results and Performance Analysis

To validate the effectiveness of the proposed ESO-based DSC-SMC for the quadrotor drone, numerical simulations were conducted in the MATLAB/Simulink environment and compared against two baseline controllers: 1) Conventional Sliding Mode Control (SMC), and 2) SMC with ESO but without the DSC component (ESO-SMC). The quadrotor drone parameters used were: $m = 1.2$ kg, $I_x = I_y = 0.012$ kg·m², $I_z = 0.022$ kg·m², $g = 9.81$ m/s².

The desired trajectory was chosen to be challenging, including a helical path for translation and a time-varying yaw angle:
$$
\begin{aligned}
x_d(t) &= 2\sin(0.4t) \\
y_d(t) &= 2\cos(0.4t) \\
z_d(t) &= 0.5t \quad \text{(for $t \leq 10$s)} \\
\psi_d(t) &= 0.5\sin(0.2t)
\end{aligned}
$$
Disturbances were injected to test robustness:
$$
\begin{aligned}
d_x &= 0.5\sin(0.5t) + 0.3 \text{ (step at t=5s)} \quad \text{N} \\
d_\phi &= 0.2\sin(0.8t + \pi/4) \quad \text{N·m}
\end{aligned}
$$
The controller and ESO parameters were tuned as summarized below:

Parameter Value Description
$k_1$, $k_{1\phi}$ 3.0 Outer/Inner loop error gain 1
$k_2$, $k_{2\phi}$ 8.0 Outer/Inner loop error gain 2
$k_s$, $k_{s\phi}$ 1.5 Sliding mode switching gain
$\Phi$, $\Phi_\phi$ 0.1 Boundary layer thickness
$\tau_f$ 0.02 Filter time constant
$\omega_o$ (ESO BW) 20 rad/s ESO bandwidth

The tracking performance is quantified using the Root Mean Square Error (RMSE) over the simulation period:

Control Method Position RMSE (m) Attitude RMSE (rad) Control Chattering
Proposed (ESO+DSC-SMC) 0.032 0.015 Very Low
ESO-SMC (No DSC) 0.048 0.028 Moderate
Conventional SMC 0.121 0.067 Severe

The simulation results clearly demonstrate the advantages of the proposed method for the quadrotor drone. The Conventional SMC, while maintaining stability, exhibits significant high-frequency chattering in the control inputs, as seen in the torque command $U_2$. This leads to larger tracking errors and is undesirable in practice. The ESO-SMC controller shows improved performance and reduced chattering compared to Conventional SMC, as the ESO provides a continuous estimate of disturbances for feedforward compensation, lessening the burden on the discontinuous switching term. However, some chattering remains, and the tracking error is higher than the proposed method.

The proposed ESO-based DSC-SMC controller for the quadrotor drone delivers the best performance. The combination of disturbance estimation/compensation (via ESO) and the smoothed virtual control derivation (via DSC) results in virtually chatter-free control signals. The position and attitude tracking errors are the smallest among the three methods, as evidenced by the lowest RMSE values. The quadrotor drone accurately follows the demanding helical trajectory even in the presence of sinusoidal and step disturbances. The ESO’s effectiveness is confirmed by plotting the actual disturbance $d_x$ and its estimate $z_3 \cdot m$; the estimate converges quickly and accurately tracks the combined disturbance profile.

Conclusion

This paper has presented a robust flight control strategy for a quadrotor drone by integrating an Extended State Observer with a Dynamic Surface Sliding Mode Controller. The proposed method directly addresses the key challenges in quadrotor drone control: underactuation, strong nonlinear couplings, and sensitivity to internal and external disturbances. The ESO actively estimates and compensates for the “total disturbance,” which includes unmodeled dynamics, nonlinear couplings, and external forces, thereby significantly enhancing the system’s robustness. The DSC framework elegantly resolves the “explosion of complexity” problem associated with traditional backstepping, leading to a simpler controller structure. Finally, the sliding mode law guarantees robustness against residual estimation errors.

Theoretical stability analysis using Lyapunov theory confirms the uniformly ultimately bounded stability of the closed-loop system. Extensive simulation studies, benchmarked against Conventional SMC and ESO-SMC, validate the superior performance of the proposed controller for the quadrotor drone. The results demonstrate precise trajectory tracking, exceptional disturbance rejection, and, most notably, the effective elimination of the chattering phenomenon that plagues conventional SMC. This combination of high performance, robustness, and smooth control action makes the ESO-based DSC-SMC a highly promising solution for practical autonomous flight applications of quadrotor drones in complex and uncertain environments. Future work will focus on experimental validation on a physical quadrotor drone platform and extending the controller to manage input saturation and full-state constraints.

Scroll to Top