Next Article in Journal
A Review of IoT Firmware Vulnerabilities and Auditing Techniques
Next Article in Special Issue
Omni-OTPE: Omnidirectional Optimal Real-Time Ground Target Position Estimation System for Moving Lightweight Unmanned Aerial Vehicle
Previous Article in Journal
Relationship of Magnetic Domain and Permeability for Clustered Soft Magnetic Narrow Strips with In-Plane Inclined Magnetization Easy Axis on Distributed Magnetic Field
Previous Article in Special Issue
Research on Lateral Safety Spacing for Fusion Operation Based on Unmanned and Manned Aircraft-Event Modeling
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Cooperative Safe Trajectory Planning for Quadrotor Swarms

1
Department of Control Science and Engineering, Tongji University, Shanghai 201804, China
2
Shanghai Research Institute for Intelligent Autonomous Systems, Shanghai 201210, China
*
Author to whom correspondence should be addressed.
Sensors 2024, 24(2), 707; https://doi.org/10.3390/s24020707
Submission received: 8 December 2023 / Revised: 10 January 2024 / Accepted: 16 January 2024 / Published: 22 January 2024

Abstract

:
In this paper, we propose a novel distributed algorithm based on model predictive control and alternating direction multiplier method (DMPC-ADMM) for cooperative trajectory planning of quadrotor swarms. First, a receding horizon trajectory planning optimization problem is constructed, in which the differential flatness property is used to deal with the nonlinear dynamics of quadrotors while we design a relaxed form of the discrete-time control barrier function (DCBF) constraint to balance feasibility and safety. Then, we decompose the original trajectory planning problem by ADMM and solve it in a fully distributed manner with peer-to-peer communication, which induces the quadrotors within the communication range to reach a consensus on their future trajectories to enhance safety. In addition, an event-triggered mechanism is designed to reduce the communication overhead. The simulation results verify that the trajectories generated by our method are real-time, safe, and smooth. A comprehensive comparison with the centralized strategy and several other distributed strategies in terms of real-time, safety, and feasibility verifies that our method is more suitable for the trajectory planning of large-scale quadrotor swarms.

1. Introduction

In recent years, with the rapid development of communication, computing, and automation technologies, intelligent UAV swarm systems inspired by the behavior of biological swarms have received extensive attention from researchers and practitioners [1]. An intelligent UAV swarm system is a holistic system composed of a group of UAVs capable of accomplishing complex tasks through cooperation and information sharing [2]. UAV swarm systems have advantages in terms of timeliness, economy, and functionality [3]. Consequently, they have been widely used in both civil and military fields [4], such as infrastructure inspection [5], logistics transportation [6], and search and rescue [7]. Among them, trajectory planning, as a crucial and challenging component for UAV swarms to perform tasks, needs to ensure the safety of a smooth trajectory from the initial position to the target position under the dynamics constraints, especially in a confined space. Furthermore, coordination among the UAVs is crucial.
There is increasing research that has emerged to address this safety-critical challenging problem, including potential fields [8], velocity obstacles [9,10], dynamic windows [11], and inter-robot prioritization [12]. However, these classical methods do not pay much attention to the interaction among robots, making them ineffective for more complex environments. Recently, learning-based methods [13,14] have been proposed to consider inter-robot interaction to solve trajectory planning. However, they usually require high-quality training data for generalization and lose the interpretability of the internal decision-making process. The above problems can be overcome by constructing an optimization problem using the MPC framework to handle complex objective functions and constraints explicitly, as well as providing sequences of future state and control input information predictively [15,16,17].
The major challenge of implementing MPC for the trajectory planning of quadrotor swarms lies in the difficulties of guaranteeing the real-time feasibility and safety of the system under various practical constraints. In this paper, we present a novel distributed trajectory planning algorithm for quadrotor swarms based on DMPC-ADMM, referring to Figure 1. Our contributions can be summarized as follows:
  • A trajectory planning optimization problem for quadrotor swarms is constructed based on MPC, which uses the differential flatness property to handle the nonlinear dynamics of quadrotors. The dimension of the planning space is reduced compared to directly utilizing the nonlinear model. Additionally, we design a relaxed form of DCBF constraint to balance feasibility and safety. Due to the non-convexity of the DCBF, we linearize the DCBF at each time step and use an iterative convex optimization scheme to improve the solution’s efficiency.
  • The high-dimensional optimization problem is decomposed to construct a fully distributed trajectory planning algorithm based on ADMM. In this distributed algorithm, the quadrotors within the communication range reach a consensus on future trajectories through cooperation, thus enhancing the safety of trajectories. To further improve communication efficiency, we design an event-triggered mechanism to reduce the communication overhead.
  • The simulation results verify that our method can generate safe and smooth trajectories online under limited communication range, collision avoidance, and dynamic constraints. The comparison with the centralized strategy and several other distributed strategies confirms that our method is more suitable for large-scale quadrotor swarms.
The remainder of this paper is organized as follows. In Section 2, we mainly review the literature on the trajectory planning of UAVs. In Section 3, we introduce the differential flatness and DCBF. The quadrotor swarm trajectory planning problem based on MPC and DCBF is formulated in Section 4. In Section 5, we provide the distributed algorithm to solve the optimization problem via ADMM and design an event-triggered mechanism to reduce the communication overhead. We present the simulation experiments and results in Section 6, followed by concluding remarks in Section 7.

2. Related Work

Ensuring the safety of generated trajectories has consistently been a central issue in the field of multi-robotics, as well as a prerequisite for successful execution of tasks. As noted in [18], the existing literature often adopts Euclidean norms to model distance constraints, which are activated only when the reachable set intersects with the obstacles, resulting in the robot taking action only when it is close to them. To overcome this shortcoming, Ref. [18] combined CBF with MPC to avoid obstacles at an early stage and enhance the safety of the trajectory. The MPC-CBF formulation was also investigated on different platforms, including unmanned aerial vehicles [19,20] and autonomous vehicles [21].
The object of interest in this paper is a group of quadrotors whose underactuation and intrinsic instability make generating safe trajectories challenging. An effective solution involves leveraging the differential flatness property of quadrotors, as introduced in [22], to simplify the optimization problem while preserving the nonlinear dynamics of the quadrotors. This approach was successfully applied to UAV trajectory planning in crowded environments [23], as well as avoiding obstacles [24]. Specifically, Ref. [19] used CBF constraints to ensure trajectory safety for multi-quadrotor systems based on differential flatness. In this paper, we propose a distributed algorithm for the trajectory planning of quadrotor swarms with the MPC-CBF formulation.
UAV swarm trajectory planning is a complex optimization problem involving multiple constraints, variables, and nonlinear effects. Several existing studies on the trajectory planning of UAVs are summarized in Table 1. Centralized methods [24,25,26] have been proposed for the trajectory planning of UAV swarms. Kumar et al. [24] resolved the heterogeneous UAV formation reconfiguration and trajectory planning based on mixed integer quadratic programming (MIQP). Ref. [25] considered the collision-free trajectory generation for multiple UAVs in 3D space as a nonconvex optimization problem, which can be solved by sequential convex programming (SCP). These centralized approaches require the presence of a central node capable of acquiring the state information of the entire system and transmitting the planning results to each UAV. Nevertheless, one of its disadvantages is the large amount of computation, and once the center node fails, the whole system stops working, resulting in poor real-time and scalability. Therefore, the distributed methods have attracted much research attention in recent years. Compared to the centralized ones, each UAV in the distributed framework uses peer-to-peer communication to compute its trajectory without the need for a central node, referring to Figure 2. Hence, the distributed framework is scalable and robust in the face of unexpected node and link failures.
Distributed Model Predictive Control (DMPC) [27] has found successful applications in various networked systems ranging from electric power networks [28] to multi-robot systems [29,30,31]. It is an appealing option for distributed trajectory planning. Borrelli et al. [29] addressed the UAV formation problem based on a decentralized linear MPC approach that guaranteed collision avoidance under constraints. Luis et al. [31] developed a DMPC algorithm for online point-to-point flight trajectory generation in multi-UAV scenarios, which employed on-demand collision avoidance and event-triggered replanning. However, the second-order dynamics did not take into account the characteristics of quadrotors, and the safe distance constraint was approximated by a first-order Taylor expansion of the Euclidean distance. These limitations made it challenging to ensure trajectory safety in confined environments. To solve the quadrotor navigation problem, an online decentralized obstacle avoidance algorithm based on differential flatness and MPC was proposed in [30], where Optimal Reciprocal Collision Avoidance (ORCA) was employed for obstacle avoidance. However, the quadrotors lack cooperation to reach a consensus on their future trajectories, potentially leading to collisions in dense environments.
Table 1. Existing studies on the trajectory planning of UAVs.
Table 1. Existing studies on the trajectory planning of UAVs.
ReferencesUAV ModelMethodsCollision AvoidanceEvaluation
Kumar et al. [24]Differential flatnessMIQP and downwash effectYesCentralized methods:
optimal global planning,
poor real-time,
high computational complexity,
poor scalability
Augugliaro et al. [25]Differential flatnessDiscrete planning and continuous refinementYes
Preiss et al. [26]Second-order dynamicsSCP and posteriori vehicle-specific feasibility checkYes
Borrelli et al. [29]Second-order dynamicsMILP and inter-vehicle coordination rulesYesDistributed methods:
good real-time,
strong robustness,
suitable for large-scale swarms
Arul et al. [30]Linear flat modelORCA, downwash effect, and flatness-based feedforward linearizationYes
Luis et al. [31]Second-order dynamicsOn-demand collision avoidanceYes
Distributed optimization theory and its applications have gained increasing attention in recent years. The alternating direction multiplier method (ADMM) [32], as one of them, has been proven to show significant advantages in terms of convergence speed and computational efficiency in multi-robot task scenarios [33]. A series of examples combining MPC and ADMM approaches for multiple robots [3,34,35,36] illustrate the effectiveness and scalability of such a distributed framework. For instance, Ref. [34] proposed a distributed MPC method utilizing ADMM decomposition to coordinate the control problem of waterborne AGVs. Chen et al. [35] employed MPC and ADMM to achieve formation navigation of multiple vessels under environmental perturbations. In [3], a flocking control framework based on MPC and ADMM was presented to enable multi-vehicle systems to track desired trajectories while considering limited communication distances, collision avoidance, and bounded speed and control inputs. Compared to the methods above, we address a more complex quadrotor scenario that takes into account the quadrotor’s dynamics. Moreover, we utilize the linearized DCBF instead of the Euclidean norms and incorporate MPC to ensure the real-time generation of safe trajectories.

3. Preliminaries

In this section, we present an overview of differential flatness and DCBF. We highlight the linear flat model of the quadrotor and a relaxed form of the DCBF constraint. In addition, the main symbols used in this paper are defined in Abbreviations.

3.1. Differential Flatness and Quadrotor Dynamics

A nonlinear system x ˙ = f ( x , u ) is considered differentially flat if it can be described using a set of differentially independent variables ζ R m called flat output, i.e., the state and input of the system can be expressed as algebraic functions of the flat output and its finite-order derivatives [37]. The definition is as follows:
ζ = Φ ( x , u , u ˙ , , u ( p ) ) ,
x = Ψ x ( ζ , ζ ˙ , , ζ ( q 1 ) ) ,
u = Ψ u ( ζ , ζ ˙ , , ζ ( q ) ) ,
where Φ , Ψ x , and Ψ u are smooth functions. Both Ψ x and Ψ u are also called endogenous transformations of the system. Here, p and q are the maximum orders of the derivatives of u and ζ required to describe the system. The quadrotor has been shown to have the differential flatness property [22] with a flat output ζ = [ x , y , z , ψ ] T .
Consider a quadrotor with its control input u = ( T , ϕ c m d , θ c m d , ψ ˙ c m d ) , where T is the commanded thrust, ϕ c m d and θ c m d are the commanded roll and pitch angles, and ψ ˙ c m d is the commanded yaw rate. The state x = ( x , y , z , x ˙ , y ˙ , z ˙ , ϕ , θ , ψ ) includes position, velocity, and roll, pitch, and yaw angles. As in [38], the inner-loop attitude dynamics are written as follows:
ϕ ˙ = 1 τ ϕ ( k ϕ ϕ c m d ϕ ) , θ ˙ = 1 τ θ ( k θ θ c m d θ ) , ψ ˙ = ψ ˙ c m d ,
where k ϕ , k θ and τ ϕ , τ θ are the gains and time constants of the roll and pitch angles, respectively. Then the following equation gives the relationship between T , ϕ , θ and flat output  ζ .
T = m z ¨ + g cos ϕ cos θ , ϕ = arctan x ¨ sin ψ y ¨ cos ψ z ¨ + g cos θ , θ = arctan x ¨ cos ψ + y ¨ sin ψ z ¨ + g .
From (4) and (5), we can then compute u in terms of flat output ζ and its derivatives. Hence, we simplify the quadrotor trajectory generation process by seeking a sufficiently smooth flat output trajectory within a reduced planning space dimension.
Hagenmeyer et al. [37] introduced the notion of exact feedforward linearization based on differential flatness. The differential flat system x ˙ = f ( x , u ) can be transformed into an equivalent linear discrete-time flat model that can provide the benefit of reducing computation overload. The linear flat model of the quadrotor [38] is shown as:
z k + 1 = A z k + B v k , ζ k = C z k ,
where
A = I 3 × 3 I 3 × 3 T s I 3 × 3 T s 2 2 0 3 × 1 0 3 × 3 I 3 × 3 I 3 × 3 T s 0 3 × 1 0 3 × 3 0 3 × 3 I 3 × 3 0 3 × 1 0 1 × 3 0 1 × 3 0 1 × 3 1 , B = I 3 × 3 T s 3 6 0 3 × 1 I 3 × 3 T s 2 2 0 3 × 1 I 3 × 3 0 3 × 1 0 1 × 3 T s , C = I 3 × 3 0 3 × 3 0 3 × 3 0 3 × 1 0 1 × 3 0 1 × 3 0 1 × 3 1 ,
and z = [ x , y , z , x ˙ , y ˙ , z ˙ , x ¨ , y ¨ , z ¨ , ψ ] T denotes the flat state of the quadrotor, including position, velocity, acceleration, and yaw angle. v = [ x , y , z , ψ ˙ ] T denotes the flat input, including the third-order derivatives of the position and the yaw rate. In this paper, we consider (6) as the quadrotor dynamics model to generate a smooth collision-free trajectory.

3.2. Discrete-Time CBF

Consider a discrete-time dynamical system as
x k + 1 = f ( x k , u k ) ,
where x k X R n denotes the state of the system at time k, u k U R m is the control input, and f is a continuous dynamics function. Obstacle avoidance requires the invariance of a trajectory with respect to a safe, connected set. Specifically, if the system (7) is safe with respect to a set C , then any trajectory starting inside the set C will remain inside it. The set C is defined to be a superlevel set of the continuously differentiable functions h : X R .
C = { x X R n : h ( x ) 0 } .
Here, C is called a safety set. The function h is a discrete-time CBF (DCBF) [18] if the following condition (9) is satisfied.
u k s . t . Δ h ( x k , u k ) γ h ( x k ) , 0 < γ 1 ,
where Δ h ( x k , u k ) : = h ( x k + 1 ) h ( x k ) , and γ is a hyperparameter. The constraint (9) implies h ( x k + 1 ) ( 1 γ ) h ( x k ) , i.e., the lower bound of h ( x ) decays exponentially at time k with the rate 1 γ . Incorporating a valid DCBF constraint (9) into an optimization problem ensures the safety of the generated trajectories. If γ decreases, the system becomes more capable of avoiding obstacles, but it might lead to an unfeasible problem. On the other hand, if γ increases, the problem is more likely to be feasible, but the trajectory rapidly approaches the boundary of the safe set C , making the system unsafe. Therefore, the fixed γ is challenging to adapt to complex and changing environments; see [18] for details. To better balance feasibility and safety, we design a relaxed form of the DCBF constraint as follows:
h ( x k + 1 ) ( 1 γ ) h ( x k ) + ω k 0 .
Here, the slack variable ω k R will be adaptively optimized along with other variables in the optimization problem. The collision-free trajectory needs to consider both the neighbors and the obstacles in the external environment, so two types of safety constraints are added. One is the D C B C i j constraint between quadrotor i and quadrotor j, and the other is the D C B C i o constraint between quadrotor i and obstacle o O . The formulation of D C B C i j and D C B C i o are shown in the next section.

4. Problem Formulation

In this section, we present an undirected adjacency graph representing communication among quadrotors and then formulate a trajectory planning optimization problem based on MPC and DCBF.

4.1. Proximity Network

To realize cooperative trajectory planning, quadrotors need to communicate and exchange information with each other. In this paper, we use an undirected proximity graph G k = ( V , E k ) to represent the communication topology of quadrotors at time k, where V : = { 1 , 2 , , N } is the set of vertices and E k V × V is the set of edges. In graph G k , vertex i stands for quadrotor i. The edge E i j k stands for a communication link between quadrotor i and quadrotor j at time k, as
E k = { ( i , j ) d i j k < Δ dect , i , j V , i j } ,
where d i j k = p i p j and Δ dect > 0 is the maximum distance that quadrotors can communicate. At time k, the neighbors of quadrotor i are defined as N i k { j ( i , j ) E k } . The graph G k is time-varying due to the movement of the quadrotors. Therefore, N i k may be ∅, i.e., quadrotor i does not communicate with any other quadrotors at time k.

4.2. Trajectory Planning Based on MPC and DCBF

Cooperative trajectory planning for quadrotor swarms is a multi-variable and multi-constraint optimization problem. Combining MPC and DCBF, we aim to generate a safe and smooth trajectory under collision avoidance and dynamics constraints. Consider a swarm system with N quadrotors in a shared workspace W R 3 . This finite-time optimization problem with constraints at time k within a prediction horizon H can be formulated as follows:
min v i k : k + H 1 k , ω i 0 : H 1 i = 1 N J i k ( z i k : k + H k , v i k : k + H 1 k ) + J i k ( ω i 0 : H 1 )
s . t . z i k + t + 1 k = A z i k + t k + B v i k + t k ,
ζ i k + t k = C z i k + t k ,
z i k + t k Ω ,
z i k k = z i k ,
D C B C i j k + t k 0 , j N i ,
D C B C i o k + t k 0 , o O ,
t { 0 , 1 , , H 1 } ,
where N is the number of quadrotors, and k + t k denotes the prediction at time k for the state at time k + t . The cost function (12a) is composed of two parts along the prediction horizon H, i.e., the cost J i k ( z i k : k + H k , v i k : k + H 1 k ) with respect to the variables z i k : k + H k and v i k : k + H 1 k , and the additional cost J i k ( ω i 0 : H 1 ) with respect to the slack variables ω i 0 : H 1 . (12b) and (12c) are the linear flat model of the quadrotor described by (6), while (12d) and (12e) denote the system dynamics constraints and initial state conditions, respectively. To ensure the safety of the trajectory, (12f) and (12g) give two types of DCBF constraints defined by (10). The specific forms of the cost function and constraints in the optimization are described in detail below.
(1)
Cost  J i k ( z i k : k + H k , v i k : k + H 1 k ) : The cost function consists of three parts, including the terminal cost p ( z i k + H k ) , the stage cost q ( z i k + t k , v i k + t k ) , and the input change rate cost r ( v i k + t k , v i k + t 1 k ) , as shown below:
J i k ( z i k : k + H k , v i k : k + H 1 k ) = p ( z i k + H k ) + t = 0 H 1 q ( z i k + t k , v i k + t k ) + t = 1 H 1 r ( v i k + t k , v i k + t 1 k ) ,
p ( z i k + H k ) = z i k + H k z i d P 2 ,
q ( z i k + t k , v i k + t k ) = z i k + t k z i d Q 2 + v i k + t k R 2 ,
r ( v i k + t k , v i k + t 1 k ) = v i k + t k v i k + t 1 k S 2 ,
where P, Q, R, and S denote the weight matrices of the corresponding parts, respectively. z i d is the target state of quadrotor i. From Equations (14)–(16), it can be seen that this cost penalizes the deviation of the predicted state from the target state, the size of the input, and the size of the input variations along the prediction horizon H. Therefore, the objective of the optimization problem is to enable the quadrotors to rapidly approach the target state while minimizing input size and its variation.
(2)
Cost  J i k ( ω i 0 : H 1 ) : The additional cost function J i k ( ω i 0 : H 1 ) is to drive the slack variables ω i 0 : H 1 = [ ω i j 0 : H 1 , ω i o 0 : H 1 ] close to 0 to ensure the safety of the generated trajectories as follows:
J i k ( ω i 0 : H 1 ) = t = 0 H 1 α ( ω i j t ) 2 + α ( ω i o t ) 2 ,
where α is a weighting coefficient. It is advisable to set α to a large value to prevent excessive relaxation of the DCBF constraints, which is also verified in the simulation experiments. In addition, the cost function J i k ( ω i 0 : H 1 ) can be tuned for different performance.
(3)
DCBF Constraints: To generate collision-free trajectories, (12f) and (12g) provide safety constraints D C B C i j k + t k and D C B C i o k + t k in the optimization problem to ensure the forward invariance of the corresponding safety set C . The formulation is as follows:
D C B C i j k + t k h i j ( ζ i k + t + 1 k , ζ j k + t + 1 k ) ( 1 γ i j ) h i j ( ζ i k + t k , ζ j k + t k ) + ω i j t 0 , j N i ,
D C B C i o k + t k h i o ( ζ i k + t + 1 k , p o ) ( 1 γ i o ) h i o ( ζ i k + t k , p o ) + ω i o t 0 , o O .
We model each quadrotor i as a closed rigid sphere with radius r i and each obstacle o as a closed ellipsoid with semi-major axis ( a o , b o , c o ) . Similar to [18], the corresponding h-functions are given by
h i j ( ζ i k + t k , ζ j k + t k ) = p i k + t k p j k + t k r i r j 0 ,
h i o ( ζ i k + t k , p o ) = p i k + t k p o W 1 0 ,
where p i k + t k represents the position of quadrotor i and is a component of the output ζ i k + t k . Correspondingly, p o is the position of obstacle o. (20) implies that the sphere representing quadrotor i does not intersect the sphere representing quadrotor j, see Figure 3 for details. Similarly, (21) can be interpreted as approximating the obstacle o as an enlarged ellipsoid to check whether the position of quadrotor i is inside it [16], and W = diag ( 1 / ( a o + r i ) 2 , 1 / ( b o + r i ) 2 , 1 / ( c o + r i ) 2 ) . Since the DCBF is nonconvex, the real-time computation of problem (12) is challenging when it has a large prediction horizon H. Therefore, we linearize the DCBF around the result of the previous iteration at each time step using a first-order Taylor expansion as follows:
h i j ( ζ i k + t k , ζ j k + t k ) = η i j T ( p i k + t k p j k + t k ) r i r j 0 , h i o ( ζ i k + t k , p o ) = η i o T W ( p i k + t k p o ) 1 0 , η i j = p ^ i k + t k p ^ j k + t k p ^ i k + t k p ^ j k + t k , η i o = p ^ i k + t k p o p ^ i k + t k p o ,
where p ^ i k + t k is the result of the previous iteration for quadrotor i. Then, we can solve problem (12) with an iterative convex optimization. The detailed steps of the solution are described in the following section.
Remark 1.
In this paper, we consider that the yaw direction of the quadrotor is fixed as ψ = 0 in the desired trajectory, and the focus is on the spatial position of the quadrotor.
The above is the optimization problem for trajectory planning. We will introduce a fully distributed trajectory planning algorithm for efficiently computing future trajectories for all quadrotors in a swarm, as explained in the following section.

5. DMPC-ADMM Based Trajectory Planning

In this section, we reformulate the trajectory planning (12) for quadrotor swarms based on ADMM, converting it into a fully distributed framework. This approach decomposes the original high-dimensional optimization problem into N low-dimensional optimization subproblems, allowing each quadrotor i to compute its optimal trajectory in parallel to speed up the online solution of the problem. The focus lies in determining the communication information and mode to coordinate the quadrotors in order to avoid collision among them.

5.1. General ADMM Formulation

Here, we present a brief overview of ADMM. For more details, the readers can refer to [32]. ADMM is an iterative algorithm for solving distributed optimization problems. It decomposes the original problem into several subproblems and solves them by updating the multipliers and alternating iterations. The standard ADMM considers the following optimization problem with equation constraints.
min x , z f ( x ) + g ( z ) s . t . A x + B z = c ,
where x R n 1 and z R n 2 are the original decision variables. f : R n 1 R , g : R n 2 R , A R n 3 × n 1 , B R n 3 × n 2 , and c R n 3 . ADMM utilizes the augmented Lagrangian function with an additional quadratic penalty term to obtain better convergence. (24) is the augmented Lagrangian function of problem (23). The steps of ADMM iteratively solving (23) are described in Algorithm 1 until the predefined stopping iteration condition is satisfied.
L ρ ( x , z , λ ) = f ( x ) + g ( z ) + λ T ( A x + B z c ) + ρ 2 A x + B z c 2 2 ,
where λ R n 3 is the Lagrange multiplier and ρ > 0 is the penalty coefficient. Although ρ is independent of the convergence of the optimization problem (23), it affects the convergence rate. And we can obtain a suitable ρ by sufficient experiments. The next subsection describes how to reformulate the trajectory planning problem (12) as an adaptation of the structure of problem (23) to solve it in a distributed manner.

5.2. Problem Decomposition Based on ADMM

For trajectory planning of quadrotor swarms, the only coupling among quadrotors is represented by the collision avoidance constraints (18). The purpose of interactions among quadrotors is to tell the neighbors about their own future trajectories so that they can avoid collision in advance. In such scenarios, quadrotors need to agree on safe trajectories within the confined space. Motivated by [36], each quadrotor maintains communication with its neighbors while computing trajectories by introducing duplicates of its neighbors’ trajectories. Specifically, we use w i to represent the duplicate of the trajectory ζ i , and w i j is the duplicate of quadrotor i for the trajectory ζ j of quadrotor j, which can also be interpreted as the desired trajectory proposed by quadrotor i for quadrotor j. Then the control barrier function h i j ( ζ i k + t k , ζ j k + t k ) 0 can be reformulated as
h ¯ i j ( w i k + t k , w i j k + t k ) 0 , w i k + t k = ζ i k + t k , w i j k + t k = ζ j k + t k , j N i .
It can be seen that using w i and w i j , the coupling among quadrotors is successfully decoupled. Here, we use I to denote an indicator function, defined as
I A ( x ) : = 0 if x A , otherwise .
Compared to the problem (23), we replace the cost function of the optimization problem (12) with f ( z i k : k + H k , v i k : k + H 1 k , ω i 0 : H 1 ) + g ( w i k : k + H k , w i j k : k + H k ) as follows:
f ( z i k : k + H k , v i k : k + H 1 k , ω i 0 : H 1 ) = i = 1 N [ J i k ( z i k : k + H k , v i k : k + H 1 k ) + J i k ( ω i 0 : H 1 ) +   I Φ ( z i k : k + H k , v i k : k + H 1 k ) ] ,
g ( w i k : k + H k , w i j k : k + H k ) = i = 1 N [ j N i I D C B C i j 0 ( w i k : k + H k , w i j k : k + H k ) ] ,
where the set Φ denotes all the constraints in (12) except for inter-quadrotor collision avoidance. So, the optimization problem (12) can be transformed into the form as follows:
min v i k : k + H 1 k , w i k : k + H k , w i j k : k + H k , ω i 0 : H 1 f ( z i k : k + H k , v i k : k + H 1 k , ω i 0 : H 1 ) + g ( w i k : k + H k , w i j k : k + H k ) s . t . w i k + t k = ζ i k + t k , w i j k + t k = ζ j k + t k , t { 0 , 1 , , H 1 } , j N i .
Obviously, (29) is an optimization problem with equation constraints, whose augmented Lagrangian form is given in (30), where λ i and λ i j are the corresponding dual variables and ρ is the penalty coefficient. This allows us to solve this optimization problem according to Algorithm 1, iteratively updating z i k : k + H k , v i k : k + H 1 k , ω i 0 : H 1 , w i k : k + H k , w i j k : k + H k , λ i k : k + H k , and λ i j k : k + H k sequentially until the stopping condition is satisfied or the maximum number of iterations is reached. Each quadrotor i computes its trajectory while maintaining communication with its neighbors to exchange future trajectories of the prediction horizon H.
L ρ = f ( z i k : k + H k , v i k : k + H 1 k , ω i 0 : H 1 ) + g ( w i k : k + H k , w i j k : k + H k ) + i = 1 N ( M i + j N i M i j ) = i = 1 N [ L ρ , i ( ζ i k + H k , z i k : k + H k , v i k : k + H 1 k , ω i 0 : H 1 , w i k : k + H k , λ i k : k + H k ) + j N i L ρ , i j ( ζ j k + H k , w i j k : k + H k , λ i j k : k + H k ) ] = i = 1 N [ L ρ , i ( ζ i k : k + H k , z i k : k + H k , v i k : k + H 1 k , ω i 0 : H 1 , w i k : k + H k , λ i k : k + H k ) + j N i L ρ , j i ( ζ i k : k + H k , w j i k : k + H k , λ j i k : k + H k ) ]
Algorithm 1 ADMM.
  • repeat 1 : x arg min x L ρ ( x , z , λ ) 2 : z arg min z L ρ ( x , z , λ ) 3 : λ λ + ρ λ L ρ ( x , z , λ )
  • until satisfaction of a stopping criterion
The last equation in (30) holds because a bi-directional interaction is assumed, i.e., j N i i N j . So, we can flip the indexes i and j. M i and M i j in (30) are defined as follows:
M i = t = 0 H λ i T ( ζ i k + t k w i k + t k ) + ρ 2 ζ i k + t k w i k + t k 2 2 , M i j = t = 0 H λ i j T ( ζ j k + t k w i j k + t k ) + ρ 2 ζ j k + t k w i j k + t k 2 2
According to Algorithm 1, we separate the Lagrangian function (30) into two subproblems. We first minimize L ρ over the local variables v i k : k + H 1 k and ω i 0 : H 1 , and then minimize it over the global variables w i k : k + H k and { w i j k : k + H k } j N i . Algorithm 2 describes the steps of the distributed trajectory planning algorithm based on DMPC-ADMM, containing the steps of prediction, coordination, and mediation, as well as two communications, all of which are executed iteratively on the quadrotors in parallel. The prediction step ensures that each quadrotor i computes a trajectory ζ i k : k + H k of prediction horizon H under the constraints represented by Φ . The trajectory should be close to the target position while not deviating too much from its collision-free trajectory w i k : k + H k and the desired trajectories { w j i k : k + H k } j N i that its neighbors propose. Each quadrotor i then exchanges the updated trajectory ζ i k : k + H k with its neighbors in the first round of communication. In the coordination step, each quadrotor i updates ( w i k : k + H k , { w i j k : k + H k } j N i ) . This is done by coordinating with its neighbors to avoid collision while staying as close as possible to the trajectory ζ i k : k + H k computed in the prediction step. In the mediation step, the Lagrange multipliers ( λ i k : k + H k , { λ i j k : k + H k } j N i ) that accumulate the deviation between the trajectories computed in the prediction step and the coordination step are updated, further facilitating the quadrotors to reach a consensus on the trajectories of prediction horizon H. Finally, the desired Lagrange multipliers { λ i j k : k + H k } j N i and trajectories { w i j k : k + H k } j N i are exchanged with its neighbors in the second round of communication. The iteration is finished when the stopping iteration condition (35) is satisfied or the maximum number of iterations l m a x is reached. The first control input v i k is selected from v i k : k + H k to guide the controller at time k + 1 . Then, this algorithm repeats in this manner until all the quadrotors have reached the target positions.
Algorithm 2 Distributed algorithm based on DMPC-ADMM.
1:
i { 1 , , N } ,   Initialize z i 0 , k = 0 .
2:
while target positions not reached do
3:
    for  i { 1 , , N } in parallel do
4:
       Initialize λ i k : k + H k , w i k : k + H k , { λ i j k : k + H k , w i j k : k + H k } j N i .
5:
       Set l = 0 and update N i .
6:
       while  l < l max or stopping criterion (35) is not satisfied do
7:
           1. prediction: update ζ i k : k + H k with
arg min v i k : k + H k , ω i 0 : H 1 L ρ , i ( ζ i k : k + H k , z i k : k + H k , v i k : k + H 1 k , ω i 0 : H 1 , w i k : k + H k , λ i k : k + H k ) + j N i L ρ , j i ( ζ i k : k + H k , w j i k + t k , λ j i k : k + H k )
8:
           2. communication 1:
9:
              send ζ i k : k + H k to j N i ;
10:
            receive { ζ j k : k + H k } from j N i .
11:
         3. coordination:
12:
            update ( w i k : k + H k , { w i j k : k + H k } j N i ) with
arg min w i k : k + H k , w i j k : k + H k L ρ , i ( ζ i k : k + H k , z i k : k + H k , v i k : k + H 1 k , ω i 0 : H 1 , w i k : k + H k , λ i k : k + H k ) + j N i L ρ , i j ( ζ j k : k + H k , w i j k : k + H k , λ i j k : k + H k )
13:
         4. mediation:
14:
            update ( λ i k : k + H k , { λ i j k : k + H k } j N i ) with
λ i k : k + H k λ i k : k + H k + ρ ( ζ i k : k + H k w i k : k + H k ) , λ i j k : k + H k λ i j k : k + H k + ρ ( ζ j k : k + H k w i j k : k + H k ) , j N i .
15:
         5. communication 2:
16:
            send ( λ i j k : k + H k , w i j k : k + H k ) to j N i ;
17:
            receive { λ j i k : k + H k , w j i k : k + H k } from j N i .
18:
     end while
19:
     Select the first control input v i k from v i k : k + H 1 k .
20:
     Update state z k + 1 = A z k + B v k , ζ i k + 1 = C z i k + 1 .
21:
  end for
22:
   k k + 1 and l l + 1 .
23:
end while
In (22), we give a specific formulation of the linearized DCBF such that (29) is a convex problem with constraints. Here, we solve (32) and (33) in an iterative manner to approximate the optimal solution; see Algorithms 3 and 4. In Algorithm 3, the updated output ζ ¯ i , d k : k + H k is passed between iterations allowing for the linearization of D C B C i o . The iteration is finished when the convergence criterion (34) is satisfied or the maximum number of iterations d m a x is reached. The updated optimal ζ i k : k + H k is then exchanged with its neighbors in the first round of communication. Algorithm 4 follows the same principle as Algorithm 3, so it is not explained further here.
ζ i , d * , k : k + H k ζ ¯ i , d k : k + H k ϵ a b s ,
where ϵ a b s > 0 is constant, (34) implies that the iteration of Algorithm 3 is finished when the absolute value of the change in output ζ ¯ i , d k : k + H k is less than ϵ a b s .
Algorithm 3 Iterative convex optimization of (32).
1:
Set initial guess ζ ¯ i , 0 k : k + H k .
2:
Initialize d = 0 .
3:
while d < d max or convergence criteria (34) is not satisfied do
4:
     Linearize safety constraints D C B C i o (12g) with ζ ¯ i , d k : k + H k .
5:
     Solve a convex optimization problem with constraints and obtain the optimal value of state ζ i , d * , k : k + H k .
6:
    Update ζ ¯ i , d + 1 k : k + H k = ζ i , d * , k : k + H k .
7:
     d d + 1 .
8:
end while
9:
Update ζ i k : k + H k = ζ i , d * , k : k + H k .
Algorithm 4 Iterative convex optimization of (33).
1:
Set initial guess w ¯ i , 0 k : k + H k , w ¯ i j , 0 k : k + H k .
2:
Initialize d = 0 .
3:
while d < d max or convergence criteria is not satisfied do
4:
     Linearize safety constraints D C B C i j (12f) with w ¯ i , d k : k + H k , w ¯ i j , d k : k + H k .
5:
     Solve a convex optimization problem with constraints and obtain the optimal value of state w i , d * , k : k + H k , w i j , d * , k : k + H k .
6:
    Update w ¯ i , d + 1 k : k + H k = w i , d * , k : k + H k , w ¯ i j , d + 1 k : k + H k = w i j , d * , k : k + H k .
7:
     d d + 1 .
8:
end while
9:
Update w i k : k + H k = w i , d * , k : k + H k , w i j k : k + H k = w i j , d * , k : k + H k .
Remark 2.
For the initialization of Algorithm 2, we use the optimal result of the previous loop of DMPC-ADMM. Likewise, we use the optimal result of the previous iteration as the initial guess in Algorithms 3 and 4. This hot-start strategy can speed up the convergence of the algorithm, especially in slowly changing scenarios.
Each quadrotor i plans its trajectory ζ i k : k + H k by taking into account its optimal trajectory w i k : k + H k and the desired trajectories { w j i k : k + H k } j N i that are proposed by its neighbors. Thus, the stopping iteration condition for each MPC-ADMM loop can be designed in the following form:
ζ i k : k + H k w i k : k + H k ϵ 1 , ζ i k : k + H k 1 n u m i n b r s j N i w j i k : k + H k ϵ 2 ,
where ϵ 1 and ϵ 2 represent tolerable deviation thresholds, respectively, and n u m i n b r s is the number of neighbors of quadrotor i. With sufficient iterations, the quadrotor i will agree with its neighbors on the trajectories of prediction horizon H. However, extensive simulations show that the algorithm reaches an accepted result after a certain number of iterations. To reduce the computational burden, we present an empirical value of l m a x that allows us to compute a sub-optimal result.

5.3. Event-Triggered Mechanism

In general, the maximum communicable distance Δ d e c t is much greater than the distance that quadrotors can fly within the prediction horizon H. Consequently, Algorithm 2 exhibits substantial redundancy in inter-quadrotor communication, especially in scenarios involving many quadrotors. Inspired by [39,40], we design an event-triggered mechanism that initiates communication only when a specific trigger condition is met. The critical element of the event-triggered mechanism lies in the design of the event detector. The content and operational mode of the event detector determines the functioning of the event-triggered mechanism, subsequently influencing the communication frequency of the system, as shown in Figure 4.
Considering a scenario in which two quadrotors are widely separated, there is no risk of collision within the prediction horizon H, so they need not maintain communication while generating trajectories. Within the distributed framework, at time k, quadrotor i listens to the position of its neighbor j N i to determine whether the event is triggered. We design the trigger function of the event detector as follows:
E ( p i k , p j k ) = p i k p j k 2 H T s v max r i r j , j N i ,
where p i k , p j k are the positions of quadrotor i and its neighbor j N i at time k, T s is the time step, and v m a x is the maximum velocity of the quadrotor. The trigger condition holds when the value of the trigger function (36) is negative. We then incorporate this event-triggered mechanism into Algorithm 2, which reduces communication resources and the number of collision avoidance constraints D C B C i j 0 .
Remark 3.
The optimization problem may become infeasible when the flight space of the quadrotors is highly competitive. In this case, we can slow down the quadrotors quickly, and after a few time steps, the problem becomes feasible again.

6. Simulation Experiments and Results

In this section, we describe and evaluate the implementation of our method in simulation experiments. The simulation results validate the efficiency of our method. And we use the RflySim platform [41] to validate the proposed method. The platform provides quadrotor dynamics that are almost indistinguishable from actual scenario flights. The trajectories of all quadrotors are generated by our method, and the PID controller is used to track the trajectories. A video demonstration on the RflySim platform can be found at https://www.bilibili.com/video/BV11u4y1w7HU (accessed on 15 January 2024).

6.1. Experimental Setup

All the quadrotors have the same dynamics model, and we apply a box constraint set Ω on the flat state as is done in [42] for trajectory generation, as shown in (37). The parameters used in the simulation are shown in Table 2. Here, we define two scenarios, one for obstacle avoidance flight in complex environments (Scenario 1) and one for exchanging positions flight (Scenario 2). We provide a performance comparison of our method with centralized MPC (CMPC), constant velocity MPC (CVMPC, treat the quadrotor as a constant velocity model), and distributed MPC (DMPC, use the future trajectories computed by its neighbors at the previous time as collision avoidance constraints) [16] for trajectory planning. The only difference among these methods is the coordination strategies, where all parameters are identical. All methods are solved using OSQP [43] with the modeling language Yalmip [44]. We use a Windows desktop with Intel Core i7-11700K (CPU 3.6 GHz) running MATLAB for all computations. In the simulation, we assume that the environmental information is known, the communication packets are not lost, and there are no external perturbations.
Ω = { z R 10 3 x ˙ , y ˙ , z ˙ 3 ; 1 x ¨ , y ¨ , z ¨ 1 ; ψ [ π , π ] } .

6.2. Performance Comparison of Different Methods

We compare the performance of our method with CMPC, CVMPC, and DMPC in two scenarios. For Scenario 1 with ten quadrotors, Figure 5, Figure 6 and Figure 7 show the simulation results using our method and CMPC, respectively. Figure 8 and Figure 9 show the simulation results of the eight quadrotors in Scenario 2 using the four methods. From the velocity variations of three of the quadrotors, we observe that our method generates smoother trajectories compared to CVMPC and DMPC, and the statistics of the distance among quadrotors show that our method is safer. Moreover, the performance of the trajectories generated by our method is not much different from that of CMPC.
For further comparison, we report the trajectory length (minimum, maximum, mean value, and standard deviation to compare cooperativeness), the minimum distance d i j , m i n among quadrotors, the minimum distance d i o , m i n between quadrotors and obstacles, as well as the average computation time of the four methods in Table 3 and Table 4. It can be observed that CVMPC and DMPC have a minimum distance lower than the safe distance due to the lack of coordination and take more time than our method due to the need for a greater number of iterations. Instead, our method and CMPC can achieve safe navigation, and the computation time of our method is much less than that of CMPC.
In addition, Table 5 shows the comparison of the four methods in terms of average computation time, collision probability, and feasibility in Scenario 2. For each method, we generate trajectories of the quadrotors under 50 random initial and target states. We define the method as infeasible when the collision probability is greater than 50 % . We observe that CMPC suffers from a large computational burden, while our method performs well at a much lower computational cost. The collision probability of our method and CMPC stays below 10 % as the number of quadrotors increases. Instead, due to the deviation of trajectory information, CVMPC and DMPC become infeasible with a significant increase in collision probability, especially for CVMPC. Therefore, our method scales well with the number of quadrotors. Figure 10 illustrates the trajectories of two, four, and sixteen quadrotors for exchanging positions in flight.

6.3. Evaluation of Event-Triggered Mechanism

To verify the effectiveness of the event-triggered mechanism, we compare the performance of the algorithm before and after adding the event-triggered mechanism under a uniform spatial distribution of different numbers of quadrotors in Scenario 1. Define a metric C O M M as the communication cost and the communication ratio as the ratio of the communication cost after adding the event-triggered mechanism to the original communication cost, as shown in (38). Figure 11 shows a significant reduction in communication ratio and computation time after adding the event-triggered mechanism. Therefore, the event-triggered mechanism greatly improves the performance of the distributed algorithm.
C O M M = i = 1 N j = 1 N c o m m i j , c o m m i j = 1 , i and j communicate , 0 , otherwise .

6.4. Evaluation of Algorithm Robustness

We compare the sensitivity of our algorithm for different hyperparameters γ , maximum velocity v m a x , and maximum acceleration a m a x of the quadrotors in Table 6. It can be seen that the length of the trajectories does not vary much, and the minimum distance d i j , m i m among quadrotors is always greater than the safe distance. Please note that as γ increases, d i j , m i m gets closer to the safe distance, and the computation time gets shorter, which is consistent with the explanation in Section 3. In addition, the computation time of our algorithm is kept short. Therefore, our method has good robustness and can be applied to different scenarios.

7. Conclusions

In this paper, we propose a fully distributed algorithm for cooperative trajectory planning of quadrotor swarms based on DMPC-ADMM, which employs differential flatness property to handle the complex dynamics of the quadrotor. Additionally, we design a relaxed form of DCBF constraint to balance feasibility and safety. Due to the non-convexity of the DCBF, we linearize the DCBF at each time step and use an iterative convex optimization scheme to solve it. Simulation results show that our method can generate safe and smooth trajectories while satisfying dynamics constraints. Compared with the centralized strategy and several other distributed strategies in terms of computation time, safety, and feasibility, our method is more suitable for the trajectory planning of large-scale quadrotor swarms. Furthermore, the effect of the designed event-triggered mechanism for reducing the communication overhead is also verified.
In future work, we will improve the event-triggered mechanism to enhance inter-quadrotor communication efficiency. It is also worth exploring how to improve the robustness of the algorithm considering the presence of uncertainties in practice, such as perceptual uncertainty, communication packet loss, and external perturbations. Additionally, considering that the trajectory planning framework presented in this paper is currently implemented synchronously, limiting its flexibility, we will develop an asynchronous implementation.

Author Contributions

Conceptualization, Y.Z. and P.Y.; methodology, Y.Z.; software, Y.Z.; validation, Y.Z., P.Y. and Y.H.; formal analysis, Y.Z.; investigation, Y.Z.; resources, Y.Z.; data curation, Y.Z.; writing—original draft preparation, Y.Z.; writing—review and editing, Y.Z., P.Y. and Y.H.; visualization, Y.Z.; supervision, P.Y. and Y.H.; project administration, P.Y.; funding acquisition, P.Y. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
UAVUnmanned Aerial Vehicle
MPCModel Predictive Control
ADMMAlternating Direction Multiplier Method
DCBFDiscrete-time CBF
MILPMixed Integer Linear Programming
MIQPMixed Integer Quadratic Programming
SCPSequential Convex Programming
ORCAOptimal Reciprocal Collision Avoidance
AGVAutonomous Guided Vessel
CMPCCentralized MPC
CVMPCConstant Velocity MPC
DMPCDistributed MPC
SymbolsDefinitions
z Flat state of the quadrotor, including position, velocity, acceleration, and yaw angle.
ζ Flat output of the quadrotor, including position and yaw angle.
v Flat input of the quadrotor, including the third-order derivatives of the position and yaw rate.
Δ dect Maximum distance that quadrotors can communicate.
N i Set of neighbors of quadrotor i.
O Set of obstacles.
Ω Dynamics constraint of the quadrotor.
HPrediction horizon of the optimization problem.
w i Duplicate of the trajectory ζ i .
w i j Duplicate of quadrotor i for the trajectory ζ j of quadrotor j.
Φ All the constraints in (12) except for inter-quadrotor collision avoidance.
D C B C i j Safety constraints between quadrotor i and quadrotor j.
D C B C i o Safety constraints between quadrotor i and obstacle o.

References

  1. Ryan, A.; Zennaro, M.; Howell, A.; Sengupta, R.; Hedrick, J.K. An overview of emerging results in cooperative UAV control. In Proceedings of the 2004 43rd IEEE Conference on Decision and Control (CDC), Nassau, Bahamas, 14–17 December 2004; Volume 1, pp. 602–607. [Google Scholar]
  2. Chen, W.; Liu, J.; Guo, H.; Kato, N. Toward robust and intelligent drone swarm: Challenges and future directions. IEEE Netw. 2020, 34, 278–283. [Google Scholar] [CrossRef]
  3. Lyu, Y.; Hu, J.; Chen, B.M.; Zhao, C.; Pan, Q. Multivehicle flocking with collision avoidance via distributed model predictive control. IEEE Trans. Cybern. 2019, 51, 2651–2662. [Google Scholar] [CrossRef] [PubMed]
  4. Aggarwal, S.; Kumar, N. Path planning techniques for unmanned aerial vehicles: A review, solutions, and challenges. Comput. Commun. 2020, 149, 270–299. [Google Scholar] [CrossRef]
  5. Bircher, A.; Kamel, M.; Alexis, K.; Oleynikova, H.; Siegwart, R. Receding horizon path planning for 3D exploration and surface inspection. Auton. Robot. 2018, 42, 291–306. [Google Scholar] [CrossRef]
  6. Tang, S.; Wüest, V.; Kumar, V. Aggressive flight with suspended payloads using vision-based control. IEEE Robot. Autom. Lett. 2018, 3, 1152–1159. [Google Scholar] [CrossRef]
  7. Madridano, Á.; Al-Kaff, A.; Martín, D.; de la Escalera, A. 3d trajectory planning method for uavs swarm in building emergencies. Sensors 2020, 20, 642. [Google Scholar] [CrossRef]
  8. Tanner, H.G.; Kumar, A. Towards decentralization of multi-robot navigation functions. In Proceedings of the 2005 IEEE International Conference on Robotics and Automation (ICRA), Barcelona, Spain, 18–22 April 2005; pp. 4132–4137. [Google Scholar]
  9. Fiorini, P.; Shiller, Z. Motion planning in dynamic environments using velocity obstacles. Int. J. Robot. Res. 1998, 17, 760–772. [Google Scholar] [CrossRef]
  10. Peng, M.; Meng, W. Cooperative obstacle avoidance for multiple UAVs using spline_VO method. Sensors 2022, 22, 1947. [Google Scholar] [CrossRef]
  11. Fox, D.; Burgard, W.; Thrun, S. The dynamic window approach to collision avoidance. IEEE Robot. Autom. Mag. 1997, 4, 23–33. [Google Scholar] [CrossRef]
  12. Čáp, M.; Novák, P.; Kleiner, A.; Seleckỳ, M. Prioritized planning algorithms for trajectory coordination of multiple mobile robots. IEEE Trans. Autom. Sci. Eng. 2015, 12, 835–849. [Google Scholar] [CrossRef]
  13. Busoniu, L.; Babuska, R.; De Schutter, B. A comprehensive survey of multiagent reinforcement learning. IEEE Trans. Syst. Man Cybern. Part C (Appl. Rev.) 2008, 38, 156–172. [Google Scholar] [CrossRef]
  14. Chen, Y.F.; Liu, M.; Everett, M.; How, J.P. Decentralized non-communicating multiagent collision avoidance with deep reinforcement learning. In Proceedings of the 2017 IEEE International Conference on Robotics and Automation (ICRA), Singapore, 29 May–3 June 2017; pp. 285–292. [Google Scholar]
  15. Mayne, D.Q. Model predictive control: Recent developments and future promise. Automatica 2014, 50, 2967–2986. [Google Scholar] [CrossRef]
  16. Zhu, H.; Alonso-Mora, J. Chance-constrained collision avoidance for mavs in dynamic environments. IEEE Robot. Autom. Lett. 2019, 4, 776–783. [Google Scholar] [CrossRef]
  17. Lindqvist, B.; Mansouri, S.S.; Agha-mohammadi, A.a.; Nikolakopoulos, G. Nonlinear MPC for collision avoidance and control of UAVs with dynamic obstacles. IEEE Robot. Autom. Lett. 2020, 5, 6001–6008. [Google Scholar] [CrossRef]
  18. Zeng, J.; Zhang, B.; Sreenath, K. Safety-critical model predictive control with discrete-time control barrier function. In Proceedings of the 2021 American Control Conference (ACC), New Orleans, LA, USA, 25–28 May 2021; pp. 3882–3889. [Google Scholar]
  19. Wang, L.; Ames, A.D.; Egerstedt, M. Safe certificate-based maneuvers for teams of quadrotors using differential flatness. In Proceedings of the 2017 IEEE International Conference on Robotics and Automation (ICRA), Singapore, 29 May–3 June 2017; pp. 3293–3298. [Google Scholar]
  20. Endo, M.; Ibuki, T.; Sampei, M. Collision-free formation control for quadrotor networks based on distributed quadratic programs. In Proceedings of the 2019 American Control Conference (ACC), Philadelphia, PA, USA, 10–12 July 2019; pp. 3335–3340. [Google Scholar]
  21. Ma, H.; Chen, J.; Eben, S.; Lin, Z.; Guan, Y.; Ren, Y.; Zheng, S. Model-based constrained reinforcement learning using generalized control barrier function. In Proceedings of the 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Prague, Czech Republic, 27 September–1 October 2021; pp. 4552–4559. [Google Scholar]
  22. Mellinger, D.; Kumar, V. Minimum snap trajectory generation and control for quadrotors. In Proceedings of the 2011 IEEE International Conference on Robotics and Automation (ICRA), Shanghai, China, 9–13 May 2011; pp. 2520–2525. [Google Scholar]
  23. Zhou, D.; Schwager, M. Vector field following for quadrotors using differential flatness. In Proceedings of the 2014 IEEE International Conference on Robotics and Automation (ICRA), Hong Kong, China, 31 May–7 June 2014; pp. 6567–6572. [Google Scholar]
  24. Mellinger, D.; Kushleyev, A.; Kumar, V. Mixed-integer quadratic program trajectory generation for heterogeneous quadrotor teams. In Proceedings of the 2012 IEEE International Conference on Robotics and Automation (ICRA), Saint Paul, MN, USA, 14–18 May 2012; pp. 477–483. [Google Scholar]
  25. Augugliaro, F.; Schoellig, A.P.; D’Andrea, R. Generation of collision-free trajectories for a quadrocopter fleet: A sequential convex programming approach. In Proceedings of the 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, Vilamoura-Algarve, Portugal, 7–12 October 2012; pp. 1917–1922. [Google Scholar]
  26. Preiss, J.A.; Hönig, W.; Ayanian, N.; Sukhatme, G.S. Downwash-aware trajectory planning for large quadrotor teams. In Proceedings of the 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, 24–28 September 2017; pp. 250–257. [Google Scholar]
  27. Christofides, P.D.; Scattolini, R.; de la Pena, D.M.; Liu, J. Distributed model predictive control: A tutorial review and future research directions. Comput. Chem. Eng. 2013, 51, 21–41. [Google Scholar] [CrossRef]
  28. Negenborn, R.R.; De Schutter, B.; Hellendoorn, J. Multi-agent model predictive control for transportation networks: Serial versus parallel schemes. Eng. Appl. Artif. Intell. 2008, 21, 353–366. [Google Scholar] [CrossRef]
  29. Borrelli, F.; Keviczky, T.; Balas, G.J. Collision-free UAV formation flight using decentralized optimization and invariant sets. In Proceedings of the 2004 43rd IEEE Conference on Decision and Control (CDC), Nassau, Bahamas, 14–17 December 2004; Volume 1, pp. 1099–1104. [Google Scholar]
  30. Arul, S.H.; Manocha, D. Dcad: Decentralized collision avoidance with dynamics constraints for agile quadrotor swarms. IEEE Robot. Autom. Lett. 2020, 5, 1191–1198. [Google Scholar] [CrossRef]
  31. Luis, C.E.; Vukosavljev, M.; Schoellig, A.P. Online trajectory generation with distributed model predictive control for multi-robot motion planning. IEEE Robot. Autom. Lett. 2020, 5, 604–611. [Google Scholar] [CrossRef]
  32. Boyd, S.; Parikh, N.; Chu, E.; Peleato, B.; Eckstein, J. Distributed optimization and statistical learning via the alternating direction method of multipliers. Found. Trends Mach. Learn. 2011, 3, 1–122. [Google Scholar] [CrossRef]
  33. Halsted, T.; Shorinwa, O.; Yu, J.; Schwager, M. A survey of distributed optimization methods for multi-robot systems. arXiv 2021, arXiv:2103.12840. [Google Scholar]
  34. Zheng, H.; Negenborn, R.R.; Lodewijks, G. Robust distributed predictive control of waterborne AGVs—A cooperative and cost-effective approach. IEEE Trans. Cybern. 2017, 48, 2449–2461. [Google Scholar] [CrossRef]
  35. Chen, L.; Hopman, H.; Negenborn, R.R. Distributed model predictive control for vessel train formations of cooperative multi-vessel systems. Transp. Res. Part C Emerg. Technol. 2018, 92, 101–118. [Google Scholar] [CrossRef]
  36. Rey, F.; Pan, Z.; Hauswirth, A.; Lygeros, J. Fully decentralized admm for coordination and collision avoidance. In Proceedings of the 2018 European Control Conference (ECC), Limassol, Cyprus, 12–15 June 2018; pp. 825–830. [Google Scholar]
  37. Hagenmeyer, V.; Delaleau, E. Exact feedforward linearization based on differential flatness. Int. J. Control 2003, 76, 537–556. [Google Scholar] [CrossRef]
  38. Greeff, M.; Schoellig, A.P. Flatness-based model predictive control for quadrotor trajectory tracking. In Proceedings of the 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, 1–5 October 2018; pp. 6740–6745. [Google Scholar]
  39. Zhang, Z.; Yang, S.; Xu, W. Decentralized ADMM with compressed and event-triggered communication. Neural Netw. 2023, 165, 472–482. [Google Scholar] [CrossRef] [PubMed]
  40. Liu, Y.; Xu, W.; Wu, G.; Tian, Z.; Ling, Q. Communication-censored ADMM for decentralized consensus optimization. IEEE Trans. Signal Process. 2019, 67, 2565–2579. [Google Scholar] [CrossRef]
  41. Dai, X.; Ke, C.; Quan, Q.; Cai, K.Y. RFlySim: Automatic test platform for UAV autopilot systems with FPGA-based hardware-in-the-loop simulations. Aerosp. Sci. Technol. 2021, 114, 106727. [Google Scholar] [CrossRef]
  42. Mueller, M.W.; D’Andrea, R. A model predictive controller for quadrocopter state interception. In Proceedings of the 2013 European Control Conference (ECC), Zurich, Switzerland, 17–19 July 2013; pp. 1383–1389. [Google Scholar]
  43. Stellato, B.; Banjac, G.; Goulart, P.; Bemporad, A.; Boyd, S. OSQP: An operator splitting solver for quadratic programs. Math. Program. Comput. 2020, 12, 637–672. [Google Scholar] [CrossRef]
  44. Lofberg, J. YALMIP: A toolbox for modeling and optimization in MATLAB. In Proceedings of the 2004 IEEE International Conference on Robotics and Automation (ICRA), Taipei, Taiwan, 2–4 September 2004; pp. 284–289. [Google Scholar]
Figure 1. Illustration of the trajectory planning based on DMPC-ADMM for a quadrotor swarm in a crowded environment.
Figure 1. Illustration of the trajectory planning based on DMPC-ADMM for a quadrotor swarm in a crowded environment.
Sensors 24 00707 g001
Figure 2. Centralized design (left) vs. our distributed design (right) for cooperative trajectory planning of quadrotor swarms.
Figure 2. Centralized design (left) vs. our distributed design (right) for cooperative trajectory planning of quadrotor swarms.
Sensors 24 00707 g002
Figure 3. DCBF-based collision avoidance between quadrotor i and quadrotor j. The black solid arrows indicate the positions at the identical global time. The boundaries of the DCBF are defined by the corresponding constraints to prevent the quadrotors from approaching each other too fast.
Figure 3. DCBF-based collision avoidance between quadrotor i and quadrotor j. The black solid arrows indicate the positions at the identical global time. The boundaries of the DCBF are defined by the corresponding constraints to prevent the quadrotors from approaching each other too fast.
Sensors 24 00707 g003
Figure 4. Structure of the event detector.
Figure 4. Structure of the event detector.
Sensors 24 00707 g004
Figure 5. Generated trajectories of ten quadrotors (solid dots in different colors) cross a finite space with obstacles using our method (DMPC-ADMM).
Figure 5. Generated trajectories of ten quadrotors (solid dots in different colors) cross a finite space with obstacles using our method (DMPC-ADMM).
Sensors 24 00707 g005
Figure 6. Generated trajectories of ten quadrotors (solid dots in different colors) cross a finite space with obstacles using CMPC.
Figure 6. Generated trajectories of ten quadrotors (solid dots in different colors) cross a finite space with obstacles using CMPC.
Sensors 24 00707 g006
Figure 7. Simulation results of ten quadrotors cross a finite space with obstacles using our method (left) and CMPC (right). (a,b) Velocity variations. (c,d) Distance between quadrotors and obstacles (Only distance statistics within 6 m are shown). (e,f) Distance among quadrotors (Only distance statistics within 6 m are shown). The red dashed lines represent the maximum velocity v m a x = 3 m / s , the minimum velocity v m i n = 3 m / s , the safe distance between quadrotors and obstacles d i o , s a f e = 0.2 m , and the safe distance among quadrotors d i j , s a f e = 0.4 m , respectively.
Figure 7. Simulation results of ten quadrotors cross a finite space with obstacles using our method (left) and CMPC (right). (a,b) Velocity variations. (c,d) Distance between quadrotors and obstacles (Only distance statistics within 6 m are shown). (e,f) Distance among quadrotors (Only distance statistics within 6 m are shown). The red dashed lines represent the maximum velocity v m a x = 3 m / s , the minimum velocity v m i n = 3 m / s , the safe distance between quadrotors and obstacles d i o , s a f e = 0.2 m , and the safe distance among quadrotors d i j , s a f e = 0.4 m , respectively.
Sensors 24 00707 g007
Figure 8. Simulation results of eight quadrotors (solid dots in different colors) exchanging positions flight using our method (left) and CMPC (right). (a,b) Overall view of the trajectories. (c,d) Side view of the trajectories. (e,f) Velocity variations. (g,h) Distance among quadrotors (Only distance statistics within 6 m are shown). The red dashed lines represent the maximum velocity v m a x = 3 m / s , the minimum velocity v m i n = 3 m / s , and the safe distance among quadrotors d i j , s a f e = 0.4 m , respectively.
Figure 8. Simulation results of eight quadrotors (solid dots in different colors) exchanging positions flight using our method (left) and CMPC (right). (a,b) Overall view of the trajectories. (c,d) Side view of the trajectories. (e,f) Velocity variations. (g,h) Distance among quadrotors (Only distance statistics within 6 m are shown). The red dashed lines represent the maximum velocity v m a x = 3 m / s , the minimum velocity v m i n = 3 m / s , and the safe distance among quadrotors d i j , s a f e = 0.4 m , respectively.
Sensors 24 00707 g008
Figure 9. Simulation results of eight quadrotors (solid dots in different colors) exchanging positions flight using CVMPC (left) and DMPC (right). (a,b) Overall view of the trajectories. (c,d) Side view of the trajectories. (e,f) Velocity variations. (g,h) Distance among quadrotors (Only distance statistics within 6 m are shown). The red dashed lines represent the maximum velocity v m a x = 3 m / s , the minimum velocity v m i n = 3 m / s , and the safe distance among quadrotors d i j , s a f e = 0.4 m , respectively.
Figure 9. Simulation results of eight quadrotors (solid dots in different colors) exchanging positions flight using CVMPC (left) and DMPC (right). (a,b) Overall view of the trajectories. (c,d) Side view of the trajectories. (e,f) Velocity variations. (g,h) Distance among quadrotors (Only distance statistics within 6 m are shown). The red dashed lines represent the maximum velocity v m a x = 3 m / s , the minimum velocity v m i n = 3 m / s , and the safe distance among quadrotors d i j , s a f e = 0.4 m , respectively.
Sensors 24 00707 g009
Figure 10. Generated trajectories of multiple quadrotors (solid dots in different colors) exchanging positions flight using our method (DMPC-ADMM). (a) Two quadrotors. (b) Four quadrotors. (c) Sixteen quadrotors.
Figure 10. Generated trajectories of multiple quadrotors (solid dots in different colors) exchanging positions flight using our method (DMPC-ADMM). (a) Two quadrotors. (b) Four quadrotors. (c) Sixteen quadrotors.
Sensors 24 00707 g010
Figure 11. Comparison of communication ratio and computation time before and after adding the event-triggered mechanism.
Figure 11. Comparison of communication ratio and computation time before and after adding the event-triggered mechanism.
Sensors 24 00707 g011
Table 2. Parameters setting.
Table 2. Parameters setting.
ParametersValuesParametersValues
H15P 50 · I 10
T s 0.08 sQ 50 · I 10
γ i o , γ i j 0.6 R 1 · I 4
r0.2 mS 1 · I 4
Δ dect 20 m ϵ a b s , ϵ 1 , ϵ 2 0.01
ρ 1 d m a x 50
α 1 × 10 8 l m a x 20
Table 3. Comparison of the simulation results of the four methods for ten quadrotors cross a finite space with obstacles. The safe distance among quadrotors is d i j , s a f e = 0.4 m and the safe distance between quadrotors and obstacles is d i o , s a f e = 0.2 m .
Table 3. Comparison of the simulation results of the four methods for ten quadrotors cross a finite space with obstacles. The safe distance among quadrotors is d i j , s a f e = 0.4 m and the safe distance between quadrotors and obstacles is d i o , s a f e = 0.2 m .
Coordination StrategyTrajectory Length (m) d ij , min (m) d io , min (m)Av. comp_time (ms)
min max av. std.
CMPC44.0944.4144.280.121.040.22546.6
CVMPC44.1144.8744.440.221.220.1557.6
DMPC44.1844.6744.420.191.120.1747.1
MPC-ADMM (ours)44.0944.5544.300.141.130.217.7
Table 4. Comparison of the simulation results of the four methods for eight quadrotors exchanging positions flight. The safe distance among quadrotors is d i j , s a f e = 0.4 m .
Table 4. Comparison of the simulation results of the four methods for eight quadrotors exchanging positions flight. The safe distance among quadrotors is d i j , s a f e = 0.4 m .
Coordination StrategyTrajectory Length (m) d ij , min (m)Av. comp_time (ms)
min max av. std.
CMPC12.1412.4112.220.090.45293.7
CVMPC12.1712.6812.450.200.1573.7
DMPC12.0813.0712.450.300.2874.8
MPC-ADMM (ours)12.0612.6212.300.210.4816.1
Table 5. Comparison of the four methods in terms of average computation time (Av), collision probability (Cp), and feasibility (Fea) in Scenario 2.
Table 5. Comparison of the four methods in terms of average computation time (Av), collision probability (Cp), and feasibility (Fea) in Scenario 2.
Coordination Strategy2 Quadrotors4 Quadrotors8 Quadrotors16 Quadrotors
Av (ms) Cp (%) Fea Av (ms) Cp (%) Fea Av (ms) Cp (%) Fea Av (ms) Cp (%) Fea
CMPC12.20Yes61.90Yes293.70Yes1301.93Yes
CVMPC24.10Yes47.513Yes73.756No104.185No
DMPC23.60Yes40.20Yes74.821Yes101.359No
MPC-ADMM (ours)3.50Yes6.00Yes16.12Yes44.48Yes
Table 6. Performance comparison of our algorithm for eight quadrotors exchanging positions flight at different hyperparameter γ i j , maximum velocity v m a x (m/s) and maximum acceleration a m a x ( m / s 2 ) . The safe distance among quadrotors is d i j , s a f e = 0.4 m .
Table 6. Performance comparison of our algorithm for eight quadrotors exchanging positions flight at different hyperparameter γ i j , maximum velocity v m a x (m/s) and maximum acceleration a m a x ( m / s 2 ) . The safe distance among quadrotors is d i j , s a f e = 0.4 m .
ParametersTrajectory Length (m) d ij , min (m)Av. comp_time (ms)
min max av. std.
γ i j = 0.4 , v m a x = 3 , a m a x = 1 12.0712.5812.300.200.6216.4
γ i j = 0.6 , v m a x = 3 , a m a x = 1 12.0612.6212.300.210.4816.1
γ i j = 0.8 , v m a x = 3 , a m a x = 1 12.0512.4312.240.140.4714.4
γ i j = 1.0 , v m a x = 3 , a m a x = 1 12.0312.4912.180.150.4110.2
γ i j = 0.6 , v m a x = 5 , a m a x = 1 12.0712.8312.320.250.5615.4
γ i j = 0.6 , v m a x = 7 , a m a x = 1 12.0912.8912.330.270.5116.7
γ i j = 0.6 , v m a x = 5 , a m a x = 2 12.1213.1212.570.350.5316.2
γ i j = 0.6 , v m a x = 5 , a m a x = 4 12.6713.2712.950.250.6012.7
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zhang, Y.; Yi, P.; Hong, Y. Cooperative Safe Trajectory Planning for Quadrotor Swarms. Sensors 2024, 24, 707. https://doi.org/10.3390/s24020707

AMA Style

Zhang Y, Yi P, Hong Y. Cooperative Safe Trajectory Planning for Quadrotor Swarms. Sensors. 2024; 24(2):707. https://doi.org/10.3390/s24020707

Chicago/Turabian Style

Zhang, Yahui, Peng Yi, and Yiguang Hong. 2024. "Cooperative Safe Trajectory Planning for Quadrotor Swarms" Sensors 24, no. 2: 707. https://doi.org/10.3390/s24020707

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop