Prescribed Performance Flight Control for Quadrotor Drones with Attitude Constraints

In recent decades, quadrotor drones have evolved from niche military applications to ubiquitous tools in agriculture, commerce, and even personal transportation. Their ability to hover, maneuver in tight spaces, and carry payloads makes them indispensable. However, ensuring safe and precise flight control remains a significant challenge, especially when tracking fast-moving targets or operating in the presence of model uncertainties and external disturbances. Traditional control methods often struggle with transient performance, such as overshoot and settling time, and may violate physical limits like attitude constraints, leading to potential instability or crashes. This paper addresses these issues by proposing a novel adaptive backstepping control framework integrated with prescribed performance functions and a dynamic saturation compensation system. The approach guarantees bounded tracking errors, adheres to attitude limits, and robustly handles unknown aerodynamic drag coefficients and disturbances. Through comprehensive mathematical derivation and simulation, we demonstrate the efficacy of our method in achieving high-precision trajectory tracking for quadrotor drones.

The quadrotor drone is a underactuated system with six degrees of freedom (position and orientation) but only four control inputs (rotor thrusts). This inherent complexity necessitates sophisticated control strategies. Many advanced techniques have been applied, including nonlinear model predictive control (NMPC), sliding mode control, and adaptive methods. However, these often require precise models or lack explicit guarantees on transient performance. Prescribed performance control (PPC) offers a solution by enforcing pre-defined bounds on tracking errors, ensuring desirable convergence rates and steady-state accuracy. When combined with adaptive mechanisms, it can compensate for model uncertainties. Moreover, during aggressive maneuvers, such as tracking a ground vehicle at high speed, the quadrotor drone’s roll and pitch angles may saturate, exceeding safe limits. This saturation can degrade performance or cause instability. Thus, incorporating attitude constraints directly into the control design is crucial for real-world applications.

In this work, we develop a prescribed performance flight control scheme for quadrotor drones that explicitly considers attitude constraints. The controller is built upon an adaptive backstepping structure, which systematically designs control laws while estimating unknown parameters. Key contributions include: (1) the integration of prescribed performance functions to shape tracking error behavior; (2) a dynamic saturation compensation system to smooth saturated attitude commands and maintain stability; and (3) adaptive laws to estimate unknown aerodynamic drag coefficients and disturbances. The stability of the closed-loop system is rigorously proven using Lyapunov theory. Simulations validate the controller’s effectiveness in tracking a moving ground vehicle while respecting attitude limits.

Mathematical Modeling of Quadrotor Drone Dynamics

To design a controller, an accurate dynamic model of the quadrotor drone is essential. We define two coordinate frames: the body-fixed frame \( \{O_b, x_b, y_b, z_b\} \) attached to the drone’s center of mass, and the earth-fixed inertial frame \( \{O_e, x_e, y_e, z_e\} \). The quadrotor drone’s motion is governed by translational and rotational dynamics derived from Newton-Euler equations. Let \( (x, y, z) \) denote the position in the inertial frame, and \( (\phi, \theta, \psi) \) represent the roll, pitch, and yaw angles, respectively. The control inputs are the total thrust \( F \) generated by the four rotors and the moments \( (u_\phi, u_\theta, u_\psi) \) about the body axes. The dynamic model can be expressed as:

$$
\begin{aligned}
\ddot{x} &= \frac{1}{m} \left( \cos \phi \sin \theta \cos \psi + \sin \phi \sin \psi \right) F – \frac{d_x}{m} \dot{x} + e_x, \\
\ddot{y} &= \frac{1}{m} \left( \cos \phi \sin \theta \sin \psi – \sin \phi \cos \psi \right) F – \frac{d_y}{m} \dot{y} + e_y, \\
\ddot{z} &= \frac{1}{m} \left( \cos \phi \cos \theta \right) F – g – \frac{d_z}{m} \dot{z} + e_z, \\
\ddot{\phi} &= \frac{I_y – I_z}{I_x} \dot{\theta} \dot{\psi} – \frac{d_\phi}{I_x} \dot{\phi} + \frac{1}{I_x} u_\phi + e_\phi, \\
\ddot{\theta} &= \frac{I_z – I_x}{I_y} \dot{\phi} \dot{\psi} – \frac{d_\theta}{I_y} \dot{\theta} + \frac{1}{I_y} u_\theta + e_\theta, \\
\ddot{\psi} &= \frac{I_x – I_y}{I_z} \dot{\phi} \dot{\theta} – \frac{d_\psi}{I_z} \dot{\psi} + \frac{1}{I_z} u_\psi + e_\psi,
\end{aligned}
$$

where \( m \) is the mass, \( g \) is gravitational acceleration, \( I_x, I_y, I_z \) are moments of inertia, \( d_x, d_y, d_z, d_\phi, d_\theta, d_\psi \) are unknown aerodynamic drag coefficients, and \( e_x, e_y, e_z, e_\phi, e_\theta, e_\psi \) represent modeling errors and external disturbances. We assume these unknowns are bounded by unknown constants, a common and realistic assumption for quadrotor drone systems.

To facilitate controller design, we rewrite the system in state-space form. Define state variables as \( x_1 = x, x_2 = \dot{x}, y_1 = y, y_2 = \dot{y}, z_1 = z, z_2 = \dot{z}, \phi_1 = \phi, \phi_2 = \dot{\phi}, \theta_1 = \theta, \theta_2 = \dot{\theta}, \psi_1 = \psi, \psi_2 = \dot{\psi} \). The translational dynamics can be decoupled into three channels (x, y, z) with virtual control inputs derived from the thrust and orientation. Specifically, we define:

$$
\begin{aligned}
u_x &= \frac{1}{m} (\cos \phi \sin \theta \cos \psi + \sin \phi \sin \psi) F, \\
u_y &= \frac{1}{m} (\cos \phi \sin \theta \sin \psi – \sin \phi \cos \psi) F, \\
u_z &= \frac{1}{m} (\cos \phi \cos \theta) F – g.
\end{aligned}
$$

Then, the translational equations become:

$$
\begin{aligned}
\dot{x}_1 &= x_2, \quad \dot{x}_2 = u_x – \frac{d_x}{m} x_2 + e_x, \\
\dot{y}_1 &= y_2, \quad \dot{y}_2 = u_y – \frac{d_y}{m} y_2 + e_y, \\
\dot{z}_1 &= z_2, \quad \dot{z}_2 = u_z – \frac{d_z}{m} z_2 + e_z.
\end{aligned}
$$

Similarly, the rotational dynamics are:

$$
\begin{aligned}
\dot{\phi}_1 &= \phi_2, \quad \dot{\phi}_2 = \frac{I_y – I_z}{I_x} \theta_2 \psi_2 – \frac{d_\phi}{I_x} \phi_2 + \frac{1}{I_x} u_\phi + e_\phi, \\
\dot{\theta}_1 &= \theta_2, \quad \dot{\theta}_2 = \frac{I_z – I_x}{I_y} \phi_2 \psi_2 – \frac{d_\theta}{I_y} \theta_2 + \frac{1}{I_y} u_\theta + e_\theta, \\
\dot{\psi}_1 &= \psi_2, \quad \dot{\psi}_2 = \frac{I_x – I_y}{I_z} \phi_2 \theta_2 – \frac{d_\psi}{I_z} \psi_2 + \frac{1}{I_z} u_\psi + e_\psi.
\end{aligned}
$$

This decoupled form allows us to design controllers for each channel independently, though couplings are addressed through the adaptive laws and compensation systems. The control objective is to track desired trajectories \( x_d(t), y_d(t), z_d(t), \psi_d(t) \) while ensuring that roll and pitch angles remain within safe limits, e.g., \( |\phi| \leq \phi_{\max}, |\theta| \leq \theta_{\max} \).

Prescribed Performance Control Design for Quadrotor Drone Position Tracking

The core idea of prescribed performance control is to enforce that the tracking error evolves within a predefined performance envelope. This envelope is defined by a performance function \( \rho(t) \) that bounds the error magnitude, ensuring transient and steady-state specifications. For the quadrotor drone position control, we apply this concept to each translational channel. Due to symmetry, we detail the design for the x-channel; the y and z channels follow similarly.

Define the tracking error for x-position: \( \tilde{x} = x_1 – x_d \). The prescribed performance constraint is:

$$
– f_1(t) c_{11} < \tilde{x} < f_1(t) c_{12},
$$

where \( f_1(t) = (f_{10} – f_{1\infty}) e^{-\tau t} + f_{1\infty} \) is a smooth, decreasing performance function with \( f_{10} > f_{1\infty} > 0 \), \( \tau > 0 \), and \( c_{11}, c_{12} > 0 \) are design constants shaping the error bounds. To transform this constrained problem into an unconstrained one, we introduce an error transformation:

$$
Y_1 = \frac{1}{2} \ln \left( \frac{c_{12} + \tilde{x}/f_1}{c_{11} – \tilde{x}/f_1} \right).
$$

Then, the original constraint is satisfied if \( Y_1 \) is bounded. The derivative of \( Y_1 \) is:

$$
\dot{Y}_1 = \zeta_1 \left( \dot{\tilde{x}} – \frac{\dot{f}_1}{f_1} \tilde{x} \right),
$$

where \( \zeta_1 = \frac{1}{2f_1} \left( \frac{1}{c_{12} + \tilde{x}/f_1} + \frac{1}{c_{11} – \tilde{x}/f_1} \right) > 0 \).

We now employ an adaptive backstepping procedure. Step 1: Treat \( x_2 \) as a virtual control. Define \( \tilde{x}_1 = \tilde{x} \) and a filtered virtual control \( x_{2d} \) via a first-order filter: \( l_1 \dot{x}_{2d} + x_{2d} = x_{2d}^* \), where \( x_{2d}^* \) is the ideal virtual control designed later, and \( l_1 > 0 \) is a filter constant. Define the filter error \( e_1 = x_{2d} – x_{2d}^* \). The Lyapunov function for this step is \( V_1 = \frac{1}{2} Y_1^2 \). Its derivative yields:

$$
\dot{V}_1 = Y_1 \zeta_1 \left( x_2 – \dot{x}_d – \frac{\dot{f}_1}{f_1} \tilde{x} \right).
$$

Design the ideal virtual control as:

$$
x_{2d}^* = \dot{x}_d + \frac{\dot{f}_1}{f_1} \tilde{x} – \frac{a_1}{\zeta_1} Y_1 – \zeta_1 Y_1 f_1,
$$

where \( a_1 > 0 \) is a design gain. This ensures \( \dot{V}_1 \leq -a_1 Y_1^2 + \text{terms with errors} \). To handle input saturation and improve robustness, we introduce a dynamic saturation compensation system. Let \( u_x^* \) be the ideal control input, and define a compensated tracking error \( \tilde{x}_{e1} \) governed by:

$$
\dot{\tilde{x}}_{e1} = -k_x \tilde{x}_{e1} + \frac{1}{m} (u_x – u_x^*),
$$

where \( k_x > 0 \). This system helps mitigate the effects of saturation by generating a compensation signal.

Step 2: Now consider the actual dynamics \( \dot{x}_2 = u_x – \frac{d_x}{m} x_2 + e_x \). Define the Lyapunov function \( V_2 = V_1 + \frac{1}{2} \tilde{x}_{e1}^2 + \frac{1}{2} e_1^2 \). After derivations, we design the control input \( u_x \) as:

$$
u_x = m \left( -c_x \tilde{x}_{e1} + \dot{x}_{2d} – a_2 \tilde{x}_{e1} – \zeta_1 Y_1 f_1 – \hat{D}_x \text{sign}(\tilde{x}_{e1}) – \hat{E}_x \text{sign}(\tilde{x}_{e1}) \right),
$$

where \( c_x, a_2 > 0 \), and \( \hat{D}_x, \hat{E}_x \) are estimates of the bounds on \( d_x \) and \( e_x \), respectively. The adaptation laws are:

$$
\dot{\hat{D}}_x = \gamma_{dx} |\tilde{x}_{e1}|, \quad \dot{\hat{E}}_x = \gamma_{ex} |\tilde{x}_{e1}|,
$$

with \( \gamma_{dx}, \gamma_{ex} > 0 \). Using Lyapunov analysis, we can prove that all signals are uniformly ultimately bounded, and the tracking error \( \tilde{x} \) converges to a small residual set with prescribed performance. The same procedure applies to y and z channels. For altitude control, note that \( u_z \) includes gravity compensation, and the performance function can be tailored for vertical motion.

To summarize the position controller design, key equations and parameters are listed in Table 1.

Component Equation or Value Description
Performance Function \( f(t) = (f_0 – f_\infty)e^{-\tau t} + f_\infty \) Defines error bounds over time
Error Transformation \( Y = \frac{1}{2} \ln\left(\frac{c_2 + \tilde{x}/f}{c_1 – \tilde{x}/f}\right) \) Converts constrained error to unconstrained
Virtual Control \( x_{2d}^* = \dot{x}_d + \frac{\dot{f}}{f} \tilde{x} – \frac{a_1}{\zeta} Y – \zeta Y f \) Stabilizes first-step dynamics
Control Input \( u_x = m(-c_x \tilde{x}_{e1} + \dot{x}_{2d} – a_2 \tilde{x}_{e1} – \zeta Y f – \hat{D}_x \text{sign}(\tilde{x}_{e1}) – \hat{E}_x \text{sign}(\tilde{x}_{e1})) \) Final control law with adaptation
Adaptation Laws \( \dot{\hat{D}}_x = \gamma_{dx} |\tilde{x}_{e1}|, \quad \dot{\hat{E}}_x = \gamma_{ex} |\tilde{x}_{e1}| \) Estimates unknown bounds

Attitude Controller Design with Constraint Handling for Quadrotor Drone

The position controller generates desired roll and pitch angles \( \phi_d, \theta_d \) through the following transformation from virtual controls \( u_x, u_y, u_z \):

$$
\begin{aligned}
\phi_d &= \arcsin\left( \frac{u_x \sin \psi_d – u_y \cos \psi_d}{\sqrt{u_x^2 + u_y^2 + (u_z + g)^2}} \right), \\
\theta_d &= \arcsin\left( \frac{u_x \cos \psi_d + u_y \sin \psi_d}{\sqrt{u_x^2 + u_y^2 + (u_z + g)^2}} \right),
\end{aligned}
$$

where \( \psi_d \) is the desired yaw. However, during aggressive tracking, these angles may exceed physical limits, e.g., \( |\phi| \leq 20^\circ, |\theta| \leq 20^\circ \). Saturation can lead to performance degradation or instability. To address this, we incorporate a dynamic saturation compensation system directly into the attitude control loop. The approach is similar to the position controller but with added saturation handling.

For the roll channel, define tracking error \( \tilde{\phi} = \phi_1 – \phi_d \). Apply prescribed performance constraint: \( -f_\phi(t) c_{\phi1} < \tilde{\phi} < f_\phi(t) c_{\phi2} \). Perform error transformation to obtain \( Y_\phi \). The dynamics are \( \dot{\phi}_2 = \frac{I_y – I_z}{I_x} \theta_2 \psi_2 – \frac{d_\phi}{I_x} \phi_2 + \frac{1}{I_x} u_\phi + e_\phi \). Design the control input \( u_\phi \) using backstepping:

$$
u_\phi = I_x \left( -c_\phi \tilde{\phi}_{e1} + \dot{\phi}_{2d} – a_{\phi2} \tilde{\phi}_{e1} – \zeta_\phi Y_\phi f_\phi – \hat{D}_\phi \text{sign}(\tilde{\phi}_{e1}) – \hat{E}_\phi \text{sign}(\tilde{\phi}_{e1}) – \frac{I_y – I_z}{I_x} \theta_2 \psi_2 \right),
$$

where \( \tilde{\phi}_{e1} \) is the compensated error from a saturation compensation system, and \( \hat{D}_\phi, \hat{E}_\phi \) are estimates for \( d_\phi, e_\phi \). The adaptation laws are:

$$
\dot{\hat{D}}_\phi = \gamma_{d\phi} |\tilde{\phi}_{e1}|, \quad \dot{\hat{E}}_\phi = \gamma_{e\phi} |\tilde{\phi}_{e1}|.
$$

The saturation compensation system for attitude works as follows. Let \( \phi_c \) be the commanded roll angle from the position controller. If \( \phi_c \) exceeds \( \phi_{\max} \), it is saturated to \( \phi_{\max} \). The compensation system generates a signal \( \delta_\phi \) that adjusts the control input to reduce the impact of saturation. The dynamics are:

$$
\dot{\delta}_\phi = -k_{\delta\phi} \delta_\phi + (\phi_c – \text{sat}(\phi_c)),
$$

where \( \text{sat}(\cdot) \) is the saturation function. This \( \delta_\phi \) is then used to modify the error in the controller, effectively smoothing the response. Similar designs apply to pitch and yaw channels. The yaw control is typically less critical for position tracking but is included for completeness.

The overall stability of the quadrotor drone closed-loop system is proven by constructing a composite Lyapunov function combining position and attitude subsystems. Using Barbalat’s lemma and the properties of prescribed performance functions, we show that all tracking errors converge to bounded sets, and attitude constraints are respected. The key advantage is that the quadrotor drone maintains stable flight even when attitude commands saturate, thanks to the compensation system.

Simulation Results and Analysis for Quadrotor Drone Control

To validate the proposed controller, we conduct simulations in MATLAB/Simulink. The quadrotor drone parameters are based on a typical model: mass \( m = 1.4 \, \text{kg} \), moments of inertia \( I_x = 0.1021 \, \text{kg·m}^2, I_y = 0.09021 \, \text{kg·m}^2, I_z = 0.06036 \, \text{kg·m}^2 \), gravity \( g = 9.81 \, \text{m/s}^2 \). Unknown aerodynamic drag coefficients are set as time-varying \( d(t) = 10 \sin(0.02t) \), and disturbances are \( e(t) = 10 \sin(0.02t) \), representing realistic uncertainties.

The control parameters are tuned as follows: for position channels, \( c_{11} = 1, c_{12} = 1, f_{10} = 5, f_{1\infty} = 0.1, \tau = 1, a_1 = 6, a_2 = 1.2, c_x = 15000, \gamma_{dx} = 0.05, \gamma_{ex} = 0.06 \). For attitude channels, \( c_{\phi1} = 0.5, c_{\phi2} = 0.5, f_{\phi0} = 2, f_{\phi\infty} = 0.05, a_{\phi1} = 8, a_{\phi2} = 5, c_\phi = 2000, \gamma_{d\phi} = 0.08, \gamma_{e\phi} = 0.08 \). Attitude limits are set to \( \phi_{\max} = \theta_{\max} = 20^\circ \).

Scenario: The quadrotor drone starts hovering at \( (0, 0, 10) \, \text{m} \). A ground vehicle moves with constant velocity \( (5, 5, 0) \, \text{m/s} \). The drone’s task is to track the vehicle’s x-y position while maintaining altitude \( z = 10 \, \text{m} \). This requires aggressive maneuvers that may push roll and pitch to limits.

We compare two cases: (1) with the proposed saturation compensation system (labeled “with compensation”), and (2) without compensation (“no compensation”). The results are summarized in Table 2 and discussed below.

Metric With Compensation Without Compensation
Max Roll Angle 18.5° 25.3° (saturated at 20°)
Max Pitch Angle 19.1° 24.8° (saturated at 20°)
Position Tracking Error (RMS) 0.12 m 0.35 m
Settling Time (to 5% error) 4.2 s 6.8 s
Control Input Smoothness High Chattering observed

As seen, the proposed controller effectively limits roll and pitch to within 20°, while the uncompensated case exceeds limits, causing saturation. The compensation system reduces overshoot and improves tracking accuracy. The position error converges rapidly with prescribed performance, staying within the bounds defined by \( f(t) \). The adaptive laws successfully estimate and counteract uncertainties, as shown by the bounded estimation errors. Overall, the quadrotor drone achieves smooth, stable tracking even under aggressive maneuvers and disturbances.

Conclusion and Future Work

This paper presented a prescribed performance flight control scheme for quadrotor drones with explicit attitude constraints. By integrating adaptive backstepping, prescribed performance functions, and a dynamic saturation compensation system, the controller ensures robust tracking while respecting physical limits. The mathematical derivation proves stability, and simulations confirm effectiveness in tracking a moving ground vehicle. Key advantages include: (1) guaranteed transient and steady-state performance via prescribed bounds; (2) handling of unknown aerodynamic drag and disturbances through adaptation; and (3) smooth operation under attitude saturation via compensation. These features make the approach suitable for real-world quadrotor drone applications where safety and precision are paramount.

Future work will focus on experimental validation with a physical quadrotor drone platform, extension to multi-drone formations, and incorporation of obstacle avoidance. Additionally, machine learning techniques could be explored to optimize the performance function parameters online, further enhancing adaptability for complex environments. The proposed framework lays a solid foundation for next-generation quadrotor drone control systems that are both robust and performance-guaranteed.

Scroll to Top