In recent years, micro quadcopter unmanned aerial vehicles (MUAVs) have gained significant attention due to their high maneuverability, agility, and ability to operate in complex and uncertain environments. These quadcopter systems are widely used in applications such as environmental monitoring, military reconnaissance, post-disaster search and rescue, and equipment inspection. However, when performing high-speed maneuverability flights, quadcopter platforms often generate complex high-speed airflow, leading to unstable rotor aerodynamics. This instability causes oscillations in the quadcopter’s angular velocity, adversely affecting flight stability. Compared to standard-sized quadcopter systems, micro quadcopter designs are more susceptible to external aerodynamic disturbances due to their lower thrust-to-weight ratios and smaller moments of inertia. Therefore, it is crucial to develop advanced control strategies that can effectively mitigate these disturbances during high-agility maneuvers.
This paper addresses the challenges associated with high-speed maneuverability flights of micro quadcopter systems by analyzing the effects of time-varying propeller aerodynamic coefficients and torque delay on quadcopter dynamics. A novel disturbance rejection control strategy based on a nonlinear extended state observer (ESO) is proposed. The approach treats the system disturbances encountered during high-agility flights as total disturbances, estimates them using the ESO, and compensates for them through a designed controller. Theoretical analysis and comparative experimental results demonstrate that the proposed method effectively suppresses oscillatory disturbances caused by aerodynamic instability and torque delay, ensuring closed-loop system stability and enhancing the performance of micro quadcopter systems in high-speed maneuvers.
High-Speed Maneuverability Flight Model for Quadcopter Systems
High-speed maneuverability flights for quadcopter systems involve rapid consecutive rotations around single or multiple axes, during which the translational motion remains in free fall and open-loop state. A complete maneuver, such as a multiple flip, starts from an initial attitude with thrust directed vertically upward and ends with the same attitude. The reference angular velocity for a complete flip maneuver can be described as follows:
$$ \omega_d(t) = \begin{cases}
\omega_{d,1}(t), & 0 \leq t \leq \delta_1 \\
\omega_{d,2}(t), & \delta_1 \leq t \leq \sum_{i=1}^2 \delta_i \\
\omega_{d,3}(t), & \sum_{i=1}^2 \delta_i \leq t \leq \sum_{i=1}^3 \delta_i
\end{cases} $$
where $\omega_{d,i}$ and $\delta_i$ represent the reference angular velocity and accumulated rotation angle for the $i$-th sub-rotation, respectively.
The quadcopter is modeled as a rigid body with 6 degrees of freedom, comprising 3 positional and 3 attitude variables. Using the Newton-Euler method, the attitude dynamics of a quadcopter subject to propeller aerodynamic and torque delay disturbances can be expressed as:
$$ m\ddot{\mathbf{r}} = -mg\mathbf{n}_3 + f\mathbf{b}_3, $$
$$ \dot{\mathbf{q}} = \frac{1}{2} \mathbf{q} \times \mathbf{p}, $$
$$ \mathbf{J}\dot{\boldsymbol{\omega}} = -\boldsymbol{\omega} \times \mathbf{J}\boldsymbol{\omega} + \boldsymbol{\tau}, $$
$$ \dot{\boldsymbol{\tau}} = -a(t)\boldsymbol{\tau} + b(t)\mathbf{u}, $$
where $\mathbf{r}$ denotes the displacement of the quadcopter’s center of mass from the world frame origin, $\mathbf{q}$ is the quaternion representing the body frame attitude relative to the world frame, $\mathbf{p} = [0, \boldsymbol{\omega}^T]^T$, $\boldsymbol{\omega} = [p, q, r]^T$ is the angular velocity in the body frame, $\boldsymbol{\tau} = [\tau_1, \tau_2, \tau_3]^T$ is the torque generated by the propellers, $\mathbf{J} = \text{diag}\{I_x, I_y, I_z\}$ is the inertia matrix, and $\mathbf{u} \in \mathbb{R}^3$ is the input signal.
Expanding the angular velocity dynamics yields:
$$ \begin{cases}
\dot{p} = \frac{1}{I_x} [\tau_1 + qr(I_y – I_z) – J_1 q \Omega – l k_f p] \\
\dot{q} = \frac{1}{I_y} [\tau_2 + pr(I_z – I_x) + J_1 p \Omega – l k_f q] \\
\dot{r} = \frac{1}{I_z} [\tau_3 + pq(I_x – I_y) – k_f r]
\end{cases} $$
Here, $J_1$ represents the inertia about the $z$-axis, $\Omega$ is the total propeller speed, $l$ is the distance from the rotor to the body center, and $k_f$ is determined by air density.
The effects of high-speed maneuvers on torque and aerodynamics are captured by:
$$ a(t) = a_1 + a_2 \eta_1(\omega) + a_3 \eta_2(\dot{\omega}), $$
$$ b(t) = b_1 + b_2 \eta_1(\omega) + b_3 \eta_2(\dot{\omega}), $$
where $a_i$ and $b_i$ for $i=1,2,3$ are unknown constants, $\eta_1 = \omega(1 + \sigma_1^{-2} \omega^2)^{-\frac{1}{2}}$, $\eta_2 = \dot{\omega}(1 + \sigma_2^{-2} \dot{\omega}^2)^{-\frac{1}{2}}$, with $-\sigma_1 < \eta_1 < \sigma_1$ and $-\sigma_2 < \eta_2 < \sigma_2$. Thus, there exist constants $a$ and $b$ such that $a(t) \geq a > 0$ and $b(t) \geq b > 0$.
| Parameter | Physical Meaning | Value |
|---|---|---|
| $m$ | Mass | 28 g |
| $g$ | Gravitational Acceleration | 9.8 m/s² |
| $d$ | Distance from Center to Propeller | 44.84 mm |
| $I_x$ | Moment of Inertia (X-axis) | 1.6163 × 10⁻⁵ kg·m² |
| $I_y$ | Moment of Inertia (Y-axis) | 1.5024 × 10⁻⁵ kg·m² |
| $I_z$ | Moment of Inertia (Z-axis) | 2.0491 × 10⁻⁵ kg·m² |
Controller Design Based on Nonlinear Extended State Observer
The primary control objective is to ensure that the quadcopter’s attitude angular velocity tracks the reference angular velocity $\omega_d$ during high-speed maneuvers, despite disturbances from propeller aerodynamics and torque delay. To prevent stall, it is preferable to control the flip angular velocity rather than the flip angle. For the roll angle channel around the body $x$-axis, an Active Disturbance Rejection Control (ADRC) controller is designed. Consider the model:
$$ \begin{cases}
\dot{q} = f_1(q, \tau_2, D_1(t)), \\
\dot{\tau}_2 = f_2(\tau_2, D_2(t)) + b(t) u_2, \\
y = q,
\end{cases} $$
where $f_1 = [\tau_2 – l k_f q + D_1(t)] / I_y$, $f_2 = D_2(t) \tau_2$, $D_1(t) = pr(I_z – I_x) + J_1 p \Omega$, and $D_2(t) = -a_2(t)$. Let $x_1 = q$, $x_2 = f_1(q, \tau_2, D_1(t))$. Then:
$$ \begin{cases}
\dot{x}_1 = x_2, \\
\dot{x}_2 = \frac{\partial f_1}{\partial q} f_1 + \frac{\partial f_1}{\partial \tau_2} f_2 + \frac{\partial f_1}{\partial D_1} \dot{D}_1 + \frac{\partial f_1}{\partial \tau_2} b(t) u_2, \\
y = x_1.
\end{cases} $$
Define the extended state variable:
$$ x_3 = \frac{\partial f_1}{\partial q} f_1 + \frac{\partial f_1}{\partial \tau_2} f_2 + \frac{\partial f_1}{\partial D_1} \dot{D}_1 + \frac{\partial f_1}{\partial \tau_2} (b(t) – b) u_2 \triangleq F(t, x_1, x_2) + w(t), $$
where $b$ is the nominal value of $b(t)$. $F(t, x_1, x_2)$ represents the internal unknown dynamics, and $w(t)$ is the external disturbance. Thus, $F(t) + w(t)$ is the total disturbance. The system can be rewritten as:
$$ \begin{cases}
\dot{x}_1 = x_2, \\
\dot{x}_2 = x_3 + b u_2, \\
\dot{x}_3 = \dot{F}(t, x_1, x_2) + \dot{w}(t), \\
y = x_1.
\end{cases} $$
ADRC consists of a tracking differentiator (TD), an extended state observer (ESO), and an error feedback control law. The TD is given by:
$$ \begin{cases}
\dot{v}_{x1} = v_{x2}, \\
\dot{v}_{x2} = fhan(v_{x1} – \omega_d, v_{x2}, R, h),
\end{cases} $$
where $v_{x1}$ tracks the reference angular velocity $\omega_d$, $v_{x2}$ is the differential signal, and $R$ and $h$ are control parameters. The nonlinear ESO is designed as:
$$ \begin{cases}
\dot{z}_1 = z_2 + \alpha_1 \left[ \left( \frac{y – z_1}{\varepsilon^2} \right) + \varphi \left( \frac{y – z_1}{\varepsilon^2} \right) \right], \\
\dot{z}_2 = z_3 + \alpha_2 \left( \frac{y – z_1}{\varepsilon^2} \right) + b u_2, \\
\dot{z}_3 = \alpha_3 \left( \frac{y – z_1}{\varepsilon^2} \right),
\end{cases} $$
where $\varphi(\cdot) = \frac{1}{4} \tanh(\cdot)$, $\alpha_1, \alpha_2, \alpha_3$ are observer coefficients, $z_1$ and $z_2$ are estimates of $x_1$ and $x_2$, respectively, $z_3$ is the estimate of the total disturbance $x_3$, $\varepsilon > 0$ is a gain coefficient, and $y$ is the system output. The control signal based on feedback is:
$$ u_2 = b^{-1} \left( k_1 (\omega_d – z_1) + k_2 (\dot{\omega}_d – z_2) + \ddot{\omega}_d – z_3 \right), $$
where $k_1$ and $k_2$ are controller gains, and $\dot{\omega}_d$ and $\ddot{\omega}_d$ are the first and second derivatives of the reference angular velocity.
Closed-Loop System Stability Analysis
Before analyzing stability, the following assumptions are introduced:
Assumption 1: $F(t, x_1, x_2)$ and $w(t)$ are continuously differentiable with respect to their variables and satisfy:
$$ |u_2| + |F| + |\dot{w}| + \left| \frac{\partial F}{\partial t} \right| + \left| \frac{\partial F}{\partial x_1} \right| + \left| \frac{\partial F}{\partial x_2} \right| \leq c_0 + \sum_{i=1}^2 c_i |x_i|^{\frac{k}{2}}, $$
where $c_i$ for $i=0,1,2$ and $k$ are positive constants.
Assumption 2: $w(t)$ and the solutions $x_1, x_2$ of system (5) satisfy $|w| + |x_1| + |x_2| \leq B$ for some constant $B > 0$.
Assumption 3: There exist constants $\lambda_i$ for $i=1,2,3,4$, $\alpha$, $\beta$, and positive definite continuously differentiable functions $V, W: \mathbb{R}^3 \to \mathbb{R}$ such that:
$$ \begin{cases}
\lambda_1 \|\xi\|^2 \leq V(\xi) \leq \lambda_2 \|\xi\|^2, \\
\lambda_3 \|\xi\|^2 \leq W(\xi) \leq \lambda_4 \|\xi\|^2, \\
\sum_{i=1}^2 \frac{\partial V}{\partial \xi_i} (\xi_{i+1} – g_i(\xi_1)) – \frac{\partial V}{\partial \xi_{i+1}} g_{i+1}(\xi_1) \leq -W(\xi), \\
\left| \frac{\partial V}{\partial \xi_3} \right| \leq \beta \|\xi\|,
\end{cases} $$
where $\xi = (\xi_1, \xi_2, \xi_3)^T$ and $\|\cdot\|$ denotes the Euclidean norm.
Lemma 1: If system (5) satisfies Assumptions 1-3 and the nonlinear state observer is given by (6), then for any constant $T$, $\lim_{\varepsilon \to 0} \|x_i – z_i\| = 0$ for $t \in [T, \infty)$, where $x_i$ and $z_i$ are solutions of (5) and (6), respectively, for $i=1,2,3$.
Proof: Let $E_i(t) = x_i(t) – z_i(t)$ and $\xi_i(t) = \frac{E_i(t)}{\varepsilon^{2+1-i}}$ for $i=1,2,3$. Set $\alpha_1 = 3\varepsilon^1$, $\alpha_2 = 3\varepsilon^0$, $\alpha_3 = \varepsilon^{-1}$. Subtracting (6) from (5) and substituting (8) yields:
$$ \begin{cases}
\dot{\xi}_1(t) = \xi_2(t) – 3g_1(\xi_1(t)), \\
\dot{\xi}_2(t) = \xi_3(t) – 3g_2(\xi_1(t)), \\
\dot{\xi}_3(t) = -g_3(\xi_1(t)) + \varepsilon \Delta(t),
\end{cases} $$
where $g_1(\xi_1) = \xi_1 + \varphi(\xi_1)$, $g_2(\xi_1) = \xi_1$, $g_3(\xi_1) = \xi_1$. Consider the Lyapunov function $V(\xi(t)) = \xi^T P \xi$, where $P$ is the solution of the Lyapunov equation $PE + E^T P = -I$, with $I$ as the 3D identity matrix and $E$ as the Hurwitz matrix:
$$ E = \begin{bmatrix}
-3 & 1 & 0 \\
-3 & 0 & 1 \\
-1 & 0 & 0
\end{bmatrix}. $$
Differentiating $V(\xi(t))$ with respect to time gives:
$$ \frac{d}{dt} V(\xi(t)) = \sum_{i=1}^2 \frac{\partial V}{\partial \xi_i} (\xi_{i+1} – g_i(\xi_1)) – \frac{\partial V}{\partial \xi_3} g_3(\xi_1) + \frac{\partial V}{\partial \xi_3} \varepsilon \Delta. $$
Using basic inequalities and Assumption 3, this simplifies to:
$$ \frac{d}{dt} V(\xi) \leq -\frac{5}{32} \xi_1 – \frac{1}{2} \xi_2 + \varepsilon M \beta \|\xi\| \triangleq -W(\xi) + \varepsilon M \beta \|\xi\| \leq -\frac{\lambda_3}{\lambda_2} V(\xi) + \frac{\sqrt{\lambda_1}}{\lambda_1} \varepsilon M \beta \sqrt{V(\xi)}. $$
Since $\frac{d \sqrt{V(\xi)}}{dt} = \frac{1}{2\sqrt{V(\xi)}} \frac{dV(\xi)}{dt}$, it follows that:
$$ \|\xi(t)\| \leq \sqrt{\frac{V(\xi(t))}{\lambda_1}} \leq \sqrt{\frac{\lambda_1 V(\xi(0))}{\lambda_1}} e^{-\frac{\lambda_3}{2\lambda_2} t} + \frac{\varepsilon M \beta}{2\lambda_1} \int_0^t e^{-\frac{\lambda_3}{2\lambda_2} (t-s)} ds. $$
From (8), $|E_i(t)| = \varepsilon^{3-i} |\xi_i(t/\varepsilon)| \leq \varepsilon^{3-i} \|\xi(t/\varepsilon)\|$. As $\varepsilon \to 0$, $|E_i(t)| \to 0$, proving the convergence of the ESO.
Theorem 1: Consider system (5) under Assumptions 1-3. If the control parameters $k_1$ and $k_2$ are chosen such that the polynomial $s^2 + k_2 s + k_1$ is Hurwitz, then the closed-loop system (5)-(7) is stable, and the angular velocity tracking error asymptotically converges, i.e., $\lim_{t \to \infty} (\omega_d(t) – x_1(t)) = 0$.
Proof: Define the tracking errors: $e_1 = \omega_d – x_1$, $e_2 = \dot{\omega}_d – x_2$, $e_3 = \ddot{\omega}_d – x_3$. The control signal can be rewritten as:
$$ u_2 = b^{-1} [k_1(e_1 – E_1) + k_2(e_2 – E_2) + E_3 + \ddot{\omega}_d – x_3]. $$
Since $\dot{e}_1 = e_2 = \dot{\omega}_d – x_2$ and $\dot{e}_2 = \ddot{\omega}_d – (x_3 + b_2 u_2) = -k_1 e_1 – k_2 e_2 – k_1 E_1 – k_2 E_2 – E_3$, then:
$$ \dot{\mathbf{e}}(t) = A_e \mathbf{e}(t) + A_E \mathbf{E}(t), $$
where
$$ A_e = \begin{bmatrix} 0 & 1 \\ -k_1 & -k_2 \end{bmatrix}, \quad A_E = \begin{bmatrix} 0 & 0 & 0 \\ -k_1 & -k_2 & -1 \end{bmatrix}. $$
Since $s^2 + k_2 s + k_1$ is Hurwitz, $A_e$ is Hurwitz. By Lemma 1, $\lim_{t \to \infty} \|A_E \mathbf{E}(t)\| = 0$ as $\varepsilon \to 0$. Using Lemma 2, $\lim_{t \to \infty} e_i(t) = 0$ for $i=1,2$, proving closed-loop stability.
Simulation Validation
To validate the proposed control strategy, a quadcopter simulation system was developed in MATLAB/Simulink based on the high-speed maneuverability flight model. The system parameters of the micro quadcopter are listed in Table 1. The quadcopter is initialized with thrust directed vertically upward, and initial attitude angles and angular velocities are set to zero. The desired flip angular velocity $\omega_d(t)$ reaches a maximum of 1400 degrees per second and is defined as:
$$ \omega_d(t) = \begin{cases}
8167t – 164678(t – 0.1286)^3 – 350, & 0 \leq t < 0.257 \\
164678(t – 0.3857)^3 – 8167t + 3850, & 0.257 \leq t < 0.514
\end{cases} $$
The ADRC-based controller parameters are selected as shown in Table 2.
| Parameter | Value |
|---|---|
| $\varepsilon$ | 0.01 |
| $b$ | 1 |
| $\omega_B$ | 100 |
Simulation results indicate that the reference angular velocity curve and the simulated flip curve are highly consistent, demonstrating that the proposed algorithm achieves high-performance and stable high-speed flip maneuvers under the given simulation conditions.
Experimental Validation
The experimental platform used is the Crazyflie 2.1 micro quadcopter, which features onboard sensors including a three-axis accelerometer, a three-axis gyroscope, and a MEMS barometer. The barometer measures altitude, while the accelerometer and gyroscope estimate attitude and provide angular velocity feedback. Due to its small size, the Crazyflie 2.1 quadcopter is highly agile and capable of high-speed maneuvers with elevated angular velocities. However, its low mass and small moments of inertia make it more vulnerable to external aerodynamic and internal torque disturbances.

The experimental setup comprises a ground computer and the quadcopter. The ground computer sends reference signals for thrust and attitude angles (roll, pitch, and yaw) via a wireless USB radio dongle, issuing commands for high-speed maneuvers. During maneuvers, the quadcopter operates autonomously, relying solely on the controller and filtered sensor data from the attitude estimator.
The proposed controller is compared against a widely used PID controller. Both controllers run at 500 Hz on the quadcopter, with flight data logged at 100 Hz. The controller parameters are listed in Table 3.
| Parameter | PID Value | Proposed Method Value |
|---|---|---|
| $k_p$ | 250 | – |
| $k_i$ | 500 | – |
| $k_d$ | 2.5 | – |
| $\varepsilon$ | – | 0.01 |
| $\omega_B$ | – | 500 |
Snapshots of the high-speed flip maneuver using the proposed method are shown in Figure 5, illustrating the ascent, flip, and stable descent phases. The quadcopter completes the maneuver with short ascent and descent distances, indicating effective disturbance rejection.
Figure 6 presents the experimental results for angular velocity tracking. Figure 6(a) shows that the PID controller exhibits overshoot due to oscillations caused by torque delay and aerodynamic disturbances, particularly at peak angular velocities and during stable flight. In contrast, Figure 6(b) demonstrates that the proposed controller significantly reduces these disturbances, resulting in superior tracking performance. The ESO efficiently estimates nonlinear disturbances like aerodynamic effects and inertial coupling within the short maneuver duration (under 1 second), enabling rapid control response.
Conclusion
This paper investigated high-speed maneuverability flights of micro quadcopter systems, considering the impact of time-varying propeller aerodynamic coefficients and torque delay on quadcopter dynamics. A disturbance rejection control strategy based on a nonlinear extended state observer was proposed, which estimates and compensates for total disturbances during high-agility maneuvers. Theoretical analysis and simulations confirmed the method’s effectiveness, while experimental results on a Crazyflie 2.1 quadcopter demonstrated superior performance compared to traditional PID control in suppressing oscillations caused by aerodynamic and torque delay disturbances. Future work will focus on validating more complex maneuvers, such as cobra maneuvers and hybrid flips, and incorporating $\mathcal{L}_1$ adaptive augmentation to improve transient performance and response speed.
