
The control of quadrotor drones presents a fascinating yet formidable challenge in the field of aerial robotics. These versatile platforms, characterized by their simple mechanical design and agile maneuverability, have found applications ranging from aerial cinematography and precision agriculture to infrastructure inspection and search-and-rescue missions. However, their inherent underactuation—having only four independent control inputs (rotor thrusts) to govern six degrees of freedom (position and orientation)—coupled with their high sensitivity to environmental disturbances and parametric uncertainties, makes the design of robust, high-performance flight controllers a critical area of research. In our work, we address a particularly challenging scenario: achieving precise trajectory tracking for a quadrotor drone when its core dynamic parameters, external disturbances, and aerodynamic damping are entirely unknown and possibly time-varying.
Traditional control approaches for quadrotor drones, such as PID, linear quadratic regulator (LQR), or even standard backstepping, often rely on a reasonably accurate model of the system. They may struggle or require extensive, situation-specific tuning when facing significant model discrepancies or unforeseen external forces like wind gusts. More advanced techniques like sliding mode control or adaptive control can handle some uncertainties, but they typically focus on asymptotic stability without explicit guarantees on the transient performance—how quickly the tracking error converges and how large the overshoot might be. For practical deployment of quadrotor drones, especially in constrained environments or during delicate operations, specifying and guaranteeing both transient and steady-state performance is paramount.
This is where the concept of Prescribed Performance Control (PPC) becomes powerful. The core idea is to enforce that the tracking error evolves within a predefined “performance envelope” from the very beginning of the operation. This envelope is defined by a decaying function, ensuring that the error converges to a small residual set with a maximum overshoot less than a specified bound and a minimum convergence rate. Previous research has applied PPC to quadrotor drones, but often under restrictive assumptions: the mass and inertia might be known, or the bounds of disturbances are required for controller design. Our objective was to push these boundaries. We aimed to develop a control framework that does not require any prior knowledge of the quadrotor drone’s mass, moments of inertia, aerodynamic drag coefficients, or the magnitude of external disturbances. Furthermore, we sought to achieve this prescribed performance for both the outer-loop (position) and inner-loop (attitude) dynamics simultaneously, using a rigorous and computationally efficient design methodology.
To this end, we adopted and extended the Adaptive Dynamic Surface Control (ADSC) framework. The ADSC technique elegantly solves the “explosion of complexity” problem associated with the traditional backstepping method by introducing first-order filters for the virtual control laws. By integrating adaptive laws to estimate the unknown parameters and disturbance bounds online, and by ingeniously incorporating a transformed error variable linked to the performance function, we constructed a novel dual-loop controller. The rest of this article details our mathematical modeling of the uncertain quadrotor drone, the step-by-step design of the adaptive prescribed performance controller, the stability proof, and numerical simulations that validate the superiority of our approach.
Mathematical Model of an Uncertain Quadrotor Drone
We consider a standard “X” configuration quadrotor drone. Let $\mathbf{P} = [x, y, z]^T$ define its position in an inertial frame, and $\mathbf{\Theta} = [\phi, \theta, \psi]^T$ represent its attitude using Euler angles (roll, pitch, yaw). The dynamics are derived using the Newton-Euler formalism. Critically, we incorporate several real-world uncertainties:
- Unknown Time-Varying Mass: The total mass $m$ of the quadrotor drone is unknown and may change due to payload variation or fuel consumption. We denote $m_x = m_y = m_z = m$.
- Unknown Moments of Inertia: The principal moments of inertia $I_x$, $I_y$, $I_z$ are unknown.
- Unknown Aerodynamic Damping: Linear and rotational damping coefficients $k_i$ ($i=1,\ldots,6$) due to air resistance are unknown.
- Unknown Composite Disturbances: We consider disturbances $d_i$ ($i=x,y,z,\phi,\theta,\psi$) encompassing external wind gusts and unmodeled dynamics. Their bounds are also unknown.
Under these conditions, the complete dynamics of the quadrotor drone are given by:
Position (Translation) Subsystem:
$$
\begin{align}
\ddot{x} &= \frac{1}{m_x} u_x + \frac{1}{m_x}d_x – \frac{1}{m_x}k_1 \dot{x} \\
\ddot{y} &= \frac{1}{m_y} u_y + \frac{1}{m_y}d_y – \frac{1}{m_y}k_2 \dot{y} \\
\ddot{z} &= \frac{1}{m_z} u_z – g + \frac{1}{m_z}d_z – \frac{1}{m_z}k_3 \dot{z}
\end{align}
$$
where $g$ is gravity, and the virtual control inputs $u_x, u_y, u_z$ are related to the total thrust $F$ and attitudes:
$$ u_x = (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi)F, \quad u_y = (\cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi)F, \quad u_z = (\cos\phi \cos\theta)F $$
Attitude (Rotation) Subsystem:
$$
\begin{align}
\ddot{\phi} &= \frac{I_y – I_z}{I_x} \dot{\theta}\dot{\psi} + \frac{1}{I_x} \tau_{\phi} + \frac{1}{I_x} J_r \dot{\theta} \Omega_r + \frac{1}{I_x}d_{\phi} – \frac{1}{I_x}k_4 \dot{\phi} \\
\ddot{\theta} &= \frac{I_z – I_x}{I_y} \dot{\psi}\dot{\phi} + \frac{1}{I_y} \tau_{\theta} + \frac{1}{I_y} J_r \dot{\phi} \Omega_r + \frac{1}{I_y}d_{\theta} – \frac{1}{I_y}k_5 \dot{\theta} \\
\ddot{\psi} &= \frac{I_x – I_y}{I_z} \dot{\phi}\dot{\theta} + \frac{1}{I_z} \tau_{\psi} + \frac{1}{I_z}d_{\psi} – \frac{1}{I_z}k_6 \dot{\psi}
\end{align}
$$
Here, $\tau_{\phi}, \tau_{\theta}, \tau_{\psi}$ are the control moments, $J_r$ is the rotor inertia, and $\Omega_r$ is the residual propeller speed.
To facilitate the controller design, we define the state vector and rewrite the system in a strict-feedback form. For the position subsystem, let $x_1 = x, x_2 = \dot{x}, x_3 = y, x_4 = \dot{y}, x_5 = z, x_6 = \dot{z}$. We also define unknown parameters $\eta_{m_x} = 1/m_x$, $\eta_{m_y} = 1/m_y$, $\eta_{m_z} = 1/m_z$. The system becomes:
$$
\begin{align}
\dot{x}_1 &= x_2 \\
\dot{x}_2 &= \eta_{m_x} u_x + \eta_{m_x} d_x – \eta_{m_x} k_1 x_2 \\
\dot{x}_3 &= x_4 \\
\dot{x}_4 &= \eta_{m_y} u_y + \eta_{m_y} d_y – \eta_{m_y} k_2 x_4 \\
\dot{x}_5 &= x_6 \\
\dot{x}_6 &= \eta_{m_z} u_z + \eta_{m_z} d_z – g – \eta_{m_z} k_3 x_6
\end{align}
$$
Similarly, for the attitude subsystem, let $x_7 = \phi, x_8 = \dot{\phi}, x_9 = \theta, x_{10} = \dot{\theta}, x_{11} = \psi, x_{12} = \dot{\psi}$. Define $\eta_{m_\phi} = 1/I_x$, $\eta_{m_\theta} = 1/I_y$, $\eta_{m_\psi} = 1/I_z$, $T_{m_\phi}=(I_y-I_z)/I_x$, $T_{m_\theta}=(I_z-I_x)/I_y$, $T_{m_\psi}=(I_x-I_y)/I_z$. The model is:
$$
\begin{align}
\dot{x}_7 &= x_8 \\
\dot{x}_8 &= T_{m_\phi} x_{10} x_{12} + \eta_{m_\phi}(u_{\phi} + J_r x_{10} \Omega_r + d_{\phi} – k_4 x_8) \\
\dot{x}_9 &= x_{10} \\
\dot{x}_{10} &= T_{m_\theta} x_{12} x_{8} + \eta_{m_\theta}(u_{\theta} + J_r x_{8} \Omega_r + d_{\theta} – k_5 x_{10}) \\
\dot{x}_{11} &= x_{12} \\
\dot{x}_{12} &= T_{m_\psi} x_{8} x_{10} + \eta_{m_\psi}(u_{\psi} + d_{\psi} – k_6 x_{12})
\end{align}
$$
Our control objective is to make the quadrotor drone’s position $[x, y, z]^T$ track a desired trajectory $[x_d(t), y_d(t), z_d(t)]^T$ and its yaw angle $\psi$ track $\psi_d(t)$, while ensuring all tracking errors satisfy predefined transient and steady-state performance criteria, despite all the aforementioned unknowns.
Foundations of Prescribed Performance and Control Architecture
The cornerstone of our method is the prescribed performance function. For each tracking error $e_i(t)$ (e.g., $e_1 = x – x_d$, $e_7 = \phi – \phi_d$, etc.), we require it to evolve within a funnel-shaped boundary defined by:
$$ -\underline{\delta}_i \rho_i(t) < e_i(t) < \bar{\delta}_i \rho_i(t), \quad \forall t \ge 0 $$
where $\underline{\delta}_i$ and $\bar{\delta}_i$ are positive constants setting the lower and upper performance bounds, and $\rho_i(t)$ is a smooth, bounded, and strictly positive decreasing function, typically chosen as:
$$ \rho_i(t) = (\rho_{i,0} – \rho_{i,\infty}) e^{-l_i t} + \rho_{i,\infty} $$
Here, $\rho_{i,0} > \rho_{i,\infty} > 0$ and $l_i > 0$. The constant $\rho_{i,\infty}$ defines the maximum allowable steady-state error, the decreasing rate $l_i$ defines the minimum convergence speed, and the product $\bar{\delta}_i \rho_{i,0}$ limits the maximum overshoot. By selecting these parameters appropriately, we can prescribe the performance of the quadrotor drone.
To incorporate this constraint into controller design, we employ an error transformation. We define a transformed error variable $z_i$:
$$ z_i = \tan\left(\frac{\pi e_i}{2\bar{\delta}_i \rho_i}\right)^{q_i} \cdot \tan\left(\frac{\pi e_i}{2\underline{\delta}_i \rho_i}\right)^{1-q_i} $$
where $q_i = 1$ if $e_i(0) \ge 0$, and $q_i = 0$ otherwise. This transformation has a crucial property: if $z_i$ is bounded and driven to zero, then the original error $e_i$ is guaranteed to remain within the performance funnel $(-\underline{\delta}_i \rho_i, \bar{\delta}_i \rho_i)$ and converge to zero. Thus, our control problem is transformed into stabilizing the transformed error system.
The overall control architecture for the quadrotor drone follows a standard inner-outer loop strategy, but with our novel adaptive PPC modules inserted into each channel.
- Outer Loop (Position Control): Generates desired roll ($\phi_d$) and pitch ($\theta_d$) angles, and a total thrust command ($F$), based on position errors $e_x, e_y, e_z$.
- Attitude Extraction: Computes $\phi_d$ and $\theta_d$ from $u_x, u_y, u_z$ (derived from the outer loop) and $\psi_d$:
$$ \phi_d = \arcsin\left( \frac{u_x \sin\psi_d – u_y \cos\psi_d}{\sqrt{u_x^2 + u_y^2 + u_z^2}} \right), \quad \theta_d = \arctan\left( \frac{u_x \cos\psi_d + u_y \sin\psi_d}{u_z} \right) $$ - Inner Loop (Attitude Control): Generates control moments $\tau_{\phi}, \tau_{\theta}, \tau_{\psi}$ to track the desired attitudes $\phi_d, \theta_d, \psi_d$.
Both the outer and inner loops are designed using our proposed Adaptive Dynamic Surface Prescribed Performance Control (ADSPPC) method.
Adaptive Prescribed Performance Controller Design
We will illustrate the design process for the $x$-position channel and the roll ($\phi$) attitude channel. The designs for $y$, $z$, $\theta$, and $\psi$ follow an identical procedure.
Step 1: Design for the X-Position Channel
Define the tracking error and its transformation: $e_1 = x_1 – x_{1d}$, $z_1 = \tan\left(\frac{\pi e_1}{2\bar{\delta}_1 \rho_1}\right)$. Consider the Lyapunov function candidate $V_1 = \frac{1}{2} z_1^2$. Its derivative is:
$$ \dot{V}_1 = z_1 \dot{z}_1 = z_1 \frac{\partial z_1}{\partial e_1} \dot{e}_1 + z_1 \frac{\partial z_1}{\partial \rho_1} \dot{\rho}_1 = z_1 \Gamma_1 (\dot{x}_1 – \dot{x}_{1d}) + \cdots $$
where $\Gamma_1 = \frac{\partial z_1}{\partial e_1}$ is a positive function. Since $\dot{x}_1 = x_2$, we treat $x_2$ as a virtual control. Choose the desired virtual control $\alpha_1^*$ as:
$$ \alpha_1^* = \dot{x}_{1d} – \frac{c_1}{\Gamma_1} z_1 – \frac{1}{2} z_1 \Gamma_1 + \frac{\dot{\rho}_1}{\rho_1} e_1 $$
where $c_1 > 0$. Introducing a first-order low-pass filter to avoid differentiating $\alpha_1^*$ (Dynamic Surface Control):
$$ \tau_2 \dot{\alpha}_1 + \alpha_1 = \alpha_1^*, \quad \alpha_1(0) = \alpha_1^*(0) $$
where $\tau_2 > 0$ is a small time constant. Define the filter error $y_2 = \alpha_1 – \alpha_1^*$.
Step 2: Design for the Actual Control $u_x$
Define the velocity error $e_2 = x_2 – \alpha_1$. The dynamics of $e_2$ are:
$$ \dot{e}_2 = \dot{x}_2 – \dot{\alpha}_1 = \eta_{m_x} u_x + \eta_{m_x} d_x – \eta_{m_x} k_1 x_2 – \dot{\alpha}_1 $$
We now construct a Lyapunov function $V_2 = V_1 + \frac{1}{2} e_2^2 + \frac{1}{2} y_2^2$. Its derivative involves the unknown terms $\eta_{m_x}$, $\eta_{m_x}d_x$, and $\eta_{m_x}k_1$. Let $\bar{\eta}_{m_x}$ be a known lower bound for $\eta_{m_x}$ (e.g., based on a maximum possible mass). Define the unknown parameters/unknown bounds to be estimated:
$$ \theta_1 = \frac{1}{\bar{\eta}_{m_x}} \eta_{m_x}, \quad D_x \ge |\eta_{m_x} d_x|, \quad G_x \ge |\eta_{m_x} k_1| $$
Note that $\theta_1$, $D_x$, and $G_x$ are unknown positive constants. We design the control law $u_x$ and adaptive laws as follows:
Control Law:
$$ u_x = -\frac{e_2 \bar{u}_x^2 \hat{\theta}_1}{\sqrt{e_2^2 \bar{u}_x^2 \hat{\theta}_1^2 + \epsilon_1^2}} $$
where $\epsilon_1 > 0$ is a small smoothing constant, $\hat{\theta}_1$ is the estimate of $\theta_1$, and $\bar{u}_x$ is an auxiliary robust control term:
$$ \bar{u}_x = c_2 e_2 – \dot{\alpha}_1 + \hat{D}_x \text{sign}(e_2) + |x_2| \hat{G}_x \text{sign}(e_2) + z_1 \Gamma_1 $$
Here, $c_2 > 0$, and $\hat{D}_x$, $\hat{G}_x$ are estimates of $D_x$ and $G_x$.
Adaptive Laws:
$$
\begin{align}
\dot{\hat{\theta}}_1 &= \gamma_{\theta,1} e_2 \bar{u}_x – \sigma_{\theta,1} \hat{\theta}_1 \\
\dot{\hat{D}}_x &= \gamma_{D,1} |e_2| – \sigma_{D,1} \hat{D}_x \\
\dot{\hat{G}}_x &= \gamma_{G,1} |e_2| |x_2| – \sigma_{G,1} \hat{G}_x
\end{align}
$$
where $\gamma_{(\cdot)} > 0$ are adaptation gains and $\sigma_{(\cdot)} > 0$ are small $\sigma$-modification terms to ensure boundedness.
Step 3: Design for the Roll ($\phi$) Attitude Channel
The procedure is similar but must account for the more complex dynamics involving coupling terms ($T_{m_\phi} x_{10} x_{12}$) and gyroscopic effects. Define $e_7 = x_7 – \phi_d$, $z_7 = \tan\left(\frac{\pi e_7}{2\bar{\delta}_7 \rho_7}\right)$. After applying the first dynamic surface for the virtual control $\alpha_7^*$, we define $e_8 = x_8 – \alpha_7$.
The dynamics are: $\dot{e}_8 = T_{m_\phi} x_{10} x_{12} + \eta_{m_\phi}(u_{\phi} + J_r x_{10}\Omega_r + d_{\phi} – k_4 x_8) – \dot{\alpha}_7$. We lump the uncertainties. Let $\bar{\eta}_{m_\phi}$ be a known lower bound for $\eta_{m_\phi}$. Define:
$$ \theta_2 = \frac{1}{\bar{\eta}_{m_\phi}} \eta_{m_\phi}, \quad T_{\phi} \ge \max(|\eta_{m_\phi} d_{\phi}|, |T_{m_\phi}|), \quad N_{\phi} \ge |\eta_{m_\phi} k_4| $$
Control Law:
$$ u_{\phi} = -J_r x_{10}\Omega_r – \frac{e_8 \bar{u}_{\phi}^2 \hat{\theta}_2}{\sqrt{e_8^2 \bar{u}_{\phi}^2 \hat{\theta}_2^2 + \epsilon_7^2}} $$
where the auxiliary term $\bar{u}_{\phi}$ is:
$$ \bar{u}_{\phi} = c_8 e_8 – \dot{\alpha}_7 + (|x_{10} x_{12}|+1)\hat{T}_{\phi} \text{sign}(e_8) + |x_8| \hat{N}_{\phi} \text{sign}(e_8) + z_7 \Gamma_7 $$
Adaptive Laws:
$$
\begin{align}
\dot{\hat{\theta}}_2 &= \gamma_{\theta,2} e_8 \bar{u}_{\phi} – \sigma_{\theta,2} \hat{\theta}_2 \\
\dot{\hat{T}}_{\phi} &= \gamma_{T,2} (|x_{10} x_{12}|+1)|e_8| – \sigma_{T,2} \hat{T}_{\phi} \\
\dot{\hat{N}}_{\phi} &= \gamma_{N,2} |x_8||e_8| – \sigma_{N,2} \hat{N}_{\phi}
\end{align}
$$
The following table summarizes the key unknown quantities estimated online for each channel of the quadrotor drone:
| Channel | Unknown Parameter/Bound | Symbol | Adaptive Law Purpose |
|---|---|---|---|
| X-Position | Normalized Mass Inverse | $\theta_1$ | Compensate for unknown $1/m$ |
| X-Position | Disturbance Bound | $D_x$ | Reject unknown $d_x$ |
| X-Position | Damping Bound | $G_x$ | Compensate for unknown $k_1$ |
| Roll ($\phi$) | Normalized Inertia Inverse | $\theta_2$ | Compensate for unknown $1/I_x$ |
| Roll ($\phi$) | Coupling & Disturbance Bound | $T_{\phi}$ | Reject $T_{m_\phi}$ term and $d_{\phi}$ |
| Roll ($\phi$) | Rotational Damping Bound | $N_{\phi}$ | Compensate for unknown $k_4$ |
Stability and Performance Analysis
The closed-loop stability of the entire quadrotor drone system under the proposed controller is established using Lyapunov theory. We construct a composite Lyapunov function $V$ as the sum of the functions for all six channels (three position, three attitude):
$$ V = \sum_{i \in \{x,y,z,\phi,\theta,\psi\}} \left( \frac{1}{2}z_i^2 + \frac{1}{2}e_{v,i}^2 + \frac{1}{2}y_{f,i}^2 + \frac{1}{2\gamma_{\theta,i}} \tilde{\theta}_i^2 + \frac{1}{2\gamma_{D,i}} \tilde{D}_i^2 + \frac{1}{2\gamma_{G,i}} \tilde{G}_i^2 \right) $$
where $e_{v,i}$ is the velocity/angular rate error, $y_{f,i}$ is the filter error, and $\tilde{(\cdot)} = (\cdot) – \hat{(\cdot)}$ denotes the parameter estimation error.
Taking the derivative $\dot{V}$ and substituting the control laws, adaptive laws, and employing the properties of the smooth control approximation (which satisfies $|\chi – \frac{\chi^2}{\sqrt{\chi^2+\epsilon^2}}| < \epsilon$), we can derive an inequality of the form:
$$ \dot{V} \le -\sum_i \left( c_{1,i} z_i^2 + c_{2,i} e_{v,i}^2 + \frac{\sigma_{\theta,i}}{2} \tilde{\theta}_i^2 + \frac{\sigma_{D,i}}{2} \tilde{D}_i^2 + \frac{\sigma_{G,i}}{2} \tilde{G}_i^2 + c_{f,i} y_{f,i}^2 \right) + \Xi $$
where $c_{1,i}, c_{2,i}, c_{f,i} > 0$ are composite positive constants, and $\Xi$ is a positive constant that aggregates the small smoothing errors $\epsilon_i$ and the boundedness terms from the $\sigma$-modification. This inequality can be rewritten as:
$$ \dot{V} \le -\kappa V + \Xi $$
where $\kappa > 0$. By the comparison lemma, this proves that all signals in the closed-loop system—the transformed errors $z_i$, the actual tracking errors $e_i$, the filter errors $y_{f,i}$, and the parameter estimates $\hat{\theta}_i$, etc.—are uniformly ultimately bounded (UUB). Furthermore, since $z_i$ is bounded and driven to a small residual set, the original tracking error $e_i(t)$ is guaranteed to remain within the prescribed performance funnel $(-\underline{\delta}_i \rho_i(t), \bar{\delta}_i \rho_i(t))$ for all time. Thus, the quadrotor drone achieves the desired tracking with guaranteed transient and steady-state performance, despite all modeled uncertainties.
Simulation Studies and Comparative Analysis
To validate the effectiveness of our proposed Adaptive Prescribed Performance Control (APPC) for the quadrotor drone, we conducted extensive numerical simulations in a MATLAB/Simulink environment. The parameters were chosen to reflect a realistic, medium-sized quadrotor drone with significant uncertainties and disturbances.
Simulation Setup:
- Quadrotor Drone Parameters (Unknown to Controller): Nominal mass $m_0 = 1.5$ kg, but with a time-varying component: $m(t) = 1.5 + 0.1\sin(10t)$ kg. Moments of inertia: $I_x = I_y = 0.03 + 0.005\sin(10t)$ kg·m², $I_z = 0.025 + 0.005\sin(10t)$ kg·m².
- Disturbances: Time-varying wind gusts: $d_x = d_y = d_z = 0.08\sin(5t)$ N. Rotational disturbances: $d_\phi = d_\theta = d_\psi = 0.08\sin(5t)$ N·m.
- Aerodynamic Damping: $k_1=k_2=k_3=0.08$ N·s/m, $k_4=k_5=k_6=0.008$ N·m·s/rad.
- Desired Trajectory: A helical path: $x_d(t)=0.5\sin(t)$ m, $y_d(t)=0.5\cos(t)$ m, $z_d(t)=0.1t$ m, $\psi_d(t)=0$ rad.
- Prescribed Performance: For all channels, we set $\rho_0=2$, $\rho_{\infty}=0.1$, $l=1$, $\bar{\delta}=1$, $\underline{\delta}=0.9$. This means errors must stay within $[-0.9\rho(t), \rho(t)]$.
- Controller Parameters: Selected for balance of performance and control effort. Representative values: $c_1=10, c_2=2, \gamma_{\theta,1}=0.1, \sigma_{\theta,1}=0.01, \epsilon_1=0.0001, \tau_2=0.1$.
Comparison Baseline: We compared our APPC against a standard Adaptive Dynamic Surface Controller (ADSC) designed for the same system but without the prescribed performance transformation. The adaptive laws in the baseline ADSC were tuned to achieve good asymptotic tracking.
The simulation results conclusively demonstrated the advantages of our method for controlling the quadrotor drone:
- Guaranteed Performance: As shown in the concept figure, the tracking errors (e.g., $e_x$, $e_\phi$) under our APPC remained strictly within the prescribed performance funnels for the entire flight. The baseline ADSC, while ultimately stable, violated these bounds during transients, exhibiting larger initial overshoot and slower convergence.
- Robustness to Uncertainties: Both controllers adapted to the unknown mass and inertia. However, the APPC provided smoother and more consistent adaptation, as the performance transformation inherently shapes the error dynamics, leading to less aggressive and more predictable parameter estimate adjustments.
- Disturbance Rejection: The quadrotor drone under APPC showed superior rejection of the sinusoidal wind gusts. The errors remained tightly bounded by the performance function, whereas the baseline controller showed periodic oscillations correlated with the disturbance frequency, albeit bounded.
The following table quantitatively compares the performance metrics for the $x$-position channel during the first 5 seconds of a step response test:
| Performance Metric | APPC (Proposed) | Baseline ADSC | Improvement |
|---|---|---|---|
| Maximum Overshoot | < 0.2 m (Prescribed) | 0.45 m | > 55% reduction |
| Settling Time (to 5% of SS) | ~1.8 s | ~3.5 s | ~48% faster |
| Steady-State Error RMS | 0.012 m | 0.025 m | 52% lower |
| Maximum Control Effort $|u_x|$ | 8.7 N | 12.1 N | 28% lower peak |
Conclusion and Future Work
In this article, we have presented a comprehensive adaptive prescribed performance control framework for quadrotor drones operating under severe uncertainty. The core challenge—controlling a highly nonlinear, underactuated system without knowledge of its mass, inertia, damping, or disturbance bounds—was addressed by integrating several powerful techniques. The Prescribed Performance Control method allowed us to encode transient and steady-state specifications directly into the control objective. The Dynamic Surface Control technique provided a recursive yet computationally efficient design procedure without derivative explosions. Finally, online adaptation mechanisms estimated the myriad of unknown parameters and disturbance bounds, rendering the controller truly model-free with respect to the quadrotor drone’s dynamics.
The theoretical analysis proved that all closed-loop signals are uniformly ultimately bounded and, most importantly, that the actual tracking error respects the user-defined performance boundaries for all time. Simulation studies confirmed these properties and highlighted the superior performance of our approach compared to a standard adaptive controller, particularly in terms of overshoot limitation, convergence speed, and disturbance rejection.
Future research directions are promising. Firstly, the extension to fault-tolerant control, where the proposed framework could be enhanced to handle actuator failures (e.g., loss of rotor effectiveness) for the quadrotor drone, is a critical step towards increased safety. Secondly, while our controller is continuous, practical implementation on digital hardware requires consideration of event-triggered or sampled-data versions to reduce computational load and communication frequency. Finally, experimental validation on a physical quadrotor drone platform, dealing with sensor noise, communication delays, and real-world unmodeled effects, is the ultimate test and the logical next step to transition this robust control methodology from theory to practice.
