Open Access
This article is

- freely available
- re-usable

*Appl. Sci.*
**2019**,
*9*(10),
1986;
https://doi.org/10.3390/app9101986

Article

A Hierarchical Mission Planning Method for Simultaneous Arrival of Multi-UAV Coalition

^{1}

National Key Laboratory of Special and Technology on UAV, Northwestern Polytechnical University, Xi’an 710065, China

^{2}

School of Astronautics, Northwestern Polytechnical University, Xi’an 710072, China

^{3}

UAV Research Institute, Northwestern Polytechnical University, Xi’an 710065, China

^{4}

School of Aeronautics, Northwestern Polytechnical University, Xi’an 710072, China

^{*}

Author to whom correspondence should be addressed.

Received: 31 March 2019 / Accepted: 13 May 2019 / Published: 15 May 2019

## Abstract

**:**

## Featured Application

**Cooperative task allocation and path planning problems of multi-UAV are becoming more and more important. The proposed mission planning method can be easily applied to some civilian scenarios, such as multi-UAV cooperative forest fire fighting and some military scenarios.**

## Abstract

A hierarchical mission planning method was proposed to solve a simultaneous attack mission planning problem for multi-unmanned aerial vehicles (UAVs). The method consisted of three phases aiming to decouple and solve the mission planning problem. In the first phase, the Pythagorean hodograph (PH) curve was used in the path estimation process for each UAV, which also served as the input for the task allocation process. In the second phase, a task allocation algorithm based on a negotiation mechanism was proposed to assign the targets. Considering the resource requirement, time-dependent value of targets and resource consumption of UAVs, the proposed task allocation algorithm can generate a feasible allocation strategy and get the maximum system utility. In the last phase, a path planning method was proposed to generate a simultaneous arrival PH path for each UAV considering UAV’s kinematic constraint and collision avoidance with obstacles. The comparison simulations showed that the path estimation process using the PH curve and the proposed task allocation algorithm improved the system utility, and the hierarchical mission planning method has potential in a real mission.

Keywords:

mission planning; task allocation; multi-UAV; Pythagorean hodograph## 1. Introduction

Over the last decades, unmanned aerial vehicles (UAVs) have been widely used in a large range of applications, such as environmental monitoring [1], searching and attacking [2], forest fire fighting [3] and so on. Due to the capability limitation of a single UAV, multiple UAVs working together in coordination are expected to perform more complex missions under various types of attack [4]. For example, multiple UAVs can accomplish an attack mission much better than a single UAV when those UAVs arrive simultaneously to the target.

Two main aspects in multi-UAV attack mission are task allocation and path planning. The complexity of these problems increases with the number of UAVs and tasks. In addition, in some specific scenarios, the imposed constraints, such as resource requirement, collision avoidance and simultaneous arrival constraints further increase the complexity of those problems.

Many researchers treated the task allocation and path planning as two sub-problems separately in the in multi-UAV attack mission, they use a centralized or distributed approach to obtain a feasible task allocation strategy and then use path planning algorithms to generate feasible paths for UAVs. Sharma et al. [5] proposed a cooperative ad-hoc network framework for multi-UAV using a neural network, cooperative task allocation and path planning algorithms can be used in the framework in different applications. Yao et al. [6] developed an iterative mission planning framework for the task allocation and path planning problems, an improved auction algorithm with an iterative strategy was proposed in the task allocation process. When multi-UAV is used to perform multi-task, the task allocation and path planning process are coupled [7], as the performance of task allocation depends on an accurate path length of UAVs, and the path planning depends on the UAV’s task allocation results.

To solve the coupled task allocation and path planning problems, there are two main ways. In the first class of methods, Euclidean distance between UAVs and targets is seen as the input in the task allocation process [8,9]. After obtaining the feasible allocation results, the path planning process is used to generate flyable and safe paths/trajectories for UAVs considering a variety of constraints. However, the length of the generated paths/trajectories are quite different from the Euclidean distance, especially when there are obstacles in the environment. This deviation will result in poor quality of solutions obtained in the task allocation process. The second method considers the task allocation and path planning process as an integrated optimization problem, and encoding the solution of the coupled problem, genetic-based [10,11] and decision tree [12] algorithms are usually used. However, simultaneously solving task allocation and path planning needs a large amount of computation.

The presented task allocation studies above assume each target can be performed by single UAV and the resources of UAVs do not deplete. However, in a real situation, some targets may need a variety of resources and should be performed by multi-UAV simultaneously, such as for a simultaneous attacking mission, multiple UAVs are required to reach the target simultaneously with a different entry angle to maximize the mission performance. This problem can be called the single-task, multi-robot (ST-MR) problem according to the taxonomy criteria proposed by Gerkey et al. [13]. The ST-MR problem is also known as the coalition formation problem [14], a coalition means a team of UAVs performing the same target.

To solve the coalition formation problem for multiple UAVs performing multi-target, two distributed sub-optimal coalition formation algorithms were proposed to form coalition with minimum time and size to destroy targets simultaneously [15,16]. In a search and destroy mission for multiple UAVs, a welfare-based coalition formation algorithm for heterogeneous UAVs was presented by Kim et al. [17], the UAVs use resources in a balanced manner to improve the system’s robustness in the dynamic and uncertain environment. However, the works cited above assume that only the UAV performing a search task can send a bid to form a coalition, they do not consider the overlapping coalitions, which will decrease the mission performance. For the cooperative task allocation and rendezvous problems, Sharma et al. [18] proposed a global optimization algorithm inspired by the biological features of the hill Myna and desert Sparrow, the algorithm can be applied to ad-hoc networks in various applications. For the overlapping coalitions problem, Oh et al. [19] proposed two distributed coalition formation algorithms for multi-UAV based on the contract net protocol, the sequence of UAVs and pop-up tasks are considered in the dynamic environment with limited communication range. The studies cited above do not take into account the obstacles and no-fly-zones in the environment, which significantly limits the application of the coupled task allocation and path planning algorithm.

To maximize the system performance, the paths for the UAVs in the same coalition should satisfy simultaneous arrival as well as some other constraints, such as the kinematic constraint of a UAV and collision avoidance with obstacles. For the simultaneous arrival problem (also called rendezvous problem), the velocity-based [20,21] method has been used. The simultaneous arrival problem of multiple UAVs is addressed by a velocity control approach [20], the UAVs communicate with each other to make a consensus on the estimated time of arrival. A distributed optimization algorithm based on game theory [21] was proposed for a UAV rendezvous problem, each UAV adjusts its velocity according to the states of its neighbors in a predefined time interval. However, this method is easy to cause velocity saturation [22] and a large amount of communication is required. Some other studies [7,23] assume all the UAVs fly at the same and constant speed, so the simultaneous arrival for multi-UAV can be achieved by planning paths of equal length. In our previous work, a cooperative particle swarm optimization (CPSO) algorithm is proposed to generate Pythagorean hodograph (PH) paths of equal length for each UAV. However, the task sequence of UAVs is not considered.

In this paper, the focus is on the coupled task allocation and path planning problems for multi-UAV performing simultaneous arrival tasks. Considering the target’s resource requirement, simultaneous arrival, time-dependent values of targets, resource consumption of UAVs and collision avoidance with obstacles. A hierarchical mission planning method is proposed to solve the coupled task allocation and path planning problem for a multi-UAV performing a multi-task, which is also the contribution of this paper. The method consists of three phases. In the first phase, the PH curve is calculated as the estimated path for each UAV, which can provide a more accurate input for the task allocation process. Then, a task allocation algorithm is proposed to form a coalition for each target considering the task sequence of UAVs and the resource requirement of targets. Finally, the path planning process generates the flyable and safe paths for the fixed-wing UAVs in the same coalition to realize the simultaneous arrival.

The rest of this paper is organized as follows: In Section 2, a description of the multi-UAV cooperative attacking problem is given. Section 3 describe the task allocation method for multi-UAV. In Section 4, path planning method to achieve simultaneous arrival is presented. Experimental results are shown in Section 5. In Section 6, the conclusions are given.

## 2. Description of the Multi-UAV Cooperative Attack Problem

The problem considered in this study consists of assigning a fleet of heterogeneous UAVs to a set of targets. At the initial time, there are some targets in the environment, it is assumed the information of these targets are known at the initial time. The UAVs are required to attack the targets.

In this paper, the UAVs and targets are modeled based on their resources. Each target may need a coalition of UAVs. According to the information of the targets and UAVs, the appropriate UAVs are allocated to each target. In order to maximize the system performance, the UAVs performing the same target are required to arrive to the target simultaneously. Then, the path planning process is used to generate simultaneous arrival paths for the UAVs in the same coalition. The resource requirement and simultaneous arrival of targets, the UAV’s kinematic constraints and collision avoidance with obstacles are taken into account.

In this study, some assumptions were made to simplify the problem:

- For simplicity, the take-off and landing process of UAVs were not taken into account, the collision avoidance among UAVs were achieved by altitude layering.
- In the task allocation process, the communication topology remained unchanged.
- The aerodynamic and attitude of UAVs were not considered.
- The obstacles and targets considered in this paper were static.

#### 2.1. Targets and UAVs

Let $T=\{{T}_{1},{T}_{2},\dots ,{T}_{M}\}$ be the set of $M$ stationary targets, it is assumed that the information of targets is known at the initial time. Each target requires m-different types of resources, the resource requirement of target ${T}_{j}$ can be expressed as Equation (1), for example, ${R}^{{T}_{j}}=(3,3,2)$ denotes that there are three types of resources required to destroy target ${T}_{j}$ and the required amount of each resource is 3, 3 and 2, respectively.

$${R}^{{T}_{j}}=({R}_{1}^{{T}_{j}},{R}_{2}^{{T}_{j}},\dots ,{R}_{m}^{{T}_{j}}),\text{}j=1,\dots ,M$$

Let $Value=(Valu{e}_{1},\dots ,Valu{e}_{M})$ be the set of values of the targets at the initial time, the value of targets decreases with time as follows:
where $\beta >0$ is a user-defined coefficient, which denotes the descent rate of the target’s value. ${t}_{j}$ is the time of arrival of the UAV coalition assigned to attack the target ${T}_{j}$.

$$rewar{d}_{j}=Valu{e}_{j}\cdot {e}^{-\beta {t}_{j}}$$

Let $U=({U}_{1},{U}_{2},\dots ,{U}_{N})$ be the set of $N$ heterogeneous UAVs. The heterogeneity of UAVs is reflected in their different dynamic characteristics and the amount of resources as shown below:

$${R}^{{U}_{i}}=({R}_{1}^{{U}_{i}},{R}_{2}^{{U}_{i}},\dots ,{R}_{m}^{{U}_{i}}),\text{}i=1,\dots ,N$$

It is assumed that all UAVs fly in a two-dimensional plane. The motion of UAV ${U}_{i}$ is governed by the following equation:
where $({x}_{i},{y}_{i})$ and ${\phi}_{i}$ represents the Cartesian coordinates and the heading angle of UAV ${U}_{i}$, respectively. ${V}_{i}$ and ${\omega}_{i}$ denote the velocity and turn rate, respectively. It is assumed that the UAVs fly at a constant and same velocity.

$$\left[\begin{array}{c}{\dot{x}}_{i}\\ {\dot{y}}_{i}\\ {\dot{\phi}}_{i}\end{array}\right]=\left[\begin{array}{cc}\mathrm{cos}{\phi}_{i}& 0\\ \mathrm{sin}{\phi}_{i}& 0\\ 0& 1\end{array}\right]\left[\begin{array}{c}{V}_{i}\\ {\omega}_{i}\end{array}\right]$$

The control input for each UAV can be described as: ${u}_{i}(t)={\omega}_{i}(t)$, which is subject to the constraints in Equation (5). ${R}_{\mathrm{min}}^{i}$ is the minimum turning radius of UAV ${U}_{i}$.

$${\omega}_{i}\le \left|{V}_{i}/{R}_{\mathrm{min}}^{i}\right|$$

In this paper, the UAVs were required to perform the attacking mission to the targets. The objective of the mission planning problem is to obtain the assignment strategy for each UAV to maximize the objective function and provide flyable and safe paths for these UAVs.

#### 2.2. Objective Function and Constraints

The objective of the task allocation problem is to assign the targets to the UAV team to obtain the maximum system utility. To satisfy the resource requirement of targets, there may be some UAVs forming a coalition to attack one target. The reward to destroy targets and the cost of the UAV coalitions were considered in the objective function, so, two criteria were selected to quantify the objective function of this mission planning problem: The reward to destroy targets and the cumulative path length of all the UAV coalitions. Thus, the objective function to be maximized is as follows:
where ${w}_{1},{w}_{2}$ respectively denotes the weights of the reward and cost. ${C}_{j}$ represents the UAV coalition assigned to attack the target ${T}_{j}$, $\left|{C}_{j}\right|$ denotes the number of UAVs in the coalition ${C}_{j}$, ${L}_{ij}$ denotes the path length from the initial location of UAV ${U}_{i}$ to the target ${T}_{j}$. Assuming ${A}^{(i)}$ is the task sequence of UAV ${U}_{i}$, tasks before ${T}_{j}$ should be considered in calculating ${L}_{ij}$. ${t}_{j}$ is the estimated time of arrival (ETA) of the latest UAV in the coalition assigned to the target ${T}_{j}$:

$$J={\displaystyle \sum _{j=1}^{M}(}{w}_{1}\times Valu{e}_{j}\times {e}^{-\beta {t}_{j}}-{w}_{2}\times {\displaystyle \sum _{i=1}^{\left|{C}_{j}\right|}{L}_{ij})}$$

$${t}_{j}=\underset{i\in {C}_{j}}{\mathrm{max}}(ETA(i,j))$$

The constraints considered in this paper can be categorized into UAV-related constraints, target-related constraints and environment-related constraints.

(1) UAV-related constraints

First of all, UAVs have limited fuel, so a maximum flying distance constraint should be satisfied:
where $L({A}^{(i)})$ is the total path length of UAV ${U}_{i}$, ${L}_{\mathrm{max}}^{i}$ denotes the maximum flight distance of UAV ${U}_{i}$.

$$L({A}^{(i)})\le {L}_{\mathrm{max}}^{i},\text{}i=1,\dots ,N$$

Each UAV can carry limited resources that deplete with use, so each UAV cannot consume more resources than it carries.
where $R({A}^{(i)})$ represents the total resource consumption for performing the targets assigned to ${U}_{i}$.

$$R({A}^{(i)})\le {R}^{{U}_{i}}$$

A flyable curve [24] is required to satisfy the UAV’s kinematic constraint. In a two-dimensional plane, a curve is determined by its curvature. Let ${\kappa}_{i}(q)$ be the curvature of UAV ${U}_{i}$ at point $q$, the curvature of the path should be continuous and bounded as follows:

$${\kappa}_{i}(q)\le 1/{R}_{\mathrm{min}}^{i}$$

(2) Target-related constraints

Each target is required to be performed by a UAV coalition simultaneously, and the resource requirement should be satisfied:

$$({\displaystyle \sum _{U\in {C}_{j}}{R}_{p}^{U})\ge {R}_{p}^{{T}_{j}},\text{}p=1,\dots ,m;\text{}j=1,\dots M}$$

(3) Environment-related constraints

Let $\mathrm{\Omega}$ be the two-dimensional space in which UAVs fly. Let $\mathrm{\Theta}$ denote the set of obstacles in the environment. The collision avoidance between UAVs and obstacles must be satisfied:

$$(x(t),y(t))\cap \mathrm{int}(\mathrm{\Theta})=\varnothing $$

(4) Simultaneous arrival constraints

According to the resource model, each target may need a coalition of UAVs. To maximize the system performance, the UAVs in the same coalition are required to arrive to the target simultaneously as follows:
where ${U}_{i}$ and ${U}_{l}$ are two different UAVs in coalition ${C}_{j}$, ${T}_{j}$ is the target assigned to the coalition ${C}_{j}$.

$${t}_{i,j}^{path}={t}_{l,j}^{path},\text{}i,l\in \{1,\dots ,\left|{C}_{j}\right|\};i\ne l$$

Thus, the mission planning problem was provided as the objective function (Equation (6)) with constraints (Equations (8)–(13))

## 3. Task Allocation

#### 3.1. Framework of the Mission Planning Method

Inspired by the hierarchical control framework [25,26,27] of a multi-UAV system. The mission planning method was divided into three layers in this paper, as shown in Figure 1. The first layer was the path estimation process, a Particle Swarm Optimization-based method (shown in Section 4.2) was employed to generate a PH path for each UAV as an estimated path. The length of the estimated path was seen as the input for the task allocation process, the estimated path was used to decouple the task allocation and path planning problems. In the second layer, the task allocation process assigned targets to UAVs that optimized the system performance. A task allocation algorithm was proposed to assign the targets. In the task allocation process, the resource requirement of targets, resource consumption and task sequence of UAVs were taken into account. In the last layer, according to the task allocation strategy, a path planning method was proposed to generate flyable and safe paths for the UAVs considering the task sequence of each UAV. In this layer, the simultaneous arrival, UAV’s kinematic and collision avoidance constraints were considered (detailed explanation can be found in Section 4.3). Finally, a path following process was used to generate the control signals for the UAV team. As the path following was not the focus of this paper, a path following method based on the nonlinear model predictive control [28] (NMPC) was used to track the generated PH paths.

#### 3.2. Task Allocation Algorithm

The task allocation process defined in Section 2.2 is a Non-deterministic Polynomial hard problem. With the increasing size of the problem, the computational complexity will be increased sharply. It will be time-consuming and even impossible to obtain the optimal solution. In order to obtain a feasible solution within a reasonable time, in this paper, the task allocation algorithm assigns the most profitable target in each allocation round. In each allocation round, each UAV selects the most beneficial target to itself. Then, if there is a conflict among different UAVs, a consensus mechanism is used. The resource requirement of targets and task sequence of UAVs were considered. As mentioned above, the task allocation and path planning were coupled. In this paper, the path estimation process using the PH curve was used to decouple these two problems. The proposed task allocation algorithm based on a negotiation mechanism is presented as Algorithm 1.

Algorithm 1. Task allocation algorithm |

Input:$T$: The set of targets and initial states; ${R}^{{T}_{j}},j=1,\dots ,M$: Resource requirement of targets; $U$: The set of UAVs and initial states; ${R}^{{U}_{i}},i=1,\dots ,N$: Resources of UAVs; Output:$A$: The allocation matrix of the UAV team1: for$k=1:M$do2: for ${U}_{i},i=1,\dots ,N$ do3: for $j=1$ to the number of unallocated targets 4: calculate estimated reward for ${U}_{i}$ performing target ${T}_{j}$ 5: end for 6: select the pre-allocated target for ${U}_{i}$ 7: end for 8: consensus on pre-allocated target in this allocation round and select the manger UAV 9: ${C}_{j}\leftarrow $ coalition_formation $({U}_{j}^{P},V{a}_{j},{R}^{{T}_{j}})$ ---Algorithm 2 10: the UAVs in the coalition ${C}_{j}$ add the target ${T}_{j}$ into their task sequence 11: calculate resource consumption for UAVs in the coalition ${C}_{j}$ 12: cooperative path planning for simultaneous arrival to target ${T}_{j}$ ---Section 4 13: end for |

There were $M$ targets at the initial time, each allocation round would assign one target (Line 1, Algorithm 1). Then, the estimated reward to perform all unallocated targets was calculated for each UAV using Equation (14; Line 4, Algorithm 1). Considering the task sequence of a UAV, the ETA of the UAV ${U}_{i}$ to the target ${T}_{j}$ can be represented as Equation (15).
where ${A}^{(i)}$ is the task sequence of the UAV ${U}_{i}$, if ${A}^{(i)}=\varnothing $, which denotes there is no target assigned to the UAV ${U}_{i}$, then ${L}_{ij}^{e}$ is the estimated path length between the current location of the UAV ${U}_{i}$ to target ${T}_{j}$, which can be obtained in the path estimation process (Section 4.2). Otherwise, there has been some targets assigned to the UAV ${U}_{i}$, these assigned targets should be considered in calculating the $ETA(i,j)$. Assuming the last target in the task sequence of UAV ${U}_{i}$ is the target ${T}_{m}$, the ETA from UAV ${U}_{i}$ to the target ${T}_{j}$ can be divided into two parts. The first part is the accurate path length of the assigned targets ${L}_{im}^{before}$, which can be obtained by the path planning process (Section 4.3) in the previous allocation round; the second part ${L}_{ij}^{e}$ is the estimated path length from the target ${T}_{m}$ to ${T}_{j}$, which can be obtained in the path estimation process.

$$Reward(i,j)=Valu{e}_{j}\times {e}^{-\beta \cdot ETA(i,j)}$$

$$ETA(i,j)=\{\begin{array}{ll}{L}_{ij}^{e}/{V}_{i},& if\text{}{A}^{(i)}=\varnothing \\ {L}_{im}^{before}/{V}_{i}+{L}_{mj}^{e}/{V}_{i},& otherwise\end{array}$$

Then, the UAV ${U}_{i}$ selects the most appropriate target ${j}^{*}$ as its pre-allocated target (Line 6 Algorithm 1):
where ${M}^{\prime}$ represents the targets, which have not been assigned.

$${j}_{i}{}^{*}=\underset{j\in {M}^{\prime}}{\mathrm{arg}\mathrm{max}(Reward(i,j))}$$

After all the UAVs have computed their pre-allocated targets, there may be conflicts among UAVs. For example, more than one UAV selects the same target as their pre-allocated target. Here, a consensus algorithm [19] is employed for conflict resolution (Line 8, Algorithm 1). Each UAV achieves a consensus on the pre-allocated target by negotiating with others. The UAV with the highest estimated reward is seen as the manager UAV ${i}_{manager}$ using Equation (17), the corresponding pre-allocated target of the manager UAV is regarded as the target to be allocated in this allocation round.

$${i}_{manager}=\underset{i\in N}{\mathrm{arg}\mathrm{max}(Reward(i,{j}_{{}^{i}}^{*}))}$$

After the consensus process, every UAV knows the manger and the target to be allocated in this allocation round. Other UAVs, who have the required resource for the target are seen as the potential coalition members and will send applications to the manager UAV, the applications include their remaining resources and ETA. Then, the manager UAV uses algorithm 2 to determine the UAV coalition ${C}_{j}$ to perform the target to be assigned in this allocation round (for simplicity, expressed as ${T}_{j}$ in the following algorithm). Then, the UAVs in the coalition ${C}_{j}$ will augment the target into their task sequence (Line 10, Algorithm 1).

Algorithm 2. Select the coalition ${C}_{j}$ to perform target ${T}_{j}$ |

Input: Potential coalition members ${U}_{j}^{P}$, number of potential coalition member $n$, resource requirement ${R}^{{T}_{j}}$ of the target ${T}_{j}$, initial value of target $Valu{e}_{j}$.Output: The coalition ${C}_{j}$ to perform the target ${T}_{j}$1: for $k=1:n$ do2: calculate all the potential coalitions of size $k$ 3: for $m=1$ to the number of potential coalitions do4: $R(m)=$ total resources of the potential coalition $m$ 5: if $R(m)\ge {R}^{{T}_{j}}$6: ${C}_{feasible}\leftarrow $ append the potential coalition 7: end if 8: end for 9: if isempty $({C}_{feasible})$ 10: continue 11: else12: select the coalition ${C}_{j}$ which have the highest utility to perform target ${T}_{j}$ 13: end if14: end for |

The manager UAV and the applicants were regarded as the potential coalition members for the target ${T}_{j}$, they would form a list ${U}_{j}^{P}$. The coalition formation algorithm begins with finding all the feasible coalitions with sufficient resources and the minimum size (line 1–8, Algorithm 2). Then, the manager UAV selects the most appropriate coalition ${C}_{j}$ among all the feasible coalitions using Equation (18; Line 12, Algorithm 2). The utility for each coalition $c\in {C}_{feasible}$ is calculated using Equation (6).

$${C}_{j}=\underset{c\in {C}_{feasible}}{\mathrm{arg}\mathrm{max}(utility(c))}$$

Once the coalition ${C}_{j}$ is determined to perform the target ${T}_{j}$, the coalition members will calculate the resource consumption that satisfying the target’s resource requirement (Line 11, Algorithm 1). A greedy resource management method was used in this paper. Assuming the type-p resource requirement of target ${T}_{j}$ is ${R}_{p}^{{T}_{j}}$. The type-p resource consumption ${R}_{p}^{{U}_{k}}(\mathrm{cost})$ of UAV ${U}_{k}$ in the coalition ${C}_{j}$ can be represented as:
where ${U}_{b\_k}$ represents the UAVs before ${U}_{k}$, when elements in ${C}_{j}$ are arranged in descending order of reward.

$${R}_{p}^{{U}_{k}}(\mathrm{cost})=\{\begin{array}{ll}0,& if\text{}{\displaystyle \sum _{i\in {U}_{b\_k}}{R}_{p}^{{U}_{i}}}\ge {R}_{p}^{{T}_{j}}\\ \mathrm{min}({R}_{p}^{{T}_{j}}-{\displaystyle \sum _{i\in {U}_{b\_k}}{R}_{p}^{{U}_{i}}}),& otherwise\end{array}$$

After the calculation of resource consumption, the UAVs in the coalition ${C}_{j}$ update their remaining resources. Then, the simultaneous arrival paths for the UAVs in the coalition ${C}_{j}$ are generated by the path planning process (Section 4.3).

#### 3.3. Complexity Analysis of the Task Allocation Algorithm

Given the information of the operating environment and configurations, the proposed task allocation algorithm can provide solutions at low complexity. Assuming there are $N$ UAVs and $M$ targets in the environment. In Algorithm 1, each allocation round will assign one target, it requires $M$ allocation rounds to allocate all the targets. In each allocation round, step 2 in Algorithm 1 requires $N$ iterations. For step 3–5 in Algorithm 1, they undergo $M$ iterations for the worst case. The complexity for the consensus process [19] in Algorithm 1, step 8 is ${(N-1)}^{2}$ for the worst case. In Algorithm 2, at most $N$ elements are sorted, the complexity of the Algorithm 2 is $N\mathrm{log}(N)$. Summing up the numbers analyzed above in each allocation round, the complexity of the proposed task allocation algorithm in the worst case can be computed as $NM+{(N-1)}^{2}+N\mathrm{log}(N)$. For $M$ targets (line 1 in Algorithm 1), the complexity of the proposed task allocation algorithm in the worst case can be expressed as ${M}^{2}N+M{(N-1)}^{2}+MN\mathrm{log}(N)$.

## 4. Path Estimation and Simultaneous Arrival Path Planning

#### 4.1. Pythagorean Hodograph Curve

In this paper, the PH curve was used in the path estimation and path planning processes, so a brief overview of PH curve is stated here.

In the two-dimensional plane, the Pythagorean hodograph (PH) curve $r(q)=[x(q),y(q)]$, $q\in [0,1]$ is a parameterized polynomial curve whose hodographs ${x}^{\prime}(q),{y}^{\prime}(q)$ satisfy a Pythagorean condition:

$${{x}^{\prime}}^{2}(q)+{{y}^{\prime}}^{2}(q)={\sigma}^{2}(q)$$

The PH curve can also be expressed in the Bézier form of degree $n$:
where ${P}_{k}=({x}_{k},{y}_{k}),k=1,\dots ,n$ are control points. The length of a PH path parameterized with parameter $q$ is calculated by:

$$r(q)={\displaystyle \sum _{k=0}^{n}{C}_{n}^{k}{(1-q)}^{n-k}{q}^{k}{P}_{k}},\text{\hspace{1em}}q\in [0,1]$$

$$L(q)={\displaystyle {\int}_{{q}_{1}}^{{q}_{2}}\Vert \dot{r}(q)\Vert}\text{}dq$$

In order to obtain the PH curve with continuous curvature, the quantic PH curve was used as the path for each UAV in this paper. The theory and calculation method of the PH curve were not repeated here, relevant contents can be found in [29,30]. It should be noted that the kinematics constraint of a UAV is satisfied by bounding the curvature of the PH curve in a two-dimensional plane, so the maximum curvature on a flyable PH curve should satisfy:
where ${\kappa}_{\mathrm{max}}$ represents the maximum curvature of the UAV.

$$\mathrm{max}(\kappa (q))=\frac{\Vert {r}^{\prime}(q)\times {r}^{\u2033}(q)\Vert}{{\Vert r(q)\Vert}^{3}}\le {\kappa}_{\mathrm{max}}\text{},\text{\hspace{1em}}q\in [0,1]$$

When the position and attitude of the starting point and ending point are given, the shape of the PH curve is determined by the modulus of the direction vectors of the starting and ending points. Increasing the modulus value can reduce the curvature of the PH curve, but it will increase the length of the curve. Therefore, it is necessary to select the appropriate modulus values to make the generated PH curve satisfy the kinematics constraints of the UAV, obstacle avoidance and some other coordination constraint.

#### 4.2. Path Estimation

In the task allocation process, according to Equation (15), each UAV needs to calculate the ETA from its current location to the target. For the UAV ${U}_{i}$, if ${A}^{(i)}=\varnothing $, ${L}_{ij}^{e}$ needs to be estimated; otherwise, the ETA from the UAV ${U}_{i}$ to the target ${T}_{j}$ consists of two parts, the first part is the accurate path length of the assigned targets ${L}_{im}^{before}$ (can be obtained in Section 4.3), the second part ${L}_{mj}^{e}$ requires to be estimated, where ${T}_{m}$ denotes the last target that has been assigned to the UAV ${U}_{i}$. For both ${L}_{ij}^{e}$ and ${L}_{mj}^{e}$, they can be obtained directly by calculating the length of the PH curve from one point to another.

Assuming the starting and ending points are ${P}_{s}$ and ${P}_{f}$, the flyable and safe path from ${P}_{s}$ to ${P}_{f}$ can be obtained by a constraint optimization problem as follows:
where $x$ denotes the decision variable, the collision avoidance and curvature constraints are shown in the first and second constraint, respectively. $J(x)$ means the cost function to be minimized. In this paper, two criteria are selected to quantify the cost function, which are the length and the smoothness of the path as follows:
where $w\in [0,1]$ means the weight coefficient; ${J}_{length}$ represents the cost function of the path length. The length of the path is very important in the path planning process, the shorter path will save time and fuel. The length of the PH curve was used in this paper. ${J}_{smooth}$ denotes the cost function of the smoothness of the generated path, which can be expressed by the elastic energy of the generated PH curve [29].

$$\begin{array}{l}\mathrm{min}\text{\hspace{1em}}J(x)\\ s.t.\text{\hspace{1em}}Path\notin obstacles\\ \text{\hspace{1em}\hspace{1em}}\kappa (Path)\le {\kappa}_{\mathrm{max}}\end{array}$$

$$J=w\times {J}_{length}+(1-w)\times {J}_{smooth}$$

To the constraint optimization problem, the penalty function for violating the constraints can be represented as:
where ${P}_{J}$ is the penalty parameter for violating the collision avoidance or curvature constraint, in this paper, ${P}_{j}=100$.

$${J}^{\prime}(x)={P}_{J}\times J$$

As mentioned above, a PH curve can be determined by the modulus values of the direction vectors of the starting and ending points, which are represented as ${h}_{0}$ and ${h}_{1}$, respectively. In this paper, A PSO-based algorithm was designed to solve the constraint optimization problem.

First, the initial position and velocity of each particle is initialized as ${z}_{i}=({h}_{i,0},{h}_{i,1})$ and ${v}_{i}=({v}_{i,0},{v}_{i,1})$, respectively. $i=1,\dots ,{M}_{p}$, where ${M}_{p}$ denotes the population size of the PSO algorithm. If the particle satisfies the collision avoidance and curvature constraint, its fitness can be calculated by Equation (25); otherwise, Equation (26) is used to calculate the particle’s fitness. The best position of each particle is represented as ${P}_{best}=({p}_{i,0},{p}_{i,1})$, the global best position of all particles is represented as ${g}_{best}=({g}_{0},{g}_{1})$. Then, each particle updates its position and velocity as follows:
where $i=1,\dots ,{M}_{p}$; $d=0,1$; $k=1,\dots ,T$; $T$ is the iteration number. ${c}_{1}$ and ${c}_{2}$ are positive constants, ${r}_{1}$ and ${r}_{2}$ are random numbers between $[0,1]$.

$$\begin{array}{l}{\mathit{v}}_{i,d}^{k+1}=\varpi {\mathit{v}}_{i,d}^{k}+{c}_{1}{r}_{1}({\mathit{p}}_{i,d}^{k}-{\mathit{h}}_{i,d}^{k})+{c}_{2}{r}_{2}({\mathit{g}}_{d}^{k}-{\mathit{h}}_{i,d}^{k})\\ {\mathit{h}}_{i,d}^{k+1}={\mathit{h}}_{i,d}^{k}+{\mathit{v}}_{i,d}^{k+1}\end{array}$$

After $T$ number of iterations, the global extremum is obtained. The estimated path length between the starting and ending point can be calculated by Equation (22).

#### 4.3. Path Planning for Simultaneous Arrival

When the coalition ${C}_{j},{T}_{j}\in T$ is determined to attack the target ${T}_{j}$, the UAVs in the coalition ${C}_{j}$ should arrive at the target simultaneously to maximize the system performance. The simultaneous arrival problem for the UAVs in the coalition ${C}_{j}$ can be regarded as a constrained optimization problem:

$$\begin{array}{l}\mathrm{min}\text{\hspace{1em}}J({x}_{i})\text{\hspace{1em}}i=1,\dots ,\left|{C}_{j}\right|\\ s.t.\text{\hspace{1em}}Path\_i\notin \mathrm{obstacles}\\ \text{\hspace{1em}\hspace{1em}}\kappa (Path\_i)\le {\kappa}_{\mathrm{max},i}\\ \text{\hspace{1em}\hspace{1em}}{t}_{i,j}^{path}={t}_{l,j}^{path}\text{},i,l\in \{1,\dots ,\left|{C}_{j}\right|\};i\ne l;j=1,\dots ,M\end{array}$$

The cost function and the first two constraints are the same as Equation (24). For the simultaneous arrival problem, the third constraint requires the UAVs in the same coalition to realize the simultaneous arrival. It should be noted that, in this paper, the UAVs and targets are modeled by their resources. Each target may require a UAV coalition, and each UAV can attack a set of targets. So, the task sequence of UAVs should be considered in the third constraint, which means that the target assigned before ${T}_{j}$ should be considered in the simultaneous arrival paths. The following two cases illustrate how to obtain the simultaneous arrival paths for the UAVs in the coalition ${C}_{j}$.

(1) If the target ${T}_{j}$ is the first assigned target.

If the target ${T}_{j}$ is the first assigned target, which means the target ${T}_{j}$ is the first target in the task sequence for the UAVs in the coalition ${C}_{j}$. A cooperative particle swarm optimization (CPSO) algorithm in our previous study [31] can be used to solve the simultaneous arrival problem. Here is a brief explanation: A sub-swarm is generated for each UAV, the positions and velocities of the particles in each sub-swarm are initialized. Each particle’s fitness was calculated using Equation (25) or Equation (26; if the particle violates the first two constraints). Then, each sub-swarm selects its best global position as its representative particle. The particles in each sub-swarm modifies their fitness by communicating with other sub-swarms’ representative particles. After several rounds of iteration, the UAVs in the coalition ${C}_{j}$ can obtain the paths of equal length.

(2) If the target ${T}_{j}$ is not the first assigned target.

If the target ${T}_{j}$ is not the first assigned target, the UAVs in the coalition ${C}_{j}$ may have tasks before the target ${T}_{j}$. For the simultaneous arrival problem, the UAVs in the coalition ${C}_{j}$ should consider the targets performed before the target ${T}_{j}$, a modified CPSO algorithm is presented here.

In the modified CPSO algorithm, a sub-swarm is initialized for each UAV in the coalition ${C}_{j}$. The positions and velocities of the particles in sub-swarm $i$ can be represented as ${z}_{ik}=({h}_{ik,0},{h}_{ik,1})$ and ${v}_{ik}=({v}_{ik,0},{v}_{ik,1})$, respectively. Where $i=1,\dots ,\left|{C}_{j}\right|$, $k=1,\dots ,{M}_{p}$, ${M}_{p}$ denotes the population size of each sub-swarm. It should be noted that each particle in sub-swarm $i$ determines a PH path from the location of target ${T}_{m}$ to ${T}_{j}$, where ${T}_{m}$ denotes the target performed by the UAV ${U}_{i}$ just before the target ${T}_{j}$. The fitness of the particles in each sub-swarm were calculated using Equation (25) or Equation (26). However, as the target ${T}_{j}$ was not the first assigned target, the target assigned before ${T}_{j}$ should be considered in the cost function. For example, for the particles in sub-swarm $i$, the cost function for path length is modified as:
where ${L}_{im}^{before}$ denotes the accurate path length from the current location of UAV ${U}_{i}$ to the target ${T}_{m}$, which can be obtained in the previous allocation round. ${L}_{mj}$ denotes the path length from the location of the target ${T}_{m}$ to ${T}_{j}$.

$${J}_{length}={L}_{ij}={L}_{im}^{before}+{L}_{mj}$$

Then, a representative particle was selected in each sub-swarm, the representative particle with the maximum path length was selected as the reference particle ${p}_{ref}$. The particles in each sub-swarm modifies their fitness according to the reference particle. For example, the particle $k$ in sub-swarm $i$ modifies its fitness as follows:
where ${J}_{penalty,k}$ is the penalty function for the particle $k$ in sub-swarm $i$:

$${J}_{i,k}^{\prime}={J}_{i,k}+{J}_{penalty,k}$$

$${J}_{penalty,k}=\{\begin{array}{ll}100\times {\left|{L}_{ij}-{L}_{ref}\right|}^{2},& if\text{}{p}_{ref}\notin sub-swarm\text{}i\\ 0& otherwise\end{array}$$

It should be noted that, when calculating ${L}_{ij}$ and ${L}_{ref}$, the target before ${T}_{j}$ should be considered using Equation (29).

## 5. Simulation Results

In this section, numerical simulations were conducted to demonstrate the performance of the mission planning method for multiple UAVs. All the algorithms were compiled in MATLAB 2016b and ran on a personal computer with an Intel Core i5-4590 @ 3.3 GHz with 8GB of RAM. In the first experiment, a general scenario was used to demonstrate the effectiveness of the mission planning method. In the second experiment, a sample run and the Monte Carlo simulations were presented to show the effect of path estimation to task allocation. The difference of a straight line and PH curve used in path estimation process were compared. Finally, the performance of the proposed task allocation algorithm was compared with the other two algorithms by the Monte Carlo simulation.

#### 5.1. General Scenario

A general scenario is presented to show the whole process of the multi-UAV mission planning, where six UAVs needed to attack two targets. A square region with the size of $3200\text{}\mathrm{m}\times 3200\text{}\mathrm{m}$ was used. At the initial time, the information of the targets is known as shown in Table 1. The UAVs were required to form two coalitions that satisfy the resource requirement of the targets. The UAVs in the same coalition were required to arrive to their target simultaneously. The initial information of the six UAVs are shown in Table 2. The parameters used in the mission planning method are shown in Table 3.

At the initial time, the task allocation algorithm was used to form coalitions for the two targets. In the first allocation round, the UAV ${U}_{5}$ was selected as the manager UAV, the target ${T}_{1}$ was first to be assigned. The coalition ${C}_{1}=[{U}_{5},{U}_{4},{U}_{2}]$ was formed to attack the target ${T}_{1}$ simultaneously. As the target ${T}_{1}$ was the first assigned target, the CPSO algorithm was used to generate simultaneous arrival paths for these UAVs as shown in Figure 2a. The path lengths of the three UAVs in the coalition ${C}_{1}$ from their initial location to the target ${T}_{1}$ were $1862.5\text{}\mathrm{m}$, $1863.8\text{}\mathrm{m}$ and $1862.7\text{}\mathrm{m}$, respectively. Then, the UAVs in the coalition ${C}_{1}$ updated their resources according to Equation (19). The ETAs for the three UAVs are shown in Figure 3a. It can be seen that, the three UAVs could arrive simultaneously to the target ${T}_{1}$.

In the second allocation round, the UAV ${U}_{3}$ was selected as the manager UAV to assign the target ${T}_{2}$. The coalition ${C}_{2}=[{U}_{3},{U}_{4},{U}_{1}]$ was formed to attack the target ${T}_{2}$. As the target ${T}_{2}$ was not the first assigned target. The modified CPSO algorithm was used to generate simultaneous arrival paths for the UAVs in the coalition ${C}_{2}$. The generated paths for these UAVs are shown in Figure 2a. The path lengths of the UAVs from their initial locations to the target ${T}_{2}$ were $3008.03\text{}\mathrm{m}$, $3008.7\text{}\mathrm{m}$ and $3008.31\text{}\mathrm{m}$, respectively. It can be seen that the UAV ${U}_{4}$ had to perform the target ${T}_{1}$ before ${T}_{2}$, this was considered in the modified CPSO algorithm. The ETAs for the UAVs in the coalition ${C}_{2}$ are shown in Figure 3b. These UAVs could arrive simultaneously to the target ${T}_{2}$. Using the proposed algorithms, the formed coalitions could obtain the maximum system utility in Equation (6). The UAV ${U}_{4}$ was selected to be the part of the two coalitions ${C}_{1}$ and ${C}_{2}$. The UAV ${U}_{6}$ had not been assigned any target, which denotes that the UAV ${U}_{6}$ was always at its base.

#### 5.2. Effects of Different Path Estimation Methods on Task Allocation

Consider a scenario that involves four UAVs and two targets. The performance of the path estimation process using the PH curve was compared to that using a straight line. Four obstacles are in the region size $3200\text{}\mathrm{m}\times 3200\text{}\mathrm{m}$. The initial information of UAVs and targets are shown in Table 4 and Table 5. Other control parameters are the same with Section 5.1.

The UAVs used the proposed mission planning method to obtain the allocation strategy and feasible paths. When the straight line and PH curve were used in the path estimation process, the mission planning (task allocation and path planning) results are shown in Figure 4a and Figure 5a, respectively. The curvature of each UAV’s path of these two path estimation methods are shown in Figure 4b and Figure 5b, respectively, the curvature of each UAV’s path satisfied the maximum curvature constraint.

It can be seen from Figure 4 and Figure 5 that when the straight line and PH curve were used in the path estimation process, respectively, the task allocation methods generated different allocation strategies. When the straight line was used in the path estimation process, the generated coalitions were ${C}_{1}=[{U}_{1},{U}_{3}]$ and ${C}_{2}=[{U}_{2},{U}_{4}]$ for the target ${T}_{1}$ and ${T}_{2}$, respectively. That was because the UAV ${U}_{1}$ was closer to target ${T}_{1}$ than target ${T}_{2}$ when the straight line was used in the path estimation. However, when there are obstacles in the environment, the path planning process should generate paths avoiding collision with obstacles, which will have a large deviation from the path estimation process using straight line. When path estimation using the PH curve was used in the mission planning method, it produced a more reasonable allocation strategy, the generated coalitions were ${C}_{1}=[{U}_{3},{U}_{4}]$ and ${C}_{2}=[{U}_{1},{U}_{2}]$ for the target ${T}_{1}$ and ${T}_{2}$, respectively. Table 6 summarizes the results of these two path estimation methods for this study case. In Table 6, the mission time denotes the total time to perform all the targets, the system utility was calculated by Equation (6). It can be seen that, the mission time using the straight line in the path estimation was longer than that using the PH curve, which also led to a lower system utility.

In order for a deeper comparison of performance differences of the two path estimation methods, the performance of the two path estimation methods with increasement in the number of targets was compared by Monte Carlo simulation. In the set of simulation, there were six UAVs in the team, and the number of targets varied from 10 to 30. For each simulation, obstacles were taken into consideration. The location of UAVs and targets were randomly generated in a bounded region. Each target needed three different types of resources, each required resource was a random integer between three and five. Each UAV also carried three types of resources, and each type of resource was randomly generated between 20 and 30. Using two different path estimation methods, the comparison results of average mission completion time and system utility are shown in Figure 6.

Figure 6a shows the average mission time using the two path estimation methods when the number of targets increased. The vertical axis denotes the average mission completion time of 100 runs. The horizontal axis indicates the number of targets. When the PH curve was used in the path estimation process, it could obtain a smaller mission completion time compared to the path estimation using the straight line. That was because the deviation between the estimated path and the actual path was smaller, when the PH curve was used in the path estimation process. When the number of targets increased, the difference between the mission completion time of path estimation using the PH curve and straight-line increased.

Figure 6b shows the average system utility when using different path estimation methods. While the number of targets increasing, the system utility of the two path estimation methods increased. However, when the straight line was used in the path estimation process, the system utility increased slightly when the number of targets increased. It can be seen in Figure 6, the path estimation process using the PH curve had a much better performance than that using the straight line, especially when the number of targets increased.

#### 5.3. Comparison of Three Task Allocation Algorithms

The performance of the proposed task allocation algorithm was demonstrated in comparison with a PSO task allocation algorithm and a modified resource welfare-based [18] task allocation algorithm via Monte Carlo simulation. The system utility and mission computation time using different task allocation algorithms were compared.

For a comparative study, the resource welfare-based task allocation algorithm was modified to adapt to the problem in this paper. For a target to be assigned, the UAVs consumed resources in a balanced way, the coalition with the highest resource welfare was selected to attack the target simultaneously. Algorithm 1 was also used in the modified resource welfare-based task allocation algorithm, the Line 9 and 11 of algorithm 1 were replaced by the resource welfare method.

For the PSO-based task allocation algorithm, assuming there were $N$ UAVs and $M$ targets in the environment. The ${l}^{th}$ particle at the ${k}^{th}$ iteration in PSO task allocation algorithm is represented as:
where ${x}_{ij}^{l,k}\in \{0,1,\dots ,M\}$ denotes that the UAV ${U}_{i}$ will attack target ${x}_{ij}^{l,k}$ in ${j}^{th}$ sequence. The dimension of each particle is $N\times M$. Each particle represents a solution to the task allocation problem. The fitness of each particle can be calculated using Equation (6). If the task allocation solution represented by a particle violates the task allocation constraints in Equations (8)–(13), the fitness of this particle is set to $-100$.

$${X}_{l}^{k}=({x}_{11}^{l,k},\dots ,{x}_{1M}^{l,k},{x}_{21}^{l,k},\dots ,{x}_{2M}^{l,k},\dots ,{x}_{N1}^{l,k},{x}_{N2}^{l,k},\dots ,{x}_{NM}^{l,k})$$

To compare the performance of the three task allocation algorithms, a set of simulation with different number of targets were designed. The parameter setting of these simulations is the same with the Monte Carlo simulation shown in Section 5.1. The PH curve was used in the path estimation process for all these task allocation algorithms. All these simulations used the proposed path planning method. The comparison results of the average mission completion time and system utility are shown in Figure 7. It should be noted that, as the dimension of the PSO-based algorithm was too large, we only recorded the feasible solutions obtained within 24 h of the PSO-based task allocation algorithm.

Figure 7a shows the comparison of the average mission completion time of these task allocation (TA) algorithms. Obviously, with the increase in the number of targets, the average mission completion time increased. When the number of targets was 10, the PSO-based task allocation algorithm could obtain the shortest mission completion time. However, the mission completion time using the PSO-based TA algorithm significantly increased with the number of targets. That was because when using the PSO-based TA algorithm, the dimension of particle was too high and increased with the number of targets, it was difficult for the PSO algorithm to obtain the optimal solution in a short time. From Figure 7a, the proposed TA algorithm performed better than the PSO-based and resource welfare-based TA algorithms.

Figure 7b presents the average system utility obtained by these TA algorithms. When the number of targets was 10, the PSO-based TA algorithm could obtain a higher system utility than the other two TA algorithms. However, with the increasing number of targets, the proposed algorithm outperformed the PSO-based TA algorithm as well as the resource welfare-based TA algorithm. That was because the PSO-based TA algorithm could not obtain the optimal solution when the dimension of the particle was high. This also led to a slight decline in the system utility when the number of targets increased further (the number of targets was 30) using the PSO-based TA algorithm.

## 6. Conclusions

In this paper, a hierarchical mission planning was proposed to decouple and solve the coupled task allocation and path planning problem for a multi-UAV attacking a multi-target. Three phases were involved in the method. In the path estimation process, each UAV utilized the PSO-based method to estimate the path length to targets. Then, a task allocation algorithm based on a negotiation mechanism was proposed to assign the targets. Finally, a path planning method was proposed to generate flyable and safe paths for the UAVs. Through the corresponding simulation, some key points were illustrated.

- Considering the resource requirement of targets, UAV’s resource consumption and task sequence, the proposed task allocation algorithm could obtain feasible solutions for the UAVs.
- The proposed path planning method could generate flyable and safe paths for the UAVs considering several constraints, such as simultaneous arrival, UAV’s kinematic and collision avoidance with obstacles.
- The Monte Carlo results showed that path estimation using the PH curve performed better than that using the straight line. The proposed task allocation algorithm could obtain a lower mission completion time and higher system utility compared with the PSO algorithm and the modified resource welfare-based task allocation algorithm.

Although this paper focused on the problem of cooperative attacking using multiple UAVs, the proposed mission planning method can be applied to some civilian scenarios, such as multi-UAV cooperative fire fighting, where each UAV can carry different fire fighting resources. There are also some limitations in the proposed mission planning approach. The proposed task allocation algorithm assumes that all the UAVs can communicate with each other. Some practical issues that may appear in real environment, such as communication delay or even interruption will be considered in future work.

## Author Contributions

Conceptualization, X.Z. and Z.Z.; methodology, F.Y.; software, F.Y.; formal analysis, F.Y.; writing—review and editing, F.Y. and J.C.

## Funding

This research was funded by the Project 61703336 supported by National Nature Science Foundation of China.

## Conflicts of Interest

The authors declare no conflict of interest.

## References

- Wei, Z.Q.; Wu, H.C.; Huang, S.; Feng, Z.Y. Scaling Laws of Unmanned Aerial Vehicle Network with Mobility Pattern Information. IEEE Commun. Lett.
**2017**, 21, 1389–1392. [Google Scholar] [CrossRef] - Zhen, Z.Y.; Xing, D.J.; Gao, C. Cooperative search-attack mission planning for multi-UAV based on intelligent self-organized algorithm. Aerosp. Sci. Technol.
**2018**, 76, 402–411. [Google Scholar] [CrossRef] - Yuan, C.; Zhang, Y.M.; Liu, Z.X. A survey on technologies for automatic forest fire monitoring, detection, and fighting using unmanned aerial vehicles and remote sensing techniques. Can. J. Forest Res.
**2015**, 45, 783–792. [Google Scholar] [CrossRef] - Sharma, V.; Nalin, K.; Jayakody, D.; Srinivasan, K.; Kumar, R. Coagulation Attacks over Networked UAVs: Concept, Challenges, and Research Aspects. Int. J. Eng. Technol.
**2018**, 7, 183–187. [Google Scholar] [CrossRef] - Sharma, V.; Kumar, R. A Cooperative Network Framework for Multi-UAV Guided Ground Ad Hoc Networks. J. Intell. Robot. Syst. Theory Appl.
**2014**, 77, 629–652. [Google Scholar] [CrossRef] - Yao, W.; Qi, N.; Wan, N.; Liu, Y. An iterative strategy for task assignment and path planning of distributed multiple unmanned aerial vehicles. Aerosp. Sci. Technol.
**2019**, 86, 455–464. [Google Scholar] [CrossRef] - Yao, W.R.; Qi, N.M.; Liu, Y.F. Online Trajectory Generation with Rendezvous for UAVs Using Multistage Path Prediction. J. Aerosp. Eng.
**2017**, 30. [Google Scholar] [CrossRef] - Meng, W.; He, Z.R.; Su, R.; Yadav, P.K.; Teo, R.; Xie, L.H. Decentralized Multi-UAV Flight Autonomy for Moving Convoys Search and Track. IEEE Trans. Control Syst. Technol.
**2017**, 25, 1480–1487. [Google Scholar] [CrossRef] - Meng, W.; He, Z.R.; Teo, R.; Su, R.; Xie, L.H. Integrated multi-agent system framework: Decentralised search, tasking and tracking. Iet Control Theory Appl.
**2015**, 9, 493–502. [Google Scholar] [CrossRef] - Edison, E.; Shima, T. Integrated task assignment and path optimization for cooperating uninhabited aerial vehicles using genetic algorithms. Comput. Oper. Res.
**2011**, 38, 340–356. [Google Scholar] [CrossRef] - Wu, W.N.; Wang, X.G.; Cui, N.G. Fast and coupled solution for cooperative mission planning of multiple heterogeneous unmanned aerial vehicles. Aerosp. Sci. Technol.
**2018**, 79, 131–144. [Google Scholar] [CrossRef] - Gottlieb, Y.; Shima, T. UAVs Task and Motion Planning in the Presence of Obstacles and Prioritized Targets. Sensors
**2015**, 15, 29734–29764. [Google Scholar] [CrossRef] [PubMed][Green Version] - Gerkey, B.P.; Matarić, M.J. A Formal Analysis and Taxonomy of Task Allocation in Multi-Robot Systems. Int. J. Robot. Res.
**2004**, 2004, 2004. [Google Scholar] [CrossRef] - Ruan, L.; Chen, J.; Guo, Q.; Jiang, H.; Zhang, Y.; Liu, D. A Coalition Formation Game Approach for Efficient Cooperative Multi-UAV Deployment. Appl. Sci.
**2018**, 8, 2427. [Google Scholar] [CrossRef] - Manathara, J.G.; Sujit, P.B.; Beard, R.W. Multiple UAV Coalitions for a Search and Prosecute Mission. J. Intell. Robot. Syst.
**2011**, 62, 125–158. [Google Scholar] [CrossRef] - Sujit, P.B.; Manathara, J.G.; Ghose, D.; Sousa, J.B.D. Decentralized Multi-UAV Coalition Formation with Limited Communication Ranges. In Handbook of Unmanned Aerial Vehicles; Springer: Berlin/Heidelberg, Germany, 2015; pp. 2021–2048. [Google Scholar]
- Kim, M.H.; Baik, H.; Lee, S. Resource Welfare Based Task Allocation for UAV Team with Resource Constraints. J. Intell. Robot. Syst.
**2015**, 77, 611–627. [Google Scholar] [CrossRef] - Sharma, V.; Reina, D.G.; Kumar, R. HMADSO: A novel hill Myna and desert Sparrow optimization algorithm for cooperative rendezvous and task allocation in FANETs. Soft Comput.
**2018**, 22, 6191–6214. [Google Scholar] [CrossRef] - Oh, G.; Kim, Y.; Ahn, J.; Choi, H.L. Market-Based Task Assignment for Cooperative Timing Missions in Dynamic Environments. J. Intell. Robot. Syst.
**2017**, 87, 97–123. [Google Scholar] [CrossRef] - Manathara, J.G.; Ghose, D. Rendezvous of Multiple UAVs with Collision Avoidance Using Consensus. J. Aerosp. Eng.
**2012**, 25, 480–489. [Google Scholar] [CrossRef] - Lin, Z.J.; Hong-Tao, L.H. Consensus based on learning game theory with a UAV rendezvous application. Chin. J. Aeronaut.
**2015**, 28, 191–199. [Google Scholar] [CrossRef][Green Version] - Choe, R.; Puig-Navarro, J.; Cichella, V.; Xargay, E.; Hovakimyan, N. Cooperative Trajectory Generation Using Pythagorean Hodograph Bezier Curves. J. Guid. Control Dyn.
**2016**, 39, 1744–1763. [Google Scholar] [CrossRef] - Ismail, A.; Bagula, B.A.; Tuyishimire, E. Internet-Of-Things in Motion: A UAV Coalition Model for Remote Sensing in Smart Cities. Sensors
**2018**, 18, 2184. [Google Scholar] [CrossRef] - Tsourdos, A.; White, B.; Shanmugavel, M. Cooperative Path Planning of Unmanned Aerial Vehicles; Wiley: Weinheim, Germany, 2010; pp. 1601–1602. [Google Scholar]
- Xiang, Y.; Zhang, Y. Sense and avoid technologies with applications to unmanned aircraft systems: Review and prospects. Prog. Aerosp. Sci.
**2015**, 74, 152–166. [Google Scholar] - Shanmugavel, M.; Tsourdos, A.; White, B.; Zbikowski, R. Co-operative path planning of multiple UAVs using Dubins paths with clothoid arcs. Control Eng. Pract.
**2010**, 18, 1084–1092. [Google Scholar] [CrossRef] - Vachtsevanos, G.J.; Tang, L.; Drozeski, G.; Gutierrez, L. From mission planning to flight control of unmanned aerial vehicles: Strategies and implementation tools. Annu. Rev. Control
**2005**, 29, 101–115. [Google Scholar] [CrossRef] - Pierpaoli, P.; Rahmani, A. UAV collision avoidance exploitation for noncooperative trajectory modification. Aerosp. Sci. Technol.
**2018**, 73, 173–183. [Google Scholar] [CrossRef] - Farouki, R.T.; Giannelli, C.; Mugnaini, D.; Sestini, A. Path planning with Pythagorean-hodograph curves for unmanned or autonomous vehicles. Proc. Inst. Mech. Eng. Part G J. Aerosp. Eng.
**2018**, 232, 1361–1372. [Google Scholar] [CrossRef] - Farouki, R.T. Construction of G 1 planar Hermite interpolants with prescribed arc lengths. Comput. Aided Geom. Des.
**2016**, 46, 64–75. [Google Scholar] [CrossRef][Green Version] - Yan, F.; Zhu, X.; Zhou, Z.; Tang, Y. Heterogeneous multi-unmanned aerial vehicle task planning: Simultaneous attacks on targets using the Pythagorean hodograph curve. Proc. Inst. Mech. Eng. Part G J. Aerosp. Eng.
**2019**. [Google Scholar] [CrossRef]

**Figure 4.**(

**a**) Mission planning results (straight line is used in the path estimation process); (

**b**) curvature of each UAVs’ path.

**Figure 5.**(

**a**) Mission planning results (Pythagorean hodograph (PH) curve is used in the path estimation process); (

**b**) curvature of each UAVs’ path.

**Figure 6.**Comparison of the two path estimation methods. (

**a**) Average mission completion time; (

**b**) average system utility.

**Figure 7.**Comparison of these task allocation (TA) algorithms. (

**a**) Average mission completion time; (

**b**) average system utility.

Targets | Initial Location (m) | Resource Requirement | Initial Value |
---|---|---|---|

Target 1 | $(1500,1600)$ | $(4,2)$ | 100 |

Target 2 | $(2000,1000)$ | $(5,4)$ | 90 |

UAVs | Initial Location (m) | Heading Angle (rad) | Initial Resource |
---|---|---|---|

UAV 1 | $(0,0)$ | $pi/6$ | $(2,1)$ |

UAV 2 | $(1500,0)$ | $pi/6$ | $(1,0)$ |

UAV 3 | $(3000,0)$ | $3\cdot 4/pi$ | $(3,2)$ |

UAV 4 | $(500,2200)$ | $pi/6$ | $(2,2)$ |

UAV 5 | $(2000,2000)$ | $pi/6$ | $(1,1)$ |

UAV 6 | $(3000,3000)$ | $-3\cdot 4/pi$ | $(2,1)$ |

Parameters | Notation | Value |
---|---|---|

Descent rate of target’s reward | $\beta $ | 0.05 |

The minimum turning radius of the UAV | ${R}_{\mathrm{min}}$ | 50 $\mathrm{m}$ |

Weight value of the target reward in Equation (6) | ${w}_{1}$ | 0.8 |

Weight value of the cost in Equation (6) | ${w}_{2}$ | 0.2 |

Weight value in Equation (25) | $w$ | 0.8 |

Velocity of the UAVs | $V$ | $50\text{}\mathrm{m}/\mathrm{s}$ |

Population size of the PSO algorithm | ${M}_{p}$ | 50 |

Acceleration coefficient of the PSO algorithm | ${c}_{1}$ | 2 |

Acceleration coefficient of the PSO algorithm | ${c}_{2}$ | 2 |

UAVs | Initial Location (m) | Heading Angle (rad) | Initial Resource |
---|---|---|---|

UAV 1 | $(700,900)$ | $pi/6$ | $(2,2)$ |

UAV 2 | $(700,600)$ | 0 | $(2,2)$ |

UAV 3 | $(2100,2100)$ | $pi/2$ | $(2,2)$ |

UAV 4 | $(2300,2200)$ | $pi/2$ | $(2,2)$ |

Targets | Initial Location (m) | Resource Requirement | Initial Value |
---|---|---|---|

Target 1 | $(700,2100)$ | $(4,4)$ | 100 |

Target 2 | $(2300,900)$ | $(4,4)$ | 90 |

Figure # | Path Estimation | Mission Time (s) | System Utility |
---|---|---|---|

4a | Straight line | 51.7 | 1.3 |

5a | PH curve | 35.6 | 26.5 |

© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).