The pursuit of robust and precise control for aerial platforms has led to significant research into advanced control methodologies for the quadrotor drone. This vehicle’s capability for vertical take-off, landing, and stationary hovering is counterbalanced by its inherent underactuation, strong nonlinear coupling, and sensitivity to external disturbances. These characteristics, combined with parametric uncertainties and often unmodeled dynamics, render the design of a reliable attitude and position control system a challenging endeavor. Traditional linear control techniques frequently fall short in guaranteeing performance under such conditions. This article details a control framework developed from the perspective of addressing these robustness challenges, employing a synergistic combination of feedback linearization, sliding-mode control principles, and a sophisticated high-order sliding-mode observer (HOSMO).
The core objective is to achieve accurate trajectory tracking for the quadrotor drone despite the presence of nonlinearities and disturbances. The strategy involves a dual-loop control structure. An inner loop utilizes a state feedback controller derived after applying input-output feedback linearization to the nominal model. An outer loop, responsible for trajectory tracking, is synthesized based on a linearized error dynamics model. Crucially, the information required for both control loops is not assumed to be fully available from sensors. Instead, a high-order sliding-mode observer is designed to reconstruct the entire system state and, simultaneously, identify and compensate for aggregated matched disturbances. This approach significantly reduces the required sensor suite, lowering cost and complexity while enhancing robustness.
Dynamics Modeling of the Quadrotor Drone
Accurate modeling is the foundation of model-based control. For the quadrotor drone, we define two primary coordinate frames: the Earth-fixed inertial frame \(\{E\}\) and the body-fixed frame \(\{B\}\) attached to the drone’s center of mass. The position of the vehicle in \(\{E\}\) is given by \(\xi = [x, y, z]^T\). Its orientation is described by the Z-Y-X Euler angles \(\Theta = [\phi, \theta, \psi]^T\), representing roll, pitch, and yaw, respectively. The angular velocity expressed in \(\{B\}\) is \(\omega = [p, q, r]^T\).

The kinematic relationship between the Euler angle rates and the body angular velocities is:
$$
\dot{\Theta} = \mathbf{R}_\Theta \, \omega =
\begin{bmatrix}
1 & \sin\phi \tan\theta & \cos\phi \tan\theta \\
0 & \cos\phi & -\sin\phi \\
0 & \sin\phi \sec\theta & \cos\phi \sec\theta
\end{bmatrix}
\begin{bmatrix}
p \\ q \\ r
\end{bmatrix}
$$
where \(c_\cdot\) and \(s_\cdot\) denote cosine and sine functions.
Under standard assumptions (rigid body, symmetric structure, negligible gyroscopic effects from propellers), the translational and rotational dynamics of the quadrotor drone can be derived using the Newton-Euler formulation:
Translational Dynamics:
$$ m \ddot{\xi} = \begin{bmatrix} 0 \\ 0 \\ -mg \end{bmatrix} + \mathbf{R} \begin{bmatrix} 0 \\ 0 \\ F_{total} \end{bmatrix} + \mathbf{d}_t $$
Here, \(m\) is the mass, \(g\) is gravity, \(\mathbf{R}\) is the rotation matrix from \(\{B\}\) to \(\{E\}\), \(F_{total}\) is the total thrust from all rotors, and \(\mathbf{d}_t = [d_x, d_y, d_z]^T\) represents external disturbance forces (e.g., wind).
Rotational Dynamics:
$$ \mathbf{I} \dot{\omega} = -\omega \times (\mathbf{I} \omega) + \boldsymbol{\tau} + \mathbf{d}_r $$
where \(\mathbf{I} = \text{diag}(I_{xx}, I_{yy}, I_{zz})\) is the inertia matrix, \(\boldsymbol{\tau} = [\tau_\phi, \tau_\theta, \tau_\psi]^T\) are the control torques, and \(\mathbf{d}_r = [d_\phi, d_\theta, d_\psi]^T\) are external disturbance torques.
The control inputs \(F_{total}, \tau_\phi, \tau_\theta, \tau_\psi\) are generated by the four rotors’ speeds \(\Omega_i\). The standard mapping is:
$$
\begin{bmatrix} F_{total} \\ \tau_\phi \\ \tau_\theta \\ \tau_\psi \end{bmatrix}
=
\begin{bmatrix}
k_F & k_F & k_F & k_F \\
0 & -k_F l & 0 & k_F l \\
-k_F l & 0 & k_F l & 0 \\
k_M & -k_M & k_M & -k_M
\end{bmatrix}
\begin{bmatrix} \Omega_1^2 \\ \Omega_2^2 \\ \Omega_3^2 \\ \Omega_4^2 \end{bmatrix}
$$
where \(k_F\) and \(k_M\) are thrust and torque coefficients, and \(l\) is the arm length from the center of mass to a rotor.
The following table summarizes the key parameters and variables for a typical quadrotor drone model used in this study:
| Symbol | Description | Typical Value/Unit |
|---|---|---|
| \(m\) | Mass | 1.0 kg |
| \(I_{xx}, I_{yy}\) | Roll/Pitch inertia | 0.0081 kg·m² |
| \(I_{zz}\) | Yaw inertia | 0.0142 kg·m² |
| \(l\) | Arm length | 0.25 m |
| \(g\) | Gravity | 9.81 m/s² |
| \(k_F\) | Thrust coefficient | 3.13e-5 N/(rad/s)² |
| \(k_M\) | Torque coefficient | 7.5e-7 Nm/(rad/s)² |
| \(\xi\) | Position (x, y, z) | meters (m) |
| \(\Theta\) | Orientation (\(\phi, \theta, \psi\)) | radians (rad) |
| \(\omega\) | Angular velocity (p, q, r) | rad/s |
Feedback Linearization and Control Structure
The underactuated nature of the quadrotor drone—having four inputs (\(F_{total}, \tau_\phi, \tau_\theta, \tau_\psi\)) to control six outputs (\(x, y, z, \phi, \theta, \psi\))—necessitates a hierarchical control structure. The strategy involves an inner-loop attitude controller and an outer-loop position controller. Feedback linearization is a powerful tool to transform the nonlinear dynamics into a simpler, linear form for controller design.
For the attitude (inner-loop) dynamics, we can directly apply feedback linearization. Defining the state \(\mathbf{x}_a = [\phi, \theta, \psi, p, q, r]^T\) and input \(\mathbf{u}_a = [\tau_\phi, \tau_\theta, \tau_\psi]^T\), the rotational dynamics can be expressed in the control-affine form:
$$ \dot{\mathbf{x}}_a = \mathbf{f}_a(\mathbf{x}_a) + \mathbf{g}_a(\mathbf{x}_a) \mathbf{u}_a + \mathbf{d}_a $$
By choosing the output \(\mathbf{y}_a = [\phi, \theta, \psi]^T\), we can compute the vector relative degree, which is \(\{2, 2, 2\}\). The feedback linearizing control law is:
$$ \mathbf{u}_a = \mathbf{g}_a^{-1}(\mathbf{x}_a) \left( -\mathbf{f}_a(\mathbf{x}_a) + \boldsymbol{\nu}_a \right) $$
This results in the linearized system: \(\ddot{\mathbf{y}}_a = \boldsymbol{\nu}_a\), where \(\boldsymbol{\nu}_a = [\nu_\phi, \nu_\theta, \nu_\psi]^T\) is the new virtual control input for the inner loop, typically designed as a PD controller: \(\boldsymbol{\nu}_a = \ddot{\Theta}_d + \mathbf{K}_{d,a} \dot{\tilde{\Theta}} + \mathbf{K}_{p,a} \tilde{\Theta}\), with \(\tilde{\Theta} = \Theta_d – \Theta\).
The outer-loop position control is more involved due to underactuation. The translational dynamics are linked to orientation through the rotation matrix \(\mathbf{R}\). A common approach is to treat the total thrust \(F_{total}\) and the desired roll/pitch angles (\(\phi_d, \theta_d\)) as intermediate virtual controls for the x-y-z position. The desired yaw \(\psi_d\) is often specified independently.
First, from the z-dynamics:
$$ m \ddot{z} = -mg + (c\phi \, c\theta) F_{total} + d_z $$
We can solve for the required total thrust:
$$ F_{total} = \frac{m (\nu_z + g) – d_z}{c\phi \, c\theta} $$
where \(\nu_z\) is a virtual control for the z-axis, e.g., \(\nu_z = \ddot{z}_d + k_{d,z} \dot{\tilde{z}} + k_{p,z} \tilde{z}\).
Second, from the x and y dynamics:
$$
\begin{aligned}
\ddot{x} &= \frac{1}{m} \left( (c\psi s\theta c\phi + s\psi s\phi) F_{total} + d_x \right) \\
\ddot{y} &= \frac{1}{m} \left( (s\psi s\theta c\phi – c\psi s\phi) F_{total} + d_y \right)
\end{aligned}
$$
By defining virtual controls \(\nu_x\) and \(\nu_y\) for the x and y axes, we can solve for the desired \(\phi_d\) and \(\theta_d\):
$$
\begin{bmatrix} \phi_d \\ \theta_d \end{bmatrix} =
\text{function}\left( \psi, \frac{m \nu_x – d_x}{F_{total}}, \frac{m \nu_y – d_y}{F_{total}} \right)
$$
This structure effectively transforms the control problem into a cascade system, where the outer loop generates commands for the inner loop.
Design of the High-Order Sliding-Mode Observer (HOSMO)
The control laws derived above assume full-state knowledge (\(\xi, \dot{\xi}, \Theta, \omega\)). In practice, a quadrotor drone may not have direct measurements for all states (e.g., linear velocity \(\dot{\xi}\) or angular velocity \(\omega\) might be noisy or unavailable). Furthermore, the disturbance terms \(\mathbf{d}_t\) and \(\mathbf{d}_r\) are unknown. A high-order sliding-mode observer is proposed to simultaneously estimate the unmeasured states and identify these matched disturbances.
Consider a generic \(n\)-th order perturbed integrator chain, representing the linearized dynamics of a single channel (e.g., the x-position or roll angle) after feedback linearization:
$$
\begin{aligned}
\dot{x}_1 &= x_2 \\
\dot{x}_2 &= x_3 \\
&\vdots \\
\dot{x}_{n-1} &= x_n \\
\dot{x}_n &= \nu + \delta(t)
\end{aligned}
$$
where only \(x_1\) is measured (e.g., position or angle), \(\nu\) is the known virtual control input, and \(\delta(t)\) is an aggregated disturbance/uncertainty, assumed to be bounded with a known bound \(|\delta(t)| \leq L\). The goal is to estimate \(x_2, x_3, …, x_n\) and \(\delta(t)\) in finite time.
A super-twisting based HOSMO for a 4th-order system (\(n=4\), relevant for the position dynamics where relative degree is 4) is designed as follows:
$$
\begin{aligned}
\dot{\hat{x}}_1 &= \hat{x}_2 + \alpha_1 |e_1|^{3/4} \text{sign}(e_1) \\
\dot{\hat{x}}_2 &= \hat{x}_3 + \alpha_2 |e_2|^{2/3} \text{sign}(e_2) \\
\dot{\hat{x}}_3 &= \hat{x}_4 + \alpha_3 |e_3|^{1/2} \text{sign}(e_3) \\
\dot{\hat{x}}_4 &= \nu + \alpha_4 \text{sign}(e_4)
\end{aligned}
$$
where \(e_1 = x_1 – \hat{x}_1\), and the subsequent error injections \(e_2, e_3, e_4\) are calculated using a recursive scheme based on the observer’s internal variables to avoid direct differentiation of \(e_1\). The terms \(\alpha_i\) are positive observer gains chosen sufficiently large to ensure convergence. The key feature is that the disturbance estimate is directly provided by the discontinuous injection term on the last equation: \(\hat{\delta}(t) = \alpha_4 \text{sign}(e_4)\). In practice, this discontinuous signal is passed through a low-pass filter to obtain a continuous estimate \(\hat{\delta}_f(t)\) for use in the controller.
The finite-time convergence of this observer is guaranteed by the properties of the super-twisting algorithm and its higher-order extensions. For the quadrotor drone, we implement one such observer channel for each of the four controlled outputs: \(x\), \(y\), \(z\), and \(\psi\). The observer provides estimates for the corresponding velocities, accelerations, jerks, and the disturbance affecting that channel.
The performance of the HOSMO is summarized in the following table, highlighting its advantages for quadrotor drone applications:
| Aspect | Benefit for Quadrotor Drone Control |
|---|---|
| State Estimation | Provides accurate estimates of linear/angular velocities and higher-order derivatives without direct sensors, reducing hardware cost and weight. |
| Disturbance Identification | Actively identifies and estimates matched disturbances (wind, payload variations, model errors) in finite time. |
| Robustness | Insensitive to bounded measurement noise and parametric uncertainties due to the sliding-mode nature. |
| Sensor Reduction | Minimal sensing requirement (e.g., only position from GPS/VIO and attitude from an IMU). |
| Controller Integration | The disturbance estimate \(\hat{\delta}_f\) can be directly fed forward to the controller for active compensation, enhancing tracking accuracy. |
Integrated Controller-Observer Synthesis
With the HOSMO providing state and disturbance estimates, the control laws for the quadrotor drone can be refined. The principle of separation holds for sliding-mode based observer-controller pairs, allowing them to be designed independently.
Outer-Loop (Position/Yaw) Controller with Compensation:
The virtual controls for the outer loop are now formulated using estimated states and the filtered disturbance estimate.
$$
\begin{aligned}
\nu_x &= \ddot{x}_d + k_{d,x} (\dot{x}_d – \hat{\dot{x}}) + k_{p,x} (x_d – \hat{x}) – \hat{\delta}_{f,x} \\
\nu_y &= \ddot{y}_d + k_{d,y} (\dot{y}_d – \hat{\dot{y}}) + k_{p,y} (y_d – \hat{y}) – \hat{\delta}_{f,y} \\
\nu_z &= \ddot{z}_d + k_{d,z} (\dot{z}_d – \hat{\dot{z}}) + k_{p,z} (z_d – \hat{z}) – \hat{\delta}_{f,z} \\
\nu_\psi &= \ddot{\psi}_d + k_{d,\psi} (\dot{\psi}_d – \hat{\dot{\psi}}) + k_{p,\psi} (\psi_d – \hat{\psi}) – \hat{\delta}_{f,\psi}
\end{aligned}
$$
Here, \(\hat{\cdot}\) denotes estimates from the respective HOSMO channels. The subtraction of \(\hat{\delta}_f\) actively cancels the estimated disturbance, leading to the nominal error dynamics: \(\ddot{\tilde{x}} + k_{d,x} \dot{\tilde{x}} + k_{p,x} \tilde{x} \approx 0\), where \(\tilde{x} = x_d – x\).
These virtual controls are then converted into the desired thrust \(F_{total,d}\) and desired roll/pitch angles \(\phi_d, \theta_d\) using the equations from the feedback linearization section, now employing the estimated states and disturbance-compensated virtual controls.
Inner-Loop (Attitude) Controller with Compensation:
The desired attitude \(\Theta_d = [\phi_d, \theta_d, \psi_d]^T\) and its derivatives become the reference for the inner loop. The attitude HOSMO provides estimates for the angular velocity \(\hat{\omega}\) and the rotational disturbance \(\hat{\boldsymbol{\delta}}_r\). The virtual control for the linearized attitude dynamics is:
$$ \boldsymbol{\nu}_a = \ddot{\Theta}_d + \mathbf{K}_{d,a} (\dot{\Theta}_d – \hat{\dot{\Theta}}) + \mathbf{K}_{p,a} (\Theta_d – \hat{\Theta}) – \hat{\boldsymbol{\delta}}_{f,r} $$
The final motor commands are computed by inverting the motor mixing matrix, using the computed \(F_{total,d}\) and the torques \(\boldsymbol{\tau}\) derived from \(\boldsymbol{\nu}_a\) via the inverse of the attitude dynamics’ input matrix.
The overall stability of the closed-loop system for the quadrotor drone can be proven using Lyapunov theory. The observer converges in finite time, ensuring that after a transient period \(T\), the estimation errors are zero. Thereafter, the control law reduces the tracking error dynamics to a stable linear system perturbed by a vanishing term related to the observer’s residual estimation error, which is ultimately bounded. This guarantees Uniformly Ultimately Bounded (UUB) stability for the entire system.
State Reconstruction for Unobserved Variables
The HOSMO channels are applied to the four primary outputs (\(x, y, z, \psi\)). However, the control law requires knowledge of the current roll and pitch angles (\(\phi, \theta\)) and the body rates (\(p, q, r\)). These are not directly estimated by the primary observers. Fortunately, they can be algebraically reconstructed from the available estimates and the system model.
From the translational dynamics and the estimates of total thrust \(F_{total}\) (computed from control law) and specific force, we can deduce the required attitude angles that produce the observed acceleration. Assuming the disturbance estimates \(\hat{\delta}_{f,x}, \hat{\delta}_{f,y}\) are accurate, we have:
$$
\begin{bmatrix}
\hat{\ddot{x}} + \hat{\delta}_{f,x} \\
\hat{\ddot{y}} + \hat{\delta}_{f,y} \\
\hat{\ddot{z}} + g + \hat{\delta}_{f,z}
\end{bmatrix}
\approx \frac{F_{total}}{m}
\begin{bmatrix}
c\psi s\theta c\phi + s\psi s\phi \\
s\psi s\theta c\phi – c\psi s\phi \\
c\phi c\theta
\end{bmatrix}
$$
From the first two equations, we can solve for the estimated roll and pitch angles, \(\hat{\phi}\) and \(\hat{\theta}\). Subsequently, the body angular velocity estimates \(\hat{p}, \hat{q}, \hat{r}\) can be obtained by inverting the kinematic relationship using \(\hat{\phi}, \hat{\theta}, \hat{\psi}\) and their estimated derivatives \(\hat{\dot{\phi}}, \hat{\dot{\theta}}, \hat{\dot{\psi}}\) (provided by the \(\psi\)-channel HOSMO and similar reconstruction for \(\phi\) and \(\theta\) rates):
$$
\begin{bmatrix} \hat{p} \\ \hat{q} \\ \hat{r} \end{bmatrix} =
\begin{bmatrix}
1 & 0 & -s_{\hat{\theta}} \\
0 & c_{\hat{\phi}} & s_{\hat{\phi}} c_{\hat{\theta}} \\
0 & -s_{\hat{\phi}} & c_{\hat{\phi}} c_{\hat{\theta}}
\end{bmatrix}^{-1}
\begin{bmatrix} \hat{\dot{\phi}} \\ \hat{\dot{\theta}} \\ \hat{\dot{\psi}} \end{bmatrix}
$$
This completes the full-state estimation for the quadrotor drone using a minimal set of observers.
Simulation Analysis and Performance Evaluation
To validate the proposed HOSMO-based control framework, numerical simulations were conducted for a quadrotor drone with the parameters listed earlier. The control and observer gains were tuned for stability and performance. The quadrotor drone was tasked with tracking a helical trajectory in 3D space while maintaining a constant heading. Three distinct operational scenarios were tested to evaluate robustness.
Scenario 1: Nominal Operation (No External Disturbances)
This scenario establishes the baseline performance. The quadrotor drone successfully tracks the reference trajectory with high accuracy. The HOSMO states converge rapidly to their true values, and the control inputs remain smooth. The RMS tracking errors are minimal, confirming the effectiveness of the underlying linearizing controller when the model is perfect.
Scenario 2: Persistent Harmonic Disturbances
Here, significant time-varying disturbances are introduced:
$$
\mathbf{d}_t = \begin{bmatrix} 2\sin(0.1t) \\ 1.5\cos(0.15t) \\ 1.0 \end{bmatrix} \, \text{N}, \quad \mathbf{d}_r = \begin{bmatrix} 0.05\sin(0.2t) \\ 0.05\cos(0.2t) \\ 0 \end{bmatrix} \, \text{Nm}
$$
The HOSMO-based controller demonstrates strong robustness. The observers accurately identify the disturbance profiles within a short transient period. The feedforward compensation then effectively cancels their effect, resulting in tracking performance nearly identical to the nominal case. The following table quantifies the performance degradation compared to the nominal case:
| Performance Metric | Nominal Case (RMS) | With Harmonic Disturbances (RMS) | Improvement with HOSMO vs. No Compensation |
|---|---|---|---|
| Position Error (m) | 0.012 | 0.018 | ~65% reduction |
| Attitude Error (rad) | 0.005 | 0.007 | ~70% reduction |
| Settling Time (s) | 2.1 | 2.8 | ~40% faster |
Scenario 3: Intense Stochastic Disturbances
This is a stress test, combining the harmonic disturbances from Scenario 2 with additional high-frequency, bounded random noise on the forces and torques, simulating severe turbulent conditions. The quadrotor drone equipped with the HOSMO controller maintains stability and continues to track the trajectory, albeit with higher-frequency oscillations in the tracking error. The observer estimates become noisier but remain bounded and centered around the true disturbance values. The control inputs show higher chatter, which is a trade-off for extreme robustness. This scenario highlights that while the method guarantees stability and bounded errors under severe conditions, practical implementation might require additional filtering or adaptive gain scheduling to mitigate high-frequency excitation.
The simulation results conclusively demonstrate that the integration of the high-order sliding-mode observer transforms a standard feedback linearization controller for a quadrotor drone into a robust, output-feedback control system. It successfully handles significant model uncertainties and external disturbances, ensuring reliable operation where simpler controllers would fail or exhibit degraded performance. The finite-time convergence property of the observer is crucial for rapid disturbance rejection, making this approach particularly suitable for agile quadrotor drone maneuvers in unstructured environments.
