Advanced Predictive Attitude Control for Quadrotor Drones via Extended State Observation

The rapid advancement and proliferation of unmanned aerial vehicles (UAVs), particularly quadrotor drones, have unlocked transformative applications across military reconnaissance, precision agriculture, infrastructure inspection, and emergency response. The quadrotor drone stands out due to its mechanical simplicity, vertical take-off and landing (VTOL) capability, and exceptional maneuverability. However, this very platform embodies a challenging control problem. It is fundamentally an underactuated, nonlinear, and strongly coupled dynamic system. Precise flight, especially attitude stabilization, is easily compromised by inherent model uncertainties, parametric variations, and external disturbances such as wind gusts. Traditional control strategies like PID, while simple, often lack the robustness and performance needed for aggressive or reliable operation under these conditions. Model-based methods like feedback linearization or model predictive control (MPC) require an accurate plant model, which is seldom available in practice for a quadrotor drone. This work addresses this core challenge by proposing a novel, robust predictive control framework that synergizes a finite-time convergent Extended State Observer (ESO) with a finite-horizon predictive controller, enabling high-precision attitude stabilization for quadrotor drones without reliance on a perfect dynamic model.

The control objective for a quadrotor drone is to manipulate the rotational speeds of its four motors to achieve desired translational and rotational motion. The attitude (roll, pitch, and yaw) forms the foundational layer of its flight control stack. Any instability or error in attitude directly propagates to positional inaccuracy. Therefore, designing a robust, high-performance attitude controller is paramount. The dynamics are derived from Newton-Euler formalism. Defining two key coordinate frames is essential first: the body-fixed frame \(B: \{o_b, x_b, y_b, z_b\}\) attached to the drone’s center of mass, and the inertial earth frame \(E: \{O_E, X_E, Y_E, Z_E\}\). The rotation matrix \(\mathbf{R}_{B}^{E}\), transforming a vector from frame \(B\) to frame \(E\), is defined by the Z-Y-X Euler angles \((\psi, \theta, \phi)\) representing yaw, pitch, and roll, respectively:

$$
\mathbf{R}_{B}^{E} = \begin{bmatrix}
c\theta c\psi & c\psi s\theta s\phi – c\phi s\psi & s\phi s\psi + c\phi c\psi s\theta \\
c\theta s\psi & c\phi c\psi + s\theta s\phi s\psi & c\phi s\theta s\psi – c\psi s\phi \\
-s\theta & c\theta s\phi & c\theta c\phi
\end{bmatrix}
$$

where \(c\cdot = \cos(\cdot)\) and \(s\cdot = \sin(\cdot)\). The attitude dynamics are given by:

$$
\mathbf{J} \dot{\boldsymbol{\omega}} = -\boldsymbol{\omega} \times \mathbf{J}\boldsymbol{\omega} + \boldsymbol{\tau}
$$

where \(\boldsymbol{\omega} = [p, q, r]^T\) is the angular velocity vector in the body frame, \(\mathbf{J} = \text{diag}(J_x, J_y, J_z)\) is the inertia matrix, and \(\boldsymbol{\tau} = [\tau_\phi, \tau_\theta, \tau_\psi]^T\) is the control torque vector generated by differential thrust from the four rotors. The kinematic relationship between Euler angle rates and body angular rates is:

$$
\begin{bmatrix} \dot{\phi} \\ \dot{\theta} \\ \dot{\psi} \end{bmatrix} = \begin{bmatrix}
1 & s\phi t\theta & c\phi t\theta \\
0 & c\phi & -s\phi \\
0 & s\phi/c\theta & c\phi/c\theta
\end{bmatrix} \begin{bmatrix} p \\ q \\ r \end{bmatrix}
$$

where \(t\cdot = \tan(\cdot)\). For a standard “X” configuration quadrotor drone, the control torques are related to the square of rotor speeds \(\Omega_i\) (or equivalently, motor voltages \(V_i\)):

$$
\begin{aligned}
\tau_\phi &= l k (\Omega_4^2 – \Omega_2^2) \\
\tau_\theta &= l k (\Omega_3^2 – \Omega_1^2) \\
\tau_\psi &= \kappa (\Omega_1^2 + \Omega_3^2 – \Omega_2^2 – \Omega_4^2)
\end{aligned}
$$

where \(l\) is the arm length, \(k\) is the thrust coefficient, and \(\kappa\) is the drag coefficient. Combining and linearizing around a hover condition \((\phi, \theta \approx 0)\), we can express the attitude dynamics in a decoupled form for controller design purposes:

$$
\begin{aligned}
\ddot{\phi} &= \frac{(J_y – J_z)}{J_x} \dot{\theta}\dot{\psi} – \frac{J_{prop}}{J_x} \dot{\phi} + \frac{1}{J_x} \tau_\phi + d_\phi(t) \\
\ddot{\theta} &= \frac{(J_z – J_x)}{J_y} \dot{\phi}\dot{\psi} – \frac{J_{prop}}{J_y} \dot{\theta} + \frac{1}{J_y} \tau_\theta + d_\theta(t) \\
\ddot{\psi} &= \frac{(J_x – J_y)}{J_z} \dot{\phi}\dot{\theta} – \frac{J_{prop}}{J_z} \dot{\psi} + \frac{1}{J_z} \tau_\psi + d_\psi(t)
\end{aligned}
$$

Here, \(d_i(t)\) lump together all unmodeled dynamics, cross-coupling effects, and external disturbances. This formulation highlights the challenge: the presence of nonlinear coupling terms \((\dot{\theta}\dot{\psi}, \dot{\phi}\dot{\psi}, \dot{\phi}\dot{\theta})\) and the unknown disturbance \(d_i(t)\). A robust controller must actively reject these influences.

The core innovation of this work lies in the integration of a finite-time Extended State Observer (ESO) with a predictive control law. The ESO’s role is to estimate in real-time both the system’s unmeasured states (e.g., angular rates) and the aggregated “total disturbance,” which includes internal nonlinearities, model uncertainties, and external forces. Consider a second-order attitude channel (e.g., roll) expressed in error form. Let \(e_1 = \phi – \phi_d\) and \(e_2 = \dot{e}_1 = \dot{\phi} – \dot{\phi}_d\). The error dynamics can be written as:

$$
\begin{aligned}
\dot{e}_1 &= e_2 \\
\dot{e}_2 &= f(e_1, e_2, t) + g_0 u(t) + d(t) – \ddot{\phi}_d
\end{aligned}
$$

where \(f(\cdot)\) represents known nonlinearities, \(g_0\) is a known nominal control gain, \(u\) is the control input (\(\tau_\phi\)), and \(d(t)\) is the unknown disturbance. We define the “generalized disturbance” or “total disturbance” \(x_3(t) = f(\cdot) + (g – g_0)u + d(t) – \ddot{\phi}_d\), where \(g\) is the true, possibly unknown, gain. The system is then augmented:

$$
\begin{aligned}
\dot{e}_1 &= e_2 \\
\dot{e}_2 &= x_3 + g_0 u \\
\dot{x}_3 &= h(t)
\end{aligned}
$$

assuming the rate of change of the generalized disturbance \(h(t)\) is unknown but bounded. A novel, finite-time convergent ESO is constructed to estimate \(e_1\), \(e_2\), and \(x_3\):

$$
\begin{aligned}
\dot{z}_1 &= z_2 + \frac{3}{\epsilon} \text{sig}^{\alpha_1}(y – z_1) \\
\dot{z}_2 &= z_3 + \frac{3}{\epsilon^2} \text{sig}^{\alpha_2}(y – z_1) + g_0 u \\
\dot{z}_3 &= \frac{1}{\epsilon^3} \text{sig}^{\alpha_3}(y – z_1)
\end{aligned}
$$

where \(y = e_1\) is the measured output (tracking error), \(z_1, z_2, z_3\) are the estimates of \(e_1, e_2, x_3\) respectively, \(\epsilon > 0\) is a small tuning parameter, and \(\text{sig}^{\alpha}(x) = |x|^{\alpha} \text{sign}(x)\). The exponents are typically chosen as \(\alpha_1 = \alpha\), \(\alpha_2 = 2\alpha – 1\), \(\alpha_3 = 3\alpha – 2\), with \(\alpha \in (0, 1)\). This observer guarantees that the estimation errors converge to a small region around zero within a finite time \(T(\epsilon)\), i.e., \(z_1 \rightarrow e_1\), \(z_2 \rightarrow e_2\), and \(z_3 \rightarrow x_3\).

With accurate estimates from the ESO, we can design a controller that is largely independent of the precise model \(f(\cdot)\) and disturbance \(d(t)\). We employ a finite-horizon predictive control approach. Using a Taylor series expansion over a short prediction horizon \(\Delta\), the future error states at time \(t+\Delta\) can be approximated based on current ESO estimates:

$$
\begin{aligned}
\hat{e}_1(t+\Delta) &= z_1(t) + \Delta z_2(t) + \frac{\Delta^2}{2} (z_3(t) + g_0 u(t)) \\
\hat{e}_2(t+\Delta) &= z_2(t) + \Delta (z_3(t) + g_0 u(t))
\end{aligned}
$$

A cost function \(J\) penalizing future tracking errors and control effort is minimized:

$$
\min_{u(t)} J = \frac{1}{2} \left[ Q_1 \hat{e}_1^2(t+\Delta) + Q_2 \hat{e}_2^2(t+\Delta) + R u^2(t) \right]
$$

where \(Q_1, Q_2 \geq 0\) and \(R > 0\) are weighting matrices. Solving \(\partial J / \partial u = 0\) yields the optimal predictive control law based on ESO estimates:

$$
u^*(t) = -\frac{1}{P} \left[ \frac{\Delta^2}{2} g_0 Q_1 \left( z_1 + \Delta z_2 + \frac{\Delta^2}{2} z_3 \right) + \Delta g_0 Q_2 \left( z_2 + \Delta z_3 \right) \right]
$$

where \(P = \frac{\Delta^4}{4} g_0^2 Q_1 + \Delta^2 g_0^2 Q_2 + R\). This control law actively uses the disturbance estimate \(z_3\) to cancel its effect in real-time, leading to a robust, model-compensating controller for the quadrotor drone. The structure is applied identically and in parallel to the roll, pitch, and yaw channels. A summary of the control parameters and their typical roles is provided below.

Parameter Symbol Typical Role / Value
ESO Convergence Parameter \(\epsilon\) Small positive scalar (e.g., 0.01-0.1). Smaller values yield faster but potentially more aggressive observation.
ESO Nonlinear Exponent \(\alpha\) Between 0.5 and 0.9 (e.g., 0.7). Governs the finite-time convergence characteristic.
Prediction Horizon \(\Delta\) Short time step (e.g., 0.05-0.2s). Longer horizons consider future error more but rely on less accurate Taylor expansion.
State Error Weight \(Q_1\) Penalizes angular position tracking error (e.g., 0.8-1.5).
State Rate Error Weight \(Q_2\) Penalizes angular rate tracking error (e.g., 0.8-1.5).
Control Effort Weight \(R\) Penalizes control input (torque) magnitude (e.g., 0.5-2.0). Balances performance against actuator demand.
Nominal Control Gain \(g_0\) Approximate inverse of moment of inertia (e.g., \(1/J_x\)).

The proposed ESO-based predictive controller (ESO-PC) was rigorously tested on a high-fidelity quadrotor drone simulation platform and a real-world experimental attitude stabilization rig. The experimental setup consisted of a quadrotor drone mounted on a three-degree-of-freedom gimbal, allowing free rotation in roll, pitch, and yaw while constraining translational movement. This platform is ideal for isolating and validating pure attitude control performance. Motors were driven by electronic speed controllers (ESCs), and an inertial measurement unit (IMU) provided attitude feedback. The control algorithm was implemented in Simulink and executed in real-time. Key performance tests included set-point regulation (disturbance rejection) and trajectory tracking.

For set-point regulation, all three attitude angles were commanded to zero degrees. An external impulsive disturbance was applied to the platform. The results demonstrated the efficacy of the observer and controller. The ESO provided accurate estimates of both the angular rates and the generalized disturbance acting on each axis. The controller, utilizing these estimates, drove the attitude errors back to near zero rapidly and with minimal overshoot. Notably, the pitch and yaw channels exhibited excellent disturbance rejection. The roll channel showed slightly slower convergence due to an intentional, asymmetric mass distribution on the experimental rig, which presented an additional, constant disturbance. This real-world imperfection was successfully treated as part of the generalized disturbance \(x_3(t)\) and compensated for by the ESO-PC, showcasing its practical robustness for a quadrotor drone.

The trajectory tracking performance was evaluated by commanding sinusoidal reference signals for roll, pitch, and yaw. The tracking results were compelling. For the pitch channel, the actual angle closely followed the desired sinusoidal wave. The steady-state tracking error remained bounded within approximately ±0.5 degrees, as quantified in the table below. Similar high-performance tracking was observed for the yaw channel. The roll channel, again challenged by the asymmetric mass, showed a slightly larger but still well-bounded tracking error of around ±1.0 degrees in steady state. These errors represent a significant improvement over what traditional PID control could achieve under similar conditions of model uncertainty and disturbance. The following table summarizes key performance metrics from the experimental tests.

Test Scenario Control Channel Performance Metric Result with ESO-PC Notes
Set-Point Regulation Pitch (\(\theta\)) Settling Time (to within 1°) after impulse < 1.5 seconds Fast recovery, minimal oscillation.
Roll (\(\phi\)) Settling Time (to within 1.5°) after impulse < 3.0 seconds Slower due to asymmetric mass bias, effectively rejected.
Yaw (\(\psi\)) Settling Time (to within 1°) after impulse < 1.2 seconds Excellent disturbance rejection.
Sinusoidal Tracking Pitch (\(\theta\)) Steady-State Max Tracking Error ± 0.5° High-precision tracking.
Roll (\(\phi\)) Steady-State Max Tracking Error ± 1.0° Good tracking despite persistent mass imbalance.
Yaw (\(\psi\)) Steady-State Max Tracking Error ± 0.3° Superior tracking performance.

The comparative analysis clearly shows the superiority of the proposed ESO-based predictive control strategy. Unlike standard PID, which struggles with nonlinear coupling and disturbances, the ESO-PC actively estimates and cancels these effects. Compared to conventional MPC, which requires a highly accurate model to maintain performance, the ESO-PC is inherently adaptive to model errors and external forces. The finite-time convergence property of the chosen ESO ensures that the disturbance estimates become available to the controller quickly, enhancing the overall system’s agility. This makes the framework particularly suitable for a quadrotor drone operating in unpredictable environments. The controller’s performance is governed by a set of tunable parameters \((\epsilon, \alpha, \Delta, Q_1, Q_2, R)\). Systematic tuning, often starting with the ESO parameters \((\epsilon, \alpha)\) for fast and stable observation followed by the predictive controller parameters for desired closed-loop response, yields a robust flight controller.

In conclusion, the problem of robust attitude stabilization for a quadrotor drone in the presence of model uncertainties and external disturbances has been effectively addressed through a novel synthesis of estimation and predictive control. The core of the solution is a finite-time convergent Extended State Observer that reconstructs the system’s internal states and the aggregated “total disturbance” in real time, using only input and output measurements. This estimate is then seamlessly integrated into a finite-horizon predictive control law, which computes the optimal control action to minimize future tracking errors while compensating for the estimated disturbance. The resulting controller is model-independent in its essence, requiring only a nominal system gain, and demonstrates remarkable robustness. Extensive experimental validation on a dedicated quadrotor drone attitude testbed confirms the theory: the ESO-PC achieves rapid set-point recovery, excellent disturbance rejection, and high-precision trajectory tracking, outperforming traditional model-based or linear controllers. This framework provides a powerful and practical design methodology for enhancing the stability, reliability, and operational envelope of quadrotor drones across a wide spectrum of demanding applications.

Scroll to Top