Fixed-Time Control of Quadcopters with Prescribed Performance Constraints

In recent years, quadcopters have gained significant attention due to their versatility in applications such as surveillance, agriculture, and logistics. However, their inherent underactuation, nonlinear dynamics, and sensitivity to external disturbances pose substantial challenges for precise trajectory tracking. Traditional control methods like sliding mode and adaptive control often achieve asymptotic stability, but they may lack robustness and rapid convergence in practical scenarios. This paper addresses these issues by integrating a fixed-time extended state observer (FXESO) with prescribed performance control (PPC) and fixed-time sliding mode control. The proposed framework ensures that the quadcopter’s tracking errors remain within user-defined bounds while achieving fixed-time convergence, even in the presence of unmeasurable velocity states and unknown time-varying disturbances.

The dynamic model of a quadcopter is derived using Newton-Euler equations, considering both translational and rotational motions. The system is highly coupled and underactuated, with four control inputs (thrust and torques) and six outputs (position and orientation). The equations of motion are expressed as:

$$ \ddot{x} = \frac{u_1}{m} (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi) + f_x + d_x, $$
$$ \ddot{y} = \frac{u_1}{m} (\cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi) + f_y + d_y, $$
$$ \ddot{z} = \frac{u_1}{m} (\cos\phi \cos\theta) – g + f_z + d_z, $$
$$ \ddot{\phi} = \frac{l}{I_{xx}} u_2 + f_\phi + d_\phi, $$
$$ \ddot{\theta} = \frac{l}{I_{yy}} u_3 + f_\theta + d_\theta, $$
$$ \ddot{\psi} = \frac{l}{I_{zz}} u_4 + f_\psi + d_\psi, $$

where \( [x, y, z] \) and \( [\phi, \theta, \psi] \) denote position and orientation states, \( m \) is mass, \( l \) is arm length, \( g \) is gravity, \( I_{xx}, I_{yy}, I_{zz} \) are moments of inertia, \( u_1 \) to \( u_4 \) are control inputs, \( f_i \) represent model uncertainties, and \( d_i \) are external disturbances. The total disturbance \( D_i = f_i + d_i \) is assumed to have a bounded derivative \( |\dot{D}_i| \leq D_{im} \). The state variables are defined as:

$$ [x_1, x_2, x_3, x_4, x_5, x_6]^T = [\phi, \dot{\phi}, \theta, \dot{\theta}, \psi, \dot{\psi}]^T, $$
$$ [x_7, x_8, x_9, x_{10}, x_{11}, x_{12}]^T = [x, \dot{x}, y, \dot{y}, z, \dot{z}]^T. $$

To simplify control design, the system is decoupled into attitude and position subsystems. Virtual control inputs \( u_x, u_y, u_z \) are introduced for the position loop:

$$ u_x = u_1 (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi), $$
$$ u_y = u_1 (\cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi), $$
$$ u_z = u_1 (\cos\phi \cos\theta). $$

The attitude and position subsystems are then expressed as:

$$ \dot{x}_1 = x_2, \quad \dot{x}_2 = b_1 u_2 + D_\phi, $$
$$ \dot{x}_3 = x_4, \quad \dot{x}_4 = b_2 u_3 + D_\theta, $$
$$ \dot{x}_5 = x_6, \quad \dot{x}_6 = b_3 u_4 + D_\psi, $$
$$ \dot{x}_7 = x_8, \quad \dot{x}_8 = \frac{u_x}{m} + D_x, $$
$$ \dot{x}_9 = x_{10}, \quad \dot{x}_{10} = \frac{u_y}{m} + D_y, $$
$$ \dot{x}_{11} = x_{12}, \quad \dot{x}_{12} = \frac{u_z}{m} – g + D_z, $$

where \( b_1 = l/I_{xx}, b_2 = l/I_{yy}, b_3 = l/I_{zz} \). The tracking errors are defined as \( e_{1i} = i – i_d \) for \( i \in \{x, y, z, \phi, \theta, \psi\} \).

Prescribed performance control is employed to constrain tracking errors within predefined bounds. The performance function \( p_i(t) \) is chosen as:

$$ p_i(t) = (p_{i0} – p_{i\infty}) e^{-L_i t} + p_{i\infty}, $$

where \( p_{i0} > 0 \), \( p_{i\infty} > 0 \), and \( L_i > 0 \). The transformed error \( \epsilon_i \) is derived using:

$$ \epsilon_i = \frac{1}{2} \ln \left( \frac{\lambda_i + \delta_i}{\bar{\delta}_i – \lambda_i} \right), \quad \lambda_i = \frac{e_{1i}(t)}{p_i(t)}, $$

where \( \delta_i \) and \( \bar{\delta}_i \) are positive constants. This transformation ensures that \( e_{1i}(t) \) remains within \( (-\delta_i p_i(t), \bar{\delta}_i p_i(t)) \).

The fixed-time extended state observer (FXESO) is designed to estimate unmeasurable states and disturbances. For a generic subsystem \( \dot{x}_\nu = x_{\nu+1}, \dot{x}_{\nu+1} = F + D \), the FXESO is:

$$ \dot{\hat{x}}_\nu = -k_{i1} \Lambda \lceil \tilde{x}_\nu \rceil^{p_1} – k_{i1} (1 – \Lambda) \lceil \tilde{x}_\nu \rceil^{q_1} + \hat{x}_{\nu+1}, $$
$$ \dot{\hat{x}}_{\nu+1} = -k_{i2} \Lambda \lceil \tilde{x}_\nu \rceil^{p_2} – k_{i2} (1 – \Lambda) \lceil \tilde{x}_\nu \rceil^{q_2} + \hat{x}_i + F, $$
$$ \dot{\hat{x}}_i = -k_{i3} \Lambda \lceil \tilde{x}_\nu \rceil^{p_3} – k_{i3} (1 – \Lambda) \lceil \tilde{x}_\nu \rceil^{q_3}, $$

where \( \tilde{x}_\nu = \hat{x}_\nu – x_\nu \), \( \lceil \cdot \rceil^a = |\cdot|^a \text{sgn}(\cdot) \), \( p_j = jp – (j-1) \), \( q_j = jq – (j-1) \), \( p \in (1-\varepsilon_1, 1) \), \( q \in (1, 1+\varepsilon_2) \), and \( \Lambda \) switches from 0 to 1 at time \( T_u \). The gains \( k_{i1}, k_{i2}, k_{i3} \) are chosen such that the matrix \( A = \begin{bmatrix} -k_{i1} & 1 & 0 \\ -k_{i2} & 0 & 1 \\ -k_{i3} & 0 & 0 \end{bmatrix} \) is Hurwitz. The observer ensures fixed-time convergence of estimation errors.

For the attitude subsystem, a sliding surface is defined as:

$$ s_\phi = \dot{\epsilon}_\phi + \alpha_\phi \epsilon_\phi^{m_1/n_1} + \beta_\phi \epsilon_\phi^{m_2/n_2}, $$

where \( \alpha_\phi, \beta_\phi > 0 \), \( m_1 > n_1 > 0 \), \( n_2 > m_2 > 0 \). The control law \( u_2 \) is derived as:

$$ u_2 = \frac{ -T_\phi – a s_\phi^{m_0/n_0} – b s_\phi^{q_0/p_0} – r_\phi \hat{x}_\phi – \frac{s_\phi r_\phi^2}{2} }{ r_\phi b_1 }, $$

where \( T_\phi \) includes reference and performance function terms, \( r_\phi = \frac{1}{2p_\phi} \left( \frac{1}{\lambda_\phi + \delta_\phi} + \frac{1}{\bar{\delta}_\phi – \lambda_\phi} \right) \), and \( \hat{x}_\phi \) is the disturbance estimate. Similar controllers are designed for \( u_3 \) and \( u_4 \).

For the position subsystem, virtual controls \( u_x, u_y, u_z \) are computed using:

$$ u_x = \frac{ -T_x – a s_x^{m_0/n_0} – b s_x^{q_0/p_0} – r_x \hat{x}_x – \frac{s_x r_x^2}{2} }{ r_x / m }, $$
$$ u_y = \frac{ -T_y – a s_y^{m_0/n_0} – b s_y^{q_0/p_0} – r_y \hat{x}_y – \frac{s_y r_y^2}{2} }{ r_y / m }, $$
$$ u_z = \frac{ -T_z – a s_z^{m_0/n_0} – b s_z^{q_0/p_0} – r_z \hat{x}_z – \frac{s_z r_z^2}{2} }{ r_z / m }, $$

where \( s_j = \dot{\epsilon}_j + \alpha_j \epsilon_j^{m_1/n_1} + \beta_j \epsilon_j^{m_2/n_2} \) for \( j \in \{x, y, z\} \). The actual control inputs \( u_1, \phi_d, \theta_d \) are then obtained from \( u_x, u_y, u_z \) and \( \psi_d \) using:

$$ u_1 = \sqrt{u_x^2 + u_y^2 + u_z^2}, $$
$$ \theta_d = \arctan\left( \frac{u_x \cos\psi_d + u_y \sin\psi_d}{u_z} \right), $$
$$ \phi_d = \arcsin\left( \frac{u_x \sin\psi_d – u_y \cos\psi_d}{u_1} \right). $$

Stability analysis is conducted using Lyapunov theory. Consider the Lyapunov function \( V = \sum \frac{1}{2} s_i^2 \). Its derivative satisfies:

$$ \dot{V} \leq -a \sum s_i^{2\chi} – b \sum s_i^{2\vartheta} + \sum \frac{(D_i – \hat{x}_i)^2}{2}, $$

where \( \chi = \frac{m_0+n_0}{2n_0} \), \( \vartheta = \frac{q_0+p_0}{2p_0} \). Before observer convergence (\( t < T_1 \)), the term \( \sum (D_i – \hat{x}_i)^2/2 \) is bounded, ensuring practical fixed-time stability. After convergence (\( t \geq T_1 \)), \( \dot{V} \leq -a V^\chi – b V^\vartheta \), guaranteeing fixed-time stability. The convergence time is bounded by:

$$ T \leq \frac{1}{a(1-\chi)} + \frac{1}{b(\vartheta-1)}. $$

Similarly, the transformed error dynamics \( \dot{\epsilon}_i = -\alpha_i \epsilon_i^{m_1/n_1} – \beta_i \epsilon_i^{m_2/n_2} \) ensure fixed-time convergence of \( \epsilon_i \), thus preserving prescribed performance.

Extensive simulations and experiments are conducted to validate the proposed method. The quadcopter parameters are listed in Table 1.

Table 1: Quadcopter Parameters
Parameter Value Parameter Value
\( m \) 1.79 kg \( k_x \) 0.010 N·s/m
\( g \) 9.80 m/s² \( k_y \) 0.010 N·s/m
\( I_{xx} \) 0.03 kg·m² \( k_z \) 0.010 N·s/m
\( I_{yy} \) 0.03 kg·m² \( k_\phi \) 0.012 N·s/rad
\( I_{zz} \) 0.04 kg·m² \( k_\theta \) 0.012 N·s/rad
\( l \) 0.20 m \( k_\psi \) 0.012 N·s/rad

The controller parameters are summarized in Table 2.

Table 2: Controller Parameters
Parameter Value Parameter Value
\( m_1, n_1 \) 9, 11 \( \alpha_j \) 2
\( m_2, n_2 \) 11, 9 \( \beta_j \) 1
\( m_0, n_0 \) 11, 9 \( p_{j0} \) 2
\( p_0, q_0 \) 11, 9 \( p_{j\infty} \) 0.01
\( a, b \) 0.1, 0.1 \( L_1 \) 8
\( k_{i1} \) 12 \( L_2 \) 2
\( k_{i2} \) 35 \( T_u \) 0.1 s
\( k_{i3} \) 5 \( p, q \) 0.9, 1.2

The desired trajectory is set to \( x_d(t) = 2\sin(0.5t) \), \( y_d(t) = 2\cos(0.5t) \), \( z_d(t) = 2 + 0.1t \), and \( \psi_d = \pi/3 \). External disturbances are \( d_i(t) = 0.1\sin(t) \), and model uncertainties include aerodynamic damping terms. The proposed method (FXESO) is compared with a conventional ESO-based controller and a fixed-time controller without prescribed performance (NPPC).

Simulation results demonstrate that the FXESO-based controller achieves faster convergence and smoother tracking, with errors confined within prescribed bounds. The control inputs are smoother, reducing actuator wear. Experimental results on a quadcopter platform confirm the robustness and effectiveness of the method in real-world conditions, with tracking errors consistently bounded and convergence achieved within fixed time.

In conclusion, this paper presents a novel fixed-time control scheme for quadcopters with prescribed performance constraints. The integration of FXESO enables accurate estimation of unmeasurable states and disturbances, while the prescribed performance framework ensures transient and steady-state error bounds. The fixed-time sliding mode controller guarantees rapid convergence independent of initial conditions. Both simulations and experiments validate the superiority of the proposed approach in terms of tracking accuracy, robustness, and transient performance. Future work will explore applications to multi-quadcopter systems and adaptive tuning of performance bounds.

Scroll to Top