In recent years, quadrotor unmanned aerial vehicles (UAVs) have gained significant attention due to their versatility in applications such as military reconnaissance, disaster relief, and environmental monitoring. However, the quadrotor is a multivariable, nonlinear, and strongly coupled system, making its attitude control a challenging problem, especially in complex and dynamic environments. Traditional control methods often struggle to achieve rapid transient response and high steady-state accuracy under external disturbances and model uncertainties. To address these issues, we propose a novel control strategy that integrates appointed-time prescribed performance control (APPC) with command filtering techniques for quadrotor attitude tracking. This approach ensures that the system’s tracking errors converge to a predefined region within a user-specified time, independent of initial conditions, while mitigating high-frequency noise and avoiding “differential explosion” in backstepping design.
The dynamics of a quadrotor can be described by the following equations, which capture the attitude and angular velocity evolution:
$$ \begin{aligned} \dot{\Theta} &= R(\Theta) \omega, \\ J \dot{\omega} &= -\omega \times J \omega + \tau + d, \end{aligned} $$
where $\Theta = [\phi, \theta, \psi]^T$ represents the Euler angles (roll, pitch, yaw), $\omega = [p, q, r]^T$ is the angular velocity vector, $J = \text{diag}(J_{xx}, J_{yy}, J_{zz})$ is the inertia matrix, $\tau$ is the control input torque, and $d$ denotes external disturbances. The matrix $R(\Theta)$ is given by:
$$ R(\Theta) = \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}. $$
Our control objective is to design a controller that ensures the quadrotor’s attitude $\Theta$ tracks a desired trajectory $\Theta_d = [\phi_d, \theta_d, \psi_d]^T$ with prescribed transient and steady-state performance, achieved within a specified time $T_i$ for each axis $i \in \{\phi, \theta, \psi\}$. The tracking error is defined as $\delta_1 = \Theta – \Theta_d$, and we aim to constrain it within performance bounds:
$$ -\kappa_{1i} \rho_i(t) < \delta_{1i} < \kappa_{2i} \rho_i(t), $$
where $\kappa_{1i}, \kappa_{2i} \in (0,1]$ are constants, and $\rho_i(t)$ is the appointed-time prescribed performance function (APPF). We adopt a piecewise APPF from the literature:
$$ \rho_i(t) = \begin{cases} \rho_{0,i} – \lambda_i \log\left[1 + \frac{t}{T_i}\right], & t < T_i, \\ \rho_{\infty,i}, & t \geq T_i, \end{cases} $$
with $\lambda_i = \frac{\rho_{0,i} – \rho_{\infty,i}}{\sigma_i} + T_i$, where $\rho_{0,i} > \rho_{\infty,i} > 0$, $\sigma_i > 0$, and $T_i > 0$ is the appointed convergence time. This function ensures that the error decays to a steady-state bound $\rho_{\infty,i}$ exactly at $t = T_i$, regardless of initial conditions. To handle initial error constraints, we introduce a tuning function $\gamma(t)$:
$$ \gamma(t) = \begin{cases} \sin\left(\frac{\pi t}{2T_0}\right), & t < T_0, \\ 1, & t \geq T_0, \end{cases} $$
where $0 < T_0 < T_i$. This allows us to define a transformed error $e_1 = \Theta – \Theta_r$, with $\Theta_r = \gamma \Theta_d + (1-\gamma)\Theta$, effectively removing restrictions on initial error values. The error transformation is further processed using a function $g(z_{1i})$ to convert constrained error dynamics into unconstrained ones:
$$ e_{1i} = \rho_i(t) g(z_{1i}), \quad g(z_{1i}) = \frac{\kappa_{2i} e^{z_{1i}} – \kappa_{1i} e^{-z_{1i}}}{e^{z_{1i}} + e^{-z_{1i}}}, $$
which yields the transformed error variable $z_{1i} = \frac{1}{2} \ln\left(\frac{\kappa_{2i} e_{1i} + \kappa_{1i} \rho_i(t)}{\kappa_{2i} \rho_i(t) – \kappa_{1i} e_{1i}}\right)$. Differentiating this, we obtain:
$$ \dot{z}_{1i} = \beta_i \left( \dot{e}_{1i} – \frac{\dot{\rho}_i(t)}{\rho_i(t)} e_{1i} \right), $$
where $\beta_i = \frac{\kappa_{1i} + \kappa_{2i}}{2\rho_i(t) (\kappa_{2i} \rho_i(t) – \kappa_{1i} e_{1i})}$. This transformation facilitates the controller design by embedding performance constraints into the error dynamics.

Next, we integrate command filtering into the backstepping framework to avoid derivative computations and enhance robustness. The quadrotor attitude control system is divided into two subsystems. In the first step, we define the virtual control law $\alpha_1$ for the angular velocity tracking error $z_2 = \omega – \alpha_c$, where $\alpha_c$ is the filtered output of $\alpha_1$ from the command filter:
$$ \dot{\alpha}_c = \nu (\alpha_1 – \alpha_c), $$
with $\nu > 0$ as a design parameter. The compensated tracking errors are $\eta_1 = z_1 – m_1$ and $\eta_2 = z_2 – m_2$, where $m_1$ and $m_2$ are compensation signals designed to account for filtering errors. The virtual control law $\alpha_1$ is derived as:
$$ \alpha_1 = -\beta^{-1} (c_1 z_1 + \varsigma) + \dot{\Theta}_r, $$
where $c_1 > 0$ is a control gain, and $\varsigma$ incorporates the performance function derivatives. The compensation dynamics are:
$$ \dot{m}_1 = -c_1 m_1 + \beta (\alpha_c – \alpha_1) – l_1 \text{sign}(m_1), $$
with $l_1 > 0$. In the second step, the actual control input $\tau$ for the quadrotor is designed as:
$$ \tau = J \left( R(\Theta)^T \left( -c_2 z_2 – \beta z_1 + \dot{\alpha}_c \right) + \omega \times J \omega \right), $$
where $c_2 > 0$. This ensures that the attitude tracking error converges within the appointed time while maintaining stability under disturbances.
To analyze stability, we consider the Lyapunov function $V = \frac{1}{2} \eta_1^T \eta_1 + \frac{1}{2} \eta_2^T \eta_2$. Using the derived control laws and compensation signals, we show that:
$$ \dot{V} \leq -A V + B, $$
where $A$ and $B$ are positive constants dependent on control parameters. According to Lyapunov theory, this proves uniform ultimate boundedness of all signals, confirming that the quadrotor’s attitude tracking errors satisfy the prescribed performance bounds within $T_i$.
We validate our approach through numerical simulations with a quadrotor model having inertia parameters $J_{xx} = 0.039\, \text{kg·m}^2$, $J_{yy} = 0.039\, \text{kg·m}^2$, and $J_{zz} = 0.071\, \text{kg·m}^2$. The desired trajectory is $\Theta_d = [0.3\sin(t), 0.3\cos(t), 0]^T$ rad, and disturbances are set as $d = [0.1\sin(t), 0.1\cos(t), 0]^T$ N·m. The APPF parameters are $\rho_{0,i} = 1.55$, $\rho_{\infty,i} = 0.15$, $\sigma_i = 0.5$, $T_i = 8$ s, and $T_0 = 10$ s, with $\kappa_{1i} = 0.2$ and $\kappa_{2i} = 0.5$. Control gains are chosen as $c_1 = 5.77$, $c_2 = 12.47$, $l_1 = 5.65$, $l_2 = 1.87$, and $\nu = 3.75$. The table below summarizes the key parameters used in the simulation:
| Parameter | Value | Description |
|---|---|---|
| $J_{xx}$, $J_{yy}$, $J_{zz}$ | 0.039, 0.039, 0.071 kg·m² | Quadrotor inertia moments |
| $\rho_{0,i}$ | 1.55 rad | Initial performance bound |
| $\rho_{\infty,i}$ | 0.15 rad | Steady-state error bound |
| $T_i$ | 8 s | Appointed convergence time |
| $c_1$, $c_2$ | 5.77, 12.47 | Control gains |
| $\nu$ | 3.75 | Command filter parameter |
The simulation results demonstrate that the quadrotor’s attitude errors converge to zero within the specified time $T_i$, with all signals remaining bounded. The command filter effectively smooths the control input, reducing noise impact. Compared to existing methods, our approach eliminates initial condition limitations and provides faster convergence. For instance, the pitch angle error $\delta_{1\theta}$ is constrained within $[-\kappa_{1\theta} \rho_\theta(t), \kappa_{2\theta} \rho_\theta(t)]$ throughout the transition, achieving the prescribed performance without overshoot.
In conclusion, we have developed an appointed-time prescribed performance control scheme for quadrotor UAVs that guarantees attitude tracking with user-defined transient and steady-state performance. The integration of command filtering and error transformation enhances robustness and simplifies implementation. Future work will focus on refining the performance functions to minimize overshoot and extending the strategy to trajectory tracking in real-world quadrotor applications.
