In recent years, the development and application of unmanned aerial vehicles (UAVs), particularly quadrotor drones, have advanced rapidly. Compared to manned aircraft, quadrotor drones offer higher maneuverability and better mission endurance. Utilizing quadrotor drones for tasks can effectively reduce personnel safety risks and maintenance costs, enabling them to replace manned aircraft in harsh, dangerous, tedious, and deep-penetration missions. The quadrotor drone features a symmetric airframe structure with four symmetrically distributed motors at its ends. By rotating propellers via these motors, the quadrotor drone can perform vertical take-off, landing, hovering, and other tasks. Due to its simplicity and ease of control, quadrotor drones have attracted extensive research worldwide.
Single quadrotor drones have certain limitations in mission execution, making multi-quadrotor drone cooperative control a crucial direction for future development. An underactuated quadrotor drone swarm can be viewed as a multi-agent system. However, during flight, quadrotor drones are subject to disturbances from the external environment and parameter perturbations, which introduce unknown disturbances that affect performance and increase controller design difficulty. Additionally, most existing research on distributed multi-agent cooperative control often simplifies the nonlinear, underactuated, and strongly coupled characteristics of quadrotor drone models. Furthermore, convergence performance metrics for distributed multi-drone control are not thoroughly addressed. While finite-time cooperative control ensures convergence within a finite time, the convergence time depends on initial conditions. In contrast, fixed-time control guarantees convergence within a bounded time independent of initial states, offering faster and more predictable performance. Therefore, this article proposes a fixed-time formation control method for quadrotor drone swarms under unknown disturbances, leveraging a hierarchical design approach.

The quadrotor drone is an underactuated system with four inputs (thrust and three torques) and six outputs (position and orientation), exhibiting nonlinearity and strong coupling. The control architecture adopts a hierarchical design: an estimation layer and a control layer. First, a distributed fixed-time sliding mode estimator is designed so that each quadrotor drone can quickly estimate its desired position even if only some drones access the desired trajectory. Second, a fixed-time disturbance observer is introduced to estimate unknown composite disturbances, enabling each quadrotor drone to generate disturbance estimates to counteract their effects. Then, fixed-time sliding mode controllers are designed at the position and attitude layers to track the desired trajectory, ensuring attitude stability convergence. Finally, numerical simulations verify the effectiveness of the proposed method.
Problem Formulation
To achieve cooperative control of a quadrotor drone swarm, drones rely on communication networks to transmit state data. The communication topology among quadrotor drones is described using graph theory. Consider an undirected graph $\mathcal{G} = (\mathcal{V}, \mathcal{E})$ with node set $\mathcal{V} = \{v_1, v_2, \dots, v_n\}$ and edge set $\mathcal{E} \subseteq \{(v_i, v_j): i, j \in \mathcal{V}, i \neq j\}$, where $n$ is the number of quadrotor drones. The adjacency matrix is $\mathbf{A} = [a_{ij}] \in \mathbb{R}^{n \times n}$, where $a_{ij} = 1$ if node $v_i$ and $v_j$ are connected, otherwise $a_{ij} = 0$. The Laplacian matrix is $\mathbf{L} = [l_{ij}] \in \mathbb{R}^{n \times n}$, with $l_{ii} = \sum_{j=1, j \neq i}^n a_{ij}$ and $l_{ij} = -a_{ij}$. A virtual agent labeled 0 represents the desired trajectory, and matrix $\mathbf{B} = \text{diag}\{a_{10}, a_{20}, \dots, a_{n0}\}$ indicates whether each quadrotor drone accesses the desired trajectory, where $a_{i0} = 1$ if drone $i$ obtains the trajectory, otherwise $a_{i0} = 0$.
Assumptions:
- Assumption 1: Information flow among quadrotor drones is bidirectional, and flow from the virtual agent to drones is unidirectional.
- Assumption 2: At least one element in $\mathbf{B}$ is non-zero, meaning the virtual agent connects to at least one quadrotor drone, and that drone’s node is globally reachable in the communication graph.
- Assumption 3: The desired position $p_d$ and velocity $v_d$ from the virtual agent are continuous and bounded, with a non-negative constant $\sigma_d$ such that $\| \dot{v}_d \|_2 \leq \sigma_d$.
- Assumption 4: Unknown disturbances are Lipschitz continuous, i.e., there exist positive constants $\sigma_{dv}$ and $\sigma_{d\omega}$ such that $\| \dot{d}_{v,i} \|_2 \leq \sigma_{dv}$ and $\| \dot{d}_{\omega,i} \|_2 \leq \sigma_{d\omega}$ for each quadrotor drone $i$.
The dynamics of the $i$-th quadrotor drone are modeled in the inertial frame $\{O_I x_I y_I z_I\}$ and body frame $\{O_B x_B y_B z_B\}$. The kinematics and dynamics are described using unit quaternions. Let $Q_i = [q_i^T, \eta_i]^T \in \mathbb{R}^4$ represent the attitude, where $q_i \in \mathbb{R}^3$ is the vector part and $\eta_i \in \mathbb{R}$ is the scalar part, satisfying $q_i^T q_i + \eta_i^2 = 1$. The rotation matrix $\mathbf{R}(Q_i)$ is given by the Rodrigues formula:
$$
\mathbf{R}(Q_i) = (\eta_i^2 – q_i^T q_i) \mathbf{I}_3 + 2 q_i q_i^T – 2 \eta_i \mathbf{S}(q_i)
$$
where $\mathbf{S}(q_i)$ is a skew-symmetric matrix. The translational motion of the quadrotor drone is:
$$
\dot{p}_i = v_i
$$
$$
\dot{v}_i = g e_3 – \frac{T_i}{m_i} \mathbf{R}(Q_i)^T e_3 + d_{v,i}
$$
where $p_i = [p_{i,x}, p_{i,y}, p_{i,z}]^T$ and $v_i = [v_{i,x}, v_{i,y}, v_{i,z}]^T$ are the position and velocity in the inertial frame, $g$ is gravity acceleration, $e_3 = [0,0,1]^T$, $T_i$ is the thrust input along the body $z_B$-axis, $m_i$ is the mass, and $d_{v,i}$ is the unknown disturbance in the translational dynamics.
The rotational motion is:
$$
\dot{Q}_i = \frac{1}{2} \mathbf{G}(Q_i) \omega_i
$$
$$
\mathbf{J}_i \dot{\omega}_i = \tau_i – \mathbf{S}(\omega_i) \mathbf{J}_i \omega_i + d_{\omega,i}
$$
where $\omega_i = [\omega_{i,x}, \omega_{i,y}, \omega_{i,z}]^T$ is the angular velocity in the body frame, $\mathbf{J}_i$ is the inertia matrix, $\tau_i = [\tau_{i,x}, \tau_{i,y}, \tau_{i,z}]^T$ is the torque input, $\mathbf{G}(Q_i) = [\eta_i \mathbf{I}_3 + \mathbf{S}(q_i), -q_i]^T$, and $d_{\omega,i}$ is the unknown disturbance in the rotational dynamics. The quadrotor drone is underactuated with four inputs ($T_i$ and $\tau_i$) and six outputs ($p_i$ and $Q_i$), exhibiting nonlinearity and coupling.
Distributed Fixed-Time Sliding Mode Estimator Design
For the quadrotor drone swarm, a distributed fixed-time sliding mode estimator is designed so that each drone estimates the desired position and velocity. Compared to centralized estimation, distributed estimation requires no central node; each quadrotor drone only needs its own and neighboring drones’ state information, achieving estimation through cooperation. This offers better reliability and robustness. Unlike finite-time estimators, fixed-time estimators do not rely on initial states; convergence time upper bounds depend only on design parameters and algebraic connectivity of the Laplacian matrix, making them suitable for systems with strict convergence time requirements.
For the $i$-th quadrotor drone, the estimator is:
$$
\dot{\hat{p}}_{d,i} = \hat{v}_{d,i} – \alpha_1 \text{sgn}\left( \sum_{j=0}^n a_{ij} (\hat{p}_{d,i} – \hat{p}_{d,j} – \delta_{ij}) \right) – \alpha_2 \text{sig}^2\left( \sum_{j=0}^n a_{ij} (\hat{p}_{d,i} – \hat{p}_{d,j} – \delta_{ij}) \right)
$$
$$
\dot{\hat{v}}_{d,i} = -\beta_1 \text{sgn}\left( \sum_{j=0}^n a_{ij} (\hat{v}_{d,i} – \hat{v}_{d,j}) \right) – \beta_2 \text{sig}^2\left( \sum_{j=0}^n a_{ij} (\hat{v}_{d,i} – \hat{v}_{d,j}) \right)
$$
where $\text{sig}^\alpha(x) = \|x\|_2^\alpha \text{sgn}(x)$, $\alpha_1, \alpha_2, \beta_1, \beta_2$ are positive gains, $\delta_{ij} = \delta_{i0} – \delta_{j0}$ with $\delta_{i0}$ and $\delta_{j0}$ being position offsets for drones $i$ and $j$, $\hat{p}_{d,i}$ and $\hat{v}_{d,i}$ are estimates of desired position and velocity, and for the virtual agent, $\hat{p}_{d,0} = p_d$, $\hat{v}_{d,0} = v_d$.
Theorem 1: Under Assumptions 1-3, with positive constant $\epsilon > 0$ and gains satisfying:
$$
\alpha_1 = \frac{\epsilon \sqrt{\lambda_{\max}(\mathbf{L} + \mathbf{B})}}{\sqrt{2 \lambda_{\min}(\mathbf{L} + \mathbf{B})}}, \quad \alpha_2 = \beta_2 = \frac{\epsilon \sqrt{n}}{[2 \lambda_{\min}(\mathbf{L} + \mathbf{B})]^{3/2}}, \quad \beta_1 = \frac{\epsilon \sqrt{\lambda_{\min}(\mathbf{L} + \mathbf{B})}}{\sqrt{2 \lambda_{\min}(\mathbf{L} + \mathbf{B})}} + \sigma_d
$$
each quadrotor drone achieves fixed-time convergence of estimates within time $t_1 = 2\pi / \epsilon$, i.e., $\hat{p}_{d,i} \to p_d + \delta_{i0}$ and $\hat{v}_{d,i} \to v_d$.
Proof: Define estimation errors $\tilde{p}_{d,i} = \hat{p}_{d,i} – p_d – \delta_{i0}$ and $\tilde{v}_{d,i} = \hat{v}_{d,i} – v_d$. Consider Lyapunov function $V_1 = \frac{1}{2} \tilde{v}_d^T [(\mathbf{L} + \mathbf{B}) \otimes \mathbf{I}_3] \tilde{v}_d + \frac{1}{2} \tilde{p}_d^T [(\mathbf{L} + \mathbf{B}) \otimes \mathbf{I}_3] \tilde{p}_d$. Using the estimator dynamics and inequalities, derive $\dot{V}_1 \leq – \epsilon V_1^{1/2} – \epsilon V_1^{3/2}$. By fixed-time stability lemma, convergence is achieved within $t_1$. This ensures that all quadrotor drones quickly estimate desired positions, forming the desired formation.
Fixed-Time Disturbance Observer Design
To handle unknown disturbances, a fixed-time disturbance observer is designed for each quadrotor drone. This allows the drone to generate disturbance estimates for active compensation, enhancing control performance under uncertainties.
For the $i$-th quadrotor drone, the observer is:
$$
\dot{\hat{v}}_i = g e_3 – \frac{U_i}{m_i} + \hat{d}_{v,i}, \quad \dot{\hat{\omega}}_i = \mathbf{J}_i^{-1} \tau_i – \mathbf{J}_i^{-1} \mathbf{S}(\omega_i) \mathbf{J}_i \omega_i + \hat{d}_{\omega,i}
$$
where $\hat{v}_i$ and $\hat{\omega}_i$ are estimates of actual velocity and angular velocity, $\hat{d}_{v,i}$ and $\hat{d}_{\omega,i}$ are disturbance estimates, and $U_i$ is a virtual control input. Define observer errors $e_{ov} = \hat{v}_i – v_i$ and $e_{o\omega} = \hat{\omega}_i – \omega_i$. Then,
$$
\dot{e}_{ov} = \hat{d}_{v,i} – d_{v,i}, \quad \dot{e}_{o\omega} = \hat{d}_{\omega,i} – d_{\omega,i}
$$
Choose disturbance estimate laws:
$$
\hat{d}_{v,i} = -\xi_{v1} \text{sig}^{\mu_{v1}}(e_{ov}) – \xi_{v2} \text{sig}^{\mu_{v2}}(e_{ov}), \quad \hat{d}_{\omega,i} = -\xi_{\omega1} \text{sig}^{\mu_{\omega1}}(e_{o\omega}) – \xi_{\omega2} \text{sig}^{\mu_{\omega2}}(e_{o\omega})
$$
with positive constants $\xi_{v1}, \xi_{v2}, \xi_{\omega1}, \xi_{\omega2}$, $\mu_{v1} > 1$, $\mu_{\omega1} > 1$, $0 < \mu_{v2} < 1$, $0 < \mu_{\omega2} < 1$.
Theorem 2: Under Assumption 4, with appropriate gains, the observer achieves fixed-time convergence within time $t_{ob}$, i.e., $\hat{d}_{v,i} \to d_{v,i}$ and $\hat{d}_{\omega,i} \to d_{\omega,i}$.
Proof: Consider Lyapunov function $V_{ob} = \frac{1}{2} e_{ov}^T e_{ov} + \frac{1}{2} e_{o\omega}^T e_{o\omega}$. Derive $\dot{V}_{ob} \leq -\Psi_1 V_{ob}^{\Theta_1} – \Psi_2 V_{ob}^{\Theta_2}$ with $\Theta_1 > 1$, $0 < \Theta_2 < 1$. By fixed-time stability lemma, convergence occurs within $t_{ob} = 1/[\Psi_1(\Theta_1-1)] + 1/[\Psi_2(1-\Theta_2)]$.
Fixed-Time Sliding Mode Controller Design
Using estimates from the estimator and disturbance observer, fixed-time sliding mode controllers are designed at the position and attitude layers for each quadrotor drone. This ensures rapid tracking of desired trajectories while maintaining attitude stability.
Define tracking errors for the $i$-th quadrotor drone: $\tilde{p}_i = p_i – \hat{p}_{d,i}$ and $\tilde{v}_i = v_i – \hat{v}_{d,i}$. From dynamics:
$$
\dot{\tilde{p}}_i = \tilde{v}_i, \quad \dot{\tilde{v}}_i = g e_3 – \frac{U_i}{m_i} – \dot{\hat{v}}_{d,i} + d_{v,i}
$$
where $U_i = T_i \mathbf{R}(Q_i)^T e_3$ is virtual control input. Design sliding surface for position:
$$
s_{p,i} = k_{sp} \tilde{p}_i + \tilde{v}_i
$$
with gain $k_{sp} > 0$. Choose reaching law:
$$
\dot{s}_{p,i} = -\lambda_{sp1} \text{sig}^{\Upsilon_1}(s_{p,i}) – \lambda_{sp2} \text{sig}^{\Upsilon_2}(s_{p,i}) + \hat{d}_{v,i}
$$
where $\lambda_{sp1}, \lambda_{sp2} > 0$, $\Upsilon_1 > 1$, $0 < \Upsilon_2 < 1$. Then, virtual control input is:
$$
U_i = m_i \left[ k_{sp} \tilde{v}_i + g e_3 – \dot{\hat{v}}_{d,i} + \lambda_{sp1} \text{sig}^{\Upsilon_1}(s_{p,i}) + \lambda_{sp2} \text{sig}^{\Upsilon_2}(s_{p,i}) + d_{v,i} – \hat{d}_{v,i} \right]
$$
From $U_i$, compute thrust $T_i = \|U_i\|_2$ and desired attitude $Q_{d,i} = [q_{d,i}^T, \eta_{d,i}]^T$:
$$
\eta_{d,i} = \sqrt{\frac{U_{i,z}}{2T_i} + \frac{1}{2}}, \quad q_{d,i} = \frac{[-U_{i,y}, U_{i,x}, 0]^T}{2 \eta_{d,i} T_i}
$$
Desired angular velocity $\omega_{d,i}$ is derived from $\dot{Q}_{d,i}$, which is obtained via a fixed-time low-pass filter to avoid direct differentiation. The filter is:
$$
\dot{\chi} = -\zeta_1 \text{sig}^{\gamma_1}(\chi – \sigma) – \zeta_2 \text{sig}^{\gamma_2}(\chi – \sigma)
$$
where $\sigma$ is input (e.g., $Q_{d,i}$ or $\omega_{d,i}$), $\chi$ is output approximating $\sigma$, and $\dot{\chi}$ approximates $\dot{\sigma}$. With $\gamma_1 > 1$, $0 < \gamma_2 < 1$, and gains $\zeta_1, \zeta_2 > 0$, the filter achieves fixed-time convergence.
For attitude control, define attitude error $\tilde{Q}_i = Q_{d,i}^{-1} \odot Q_i$ and angular velocity error $\tilde{\omega}_i = \omega_i – \mathbf{R}(\tilde{Q}_i) \omega_{d,i}$. Sliding surface for attitude:
$$
s_{a,i} = k_{sa} \tilde{q}_i + \tilde{\omega}_i
$$
with gain $k_{sa} > 0$, where $\tilde{q}_i$ is vector part of $\tilde{Q}_i$. Reaching law:
$$
\dot{s}_{a,i} = -\lambda_{sa1} \text{sig}^{\Upsilon_3}(s_{a,i}) – \lambda_{sa2} \text{sig}^{\Upsilon_4}(s_{a,i}) + \hat{d}_{\omega,i}
$$
with $\lambda_{sa1}, \lambda_{sa2} > 0$, $\Upsilon_3 > 1$, $0 < \Upsilon_4 < 1$. Torque input is:
$$
\tau_i = \mathbf{J}_i \left[ -\lambda_{sa1} \text{sig}^{\Upsilon_3}(s_{a,i}) – \lambda_{sa2} \text{sig}^{\Upsilon_4}(s_{a,i}) \right] + \mathbf{S}(\omega_i) \mathbf{J}_i \omega_i – \mathbf{J}_i \left[ \mathbf{S}(\tilde{\omega}_i) \mathbf{R}(\tilde{Q}_i) \omega_{d,i} – \mathbf{R}(\tilde{Q}_i) \dot{\omega}_{d,i} \right] – k_{sa} \mathbf{J}_i \dot{\tilde{q}}_i + \mathbf{J}_i (\hat{d}_{\omega,i} – d_{\omega,i})
$$
where $\dot{\omega}_{d,i}$ is obtained via the fixed-time low-pass filter.
Theorem 3: The fixed-time low-pass filter with $\gamma_1 > 1$, $0 < \gamma_2 < 1$ and appropriate gains ensures fixed-time convergence: $\chi \to \sigma$ and $\dot{\chi} \to \dot{\sigma}$ within time $t_2$.
Theorem 4: Under Assumptions 1-4, the overall system achieves fixed-time formation control within time upper bound $t_1 + t_{ob} + t_2 + t_3$, where $t_3$ is from controller convergence. Each quadrotor drone satisfies $p_i \to \hat{p}_{d,i} \to p_d + \delta_{i0}$, $v_i \to \hat{v}_{d,i} \to v_d$, $\tilde{Q}_i \to [0,0,0,1]^T$, and $\omega_i \to 0$.
Proof: Consider Lyapunov function $V_3 = \sum_{i=1}^n \left( \frac{1}{2} s_{p,i}^T s_{p,i} + \frac{1}{2} s_{a,i}^T s_{a,i} \right)$. After disturbance estimates converge ($t > t_{ob}$), derive $\dot{V}_3 \leq -\lambda_1 V_3^{\Delta_1} – \lambda_2 V_3^{\Delta_2}$ with $\Delta_1 > 1$, $0 < \Delta_2 < 1$. By fixed-time stability, sliding surfaces converge within $t_3$. Combined with estimator and filter convergence, formation control is achieved.
Simulation Verification
To validate the proposed fixed-time formation control method for quadrotor drone swarms, simulations are conducted with a swarm of six quadrotor drones. The communication topology is as described, with drones connected bidirectionally and at least one drone accessing the virtual agent’s desired trajectory. Each quadrotor drone has identical parameters and initial states, and unknown disturbances are applied to test robustness.
Simulation conditions are summarized in Table 1, including control parameters and initial states for each quadrotor drone. The desired trajectory from the virtual agent is set as a time-varying function to challenge the formation control.
| Control Parameter | Value | Initial State for Quadrotor Drones |
|---|---|---|
| $\alpha_1$ | 0.8 | $p_1(0) = [-2, 2, 0]^T$ m $p_2(0) = [2, 2, 0]^T$ m $p_3(0) = [2, -2, 0]^T$ m $p_4(0) = [-2, -2, 0]^T$ m $p_5(0) = [-2, 0, 0]^T$ m $p_6(0) = [2, 0, 0]^T$ m $v_i(0) = [0,0,0]^T$ m/s $\omega_i(0) = [0,0,0]^T$ rad/s $Q_i(0) = [0,0,0,1]^T$ |
| $\beta_1$ | 2.0 | |
| $\alpha_2, \beta_2$ | 1.2 | |
| $\xi_{v1}, \xi_{\omega1}$ | 0.5 | |
| $\xi_{v2}, \xi_{\omega2}$ | 200 | |
| $\mu_{v1}, \mu_{\omega1}$ | 1.3 | |
| $\mu_{v2}, \mu_{\omega2}$ | 0.5 | |
| $\zeta_1, \zeta_2$ | 0.1 | |
| $\gamma_1, \Upsilon_1, \Upsilon_3$ | 1.1 | |
| $\gamma_2, \Upsilon_2, \Upsilon_4$ | 0.7 | |
| $k_{sp}$ | 1.0 | |
| $k_{sa}$ | 3.0 | |
| $\lambda_{sp1}, \lambda_{sp2}$ | 0.2 | |
| $\lambda_{sa1}, \lambda_{sa2}$ | 0.4 |
Unknown composite disturbances for each quadrotor drone are set as:
$$
d_{v,i} = \begin{bmatrix} 2 – 0.5 \cos(0.2t + 0.25\pi) \\ 1 + 0.3 \sin(0.3t – \pi/3) \\ 3 + 0.4 \sin(0.4t + \pi/6) \end{bmatrix}, \quad d_{\omega,i} = \begin{bmatrix} 3 – 0.3 \sin(0.2t + \pi/6) \\ 2 + 0.4 \cos(0.3t – 0.25\pi) \\ 1 + 0.5 \cos(0.4t + \pi/3) \end{bmatrix}
$$
The desired trajectory is $p_d = [3 – 10 \cos(0.1t), 9 + 15 \sin(0.1t), 3 + 0.6t]^T$ m. Simulation results demonstrate the effectiveness of the fixed-time control scheme for the quadrotor drone swarm.
Key performance metrics are summarized in Table 2, comparing convergence times for estimation, disturbance observation, and tracking. The proposed fixed-time method shows faster convergence compared to finite-time methods from literature.
| Component | Proposed Fixed-Time Method | Finite-Time Method (Reference) |
|---|---|---|
| Distributed Estimator | 0.58 s | 5.26 s |
| Disturbance Observer | 0.63 s | N/A |
| Position Tracking | 8.92 s | 18.18 s |
| Attitude Tracking | 6.88 s | 8.82 s |
| Overall Formation | Within 10 s | Over 20 s |
The simulations confirm that each quadrotor drone quickly estimates desired positions, compensates for unknown disturbances, and tracks trajectories with stable attitude convergence. The fixed-time sliding mode controllers reduce chattering in attitude error curves compared to alternative methods, enhancing smoothness. Thus, the fixed-time formation control scheme efficiently achieves coordinated flight for quadrotor drone swarms under unknown disturbances.
Conclusion
This article presents a fixed-time formation control method for quadrotor drone swarms under unknown disturbances. By adopting a hierarchical design, the system separates distributed multi-drone cooperative estimation from individual drone control, effectively addressing the underactuated, nonlinear, and coupled nature of quadrotor drones. The key contributions include: designing a distributed fixed-time sliding mode estimator for rapid desired position estimation; incorporating a fixed-time disturbance observer for active disturbance compensation; and developing fixed-time sliding mode controllers at position and attitude layers to ensure fast tracking and attitude stability. Numerical simulations validate that the proposed method enables quadrotor drone swarms to achieve formation control with convergence times independent of initial conditions, outperforming finite-time approaches. Future work may explore preset-time control for explicit convergence time tuning and extend the method to more complex scenarios for quadrotor drone applications.
