1. Introduction
The application of unmanned aerial vehicles (UAV) in military and civil fields is growing rapidly, such as for pesticide spraying, forest fire prevention, material delivery, reconnaissance, etc. Low cost and high safety are the two main driving forces for the rapid development of unmanned aerial vehicles. The unmanned aerial vehicle control method is very flexible [
1,
2], specifically including the following: (i) human operator remote control; (ii) pre-programmed or uploaded mission plan via communication device; (iii) UAV autonomous operation. The improvement of the autonomous level of unmanned aerial vehicles can effectively reduce the operator’s burden and the probability of mistakes, while improving the efficiency and quality of mission completion. Moreover, for complex tasks such as large-scale information gathering, regional reconnaissance, and search and rescue, the cooperation of multiple UAVs in the form of a team is usually required. The multi-UAV cooperative mission planning problem (MCMPP) plays an essential role in the autonomous operation of multiple UAVs, which is a non-deterministic polynomial time (NP)-hard combinatorial optimization problem. The MCMPP involves rationally assigning the UAVs and scheduling the tasks on the premise of meeting the constraints of the task sequence, spatial location, energy supply, etc. to achieve the optimization of the established mission planning objectives.
Task assignment is an essential sub-problem of the MCMPP, which was extensively studied in robotics, UAVs, operations research, etc. From the modeling perspective, the task assignment model is very relevant to classic combinatorial optimization problems, such as vehicle routing problem (VRP) [
3], job-shop scheduling problem (JSP) [
4], traveling salesman problem [
5], team orienteering problem [
6], etc. Classic combinatorial optimization problems or variant problems can be transformed into mathematical models for missions such as cooperative reconnaissance, data collection, search and rescue, etc. Faigl [
7] formulated the data collection problem as a variant of the combinatorial optimization problems, i.e., the price-collecting traveling salesman problem (PCTSP) and the orienteering problem (OP). An unsupervised learning method called growing self-organizing array was proposed, which only takes tens of milliseconds to solve the information collection problem with a large number of sensor nodes. Yu et al. [
8] proposed the correlated orienteering problem for modeling persistent monitoring tasks with time-invariant spatial correlations using autonomous mobile robots.
From the perspective of the solution method, exact and heuristic methods are practical solutions. Exact methods (e.g., branch-and-bound [
9], branch-and-price [
10,
11], etc.) are optimal, but the computational complexity is proportional to the scale of the problem. Therefore, exact methods are only suitable for solving the small-sized problems. In order to reduce the difficulty of solving problems caused by the scale of the problem, heuristic methods (e.g., genetic algorithms (GA) [
12,
13,
14,
15], particle swarm optimization [
16], differential evolution algorithm [
17], etc.) have always been an essential solution to the MCMPP and combinatorial optimization problem. Ramirez-Atencia et al. [
18] presented a new multi-objective genetic algorithm for solving complex mission planning problems involving a team of UAVs and a set of ground control stations. A new odor concentration calculation function was designed in conjunction with the constraint satisfiability problem, which accelerates the problem’s convergence rate. Chen et al. [
19] presented a modified multi-objective symbiotic organism search algorithm for solving the reconnaissance task assignment problem for multiple UAVs with different sensor capacities. Chen et al. [
20] presented a modified two-part wolf pack search algorithm to solve the multi-UAV cooperative task assignment problem.
Path planning is another critical sub-problem of the MCMPP. Due to its broad application in various fields (such as data collection, forest fire prevention, and military), the path planning problem was studied extensively. Path planning algorithms can be mainly divided into the following categories: graph-based search method [
21], sampling-based method [
22,
23], and heuristics method [
24]. The Dubins method is a classic graph-based search method, first introduced by Dubins [
25] and later inspiring several studies. Chitsaz et al. [
26] proposed the Dubins airplane model, an extension of the Dubins method, which aims to find the UAV’s optimal trajectory in three-dimensional space. Isaiah et al. [
27] presented two motion planning algorithms for solving the Dubins travelling salesperson problem. Owen et al. [
28] presented a system architecture for implementing the Dubins airplane model for a fixed-wing UAV. Macharet et al. [
29] combined a metaheuristic algorithm with the Dubins method to solve the robot path planning problem.
Some research on the MCMPP problem integrated task assignment and path planning to design a unified system framework and generated a flyable path for the UAV while reasonably allocating team resources. Rasmussen et al. [
30] proposed a tree search algorithm for solving the CMTAP, formulated in the form of a decision tree. Edison et al. [
31] considered that multiple UAVs must perform reconnaissance, attack, and verify tasks on multiple mission targets. Task assignment and path planning are integrated and solved by genetic algorithm. Deng et al. [
32] proposed a modified genetic algorithm with multiple gene types for solving the CMTAP. In the mission scenario, UAVs have different operational capabilities and kinematic constraints and carry limited resources. Weinan et al. [
33] presented a coupled and distributed planning method based on the distributed genetic algorithm, using a fixed-wing UAV model with six degrees of freedom to verify the method.
In this paper, the multi-functional heterogeneous UAV cooperative mission planning problem (MFHCMPP) is proposed, as an extension of the MCMPP. In the MFHCMPP, each UAV has multiple functions with specific levels. Each task cannot be executed unless the UAV has the functions required by the task, and the functional level is not less than the standard functional level. In addition to the constraints of functions and functional levels, timing constraints exist between tasks, i.e., some tasks cannot be executed before their predecessors are completed. The UAV heterogeneity is mainly reflected in the difference in function, caused by different sensors or loads loaded by the UAVs. It is worth noting that the tasks are associated with some specific locations; thus, the task assignment of UAVs, the order of task execution, and the heading angle of the UAV approaching a task location will affect the length of the UAV flight path. The MFHCMPP problem proposed in this paper mainly solves three problems: task assignment, task scheduling, and path planning.
To solve the MFHCMPP problem, we propose the multi-swarm fruit fly optimization algorithm (MFOA). As an emerging swarm intelligence optimization algorithm, fruit fly optimization (FOA), in recent years, became one of the hottest research algorithms. The mechanism of FOA stems from a simulation of the process of searching for food sources in the fruit fly population. Based on the principles of olfactory search and visual search in the foraging process of fruit flies, the fruit fly optimization algorithm is mainly divided into two stages, namely, the smell-based search stage and the vision-based search stage. The two-stage continuous iterative optimization achieves the approach of the fruit fly population to the food source, before finally obtaining an optimal or satisfactory solution. Xiangyin et al. [
34] proposed an improved fruit fly optimization (FOA) to solve the unmanned aerial vehicle (UAV) path planning problem, and the mutation adaptation mechanism was adopted to enhance the search ability of FOA and prevent it from falling into a local optimum. Xiaolong et al. [
35] proposed a knowledge-based fruit fly optimization algorithm for solving the multi-skill resource-constrained project scheduling problem. A knowledge-based search procedure was introduced to enhance exploration. The knowledge of a fruit fly comes from the experience of the evolution of better fruit fly individuals. Zheng et al. [
36] presented a novel fruit fly optimization algorithm to solve the semiconductor final testing scheduling problem. A collaborative search process was designed, including improved priority operation crossover and improved multi-point protection crossover, on the basis of two famous flexible job shop scheduling structures. The local search ability of FOA is reliable, but it is easy to cause a loss of population diversity, leading to premature convergence of the algorithm. Especially for problems with a large search space and many locally optimal solutions, the fruit fly optimization algorithm struggles to obtain a satisfactory solution.
The main contributions of this article are reflected in the following aspects:
The basic problem definition of multifunctional heterogeneous UAV collaborative mission planning is given. The Dubins airplane model is introduced in the mission planning framework to generate the three-dimensional flight trajectory of each UAV.
In order to improve the global search ability of the fruit fly optimization algorithm, multiple swarm mechanisms are introduced. In addition, two smell-based search strategies are designed to prevent the algorithm from prematurely falling into a local optimum. A two-strategy switching method is designed, and each fruit fly swarm is adaptively assigned the next iteration’s smell-based search strategy according to the results of each iteration.
The application of the fruit fly optimization algorithm in the field of UAV mission planning expands its application field.
The remainder of this paper is organized as follows:
Section 2 formulates the MFHCMPP using a mixed integer linear programming model, and the Dubins airplane model is introduced. The basic FOA is introduced in
Section 3, and then the MFOA for solving the MFHCMPP is proposed in
Section 4. The results of numerical tests and comparisons are provided in
Section 5. Finally, the conclusions of this paper and future work are given in
Section 6.
2. Problem Formulation
2.1. Task and UAV
Suppose that a mission contains a series of diverse tasks to be performed by the UAVs, such as photographing a building, data gathering from sensor network, or monitoring fixed positions. The mission is defined as a -sized set , where each task involved in the mission scenario is asked to be performed only once. In this paper, the duration of each task performed by the UAV is ignored, and the task is deemed completed when the UAV arrives at the task location. In addition, a precedence constraint exists between some tasks, which is set by the human operator. Specifically, some tasks cannot be executed unless the predecessor tasks are performed. Let be the predecessor task of the task , such that the execution time of should be later than the execution time of , that is, . Let be a set of task positions, where stands for the task position of task . The termination condition is defined as that the task position is visited by the UAV performing the task.
Let be the set of heterogeneous UAVs involved in the mission scenario. Each UAV has several functions with certain levels. The UAV heterogeneity is mainly reflected in the functions or functional level, related to the sensors or loads equipped on the UAVs. For example, UAV is equipped with an infrared sensor and a high-resolution vision sensor, and UAV is equipped with synthetic aperture radars and a low-resolution vision sensor. It is obvious that the UAV has the functions of detecting infrared information, target recognition, and photographing, but it does not have all-weather remote sensing functions. UAV has all-weather remote sensing and target recognition functions, but the visual sensor’s resolution limits the target recognition functional level of UAV. It may not satisfy the requirement of specific tasks, such as the recognition of small-size targets or complex background targets. In summary, the premise for a task to be executed is that the UAV meets the task’s function and corresponding level requirements.
To make it clearer, suppose that heterogeneous UAVs have functions and each function is divided into levels. Let represent the function of UAV and the corresponding functional level, , , . Let denote the function and corresponding functional level of the UAV required to perform each task . In other words, the task can be performed unless the UAV has the function , and the functional level is no less than , where is the type of function and is the corresponding functional level.
Examples of functional constraints are presented in
Figure 1. Taking
as an example, it requires that the UAV performing the task has function 4, and the corresponding level of the function is not less than 3. Thus,
and
cannot be assigned to perform
, since
and
have no function 4. In addition,
has function 4, but it also cannot perform
, because the function level corresponding to function 4 is less than 3.
2.2. UAV Trajectory Generation Model
In this paper, the Dubins airplane model [
26] is introduced to generate the optimal flight path satisfying the kinematic constraints of the UAV in three-dimensional space. The spatial state of UAVs can be expressed by the following configuration:
where
is the position of the UAV in three-dimensional space,
,
is the heading angle of the UAV, and
is the flight-path angle. The UAV’s kinematic equations are expressed as follows:
where
is the constant flight speed of the UAV,
is the minimum turning radius for the UAV, and
is the steering control command such that
.
The Dubins airplane model was introduced as a trajectory planning model, as an extension of the Dubins car model. The Dubins car model is used for minimum-length trajectory planning in the two-dimensional plane from the start configuration
to the final configuration
. The minimum-length trajectory generated by the Dubins car model is represented by six forms, such that the Dubins car set is defined by
where
is an anticlockwise arc of a circle with radius
,
is a clockwise arc of a circle with radius
, and
is a straight line segment. Taking
and
as examples,
represents a trajectory composed by a clockwise arc followed by a straight line segment followed by an anticlockwise arc, while
represents a trajectory composed by a clockwise arc followed by an anticlockwise arc followed by a clockwise arc.
Based on the Dubins car model, the Dubins airplane model extends the motion to the vertical plane to generate a minimum-length trajectory in three-dimensional space. The Dubins airplane model divides the space into three cases: low altitude, medium altitude, and high altitude. For low altitude, the trajectory can be obtained by adjusting the flight angle of the UAV on the basis of the trajectory generated by the Dubins car model. For high altitude, a certain number of additional helix segments need to be added to the start or end arcs to give the UAV enough distance to adjust the altitude. For the minimum altitude case, the minimum-length trajectory can be obtained without adding several helix segments, as an incomplete helix segment is enough. More specific implementation details be found in references [
26,
28]. The minimum length trajectory forms generated by the Dubins airplane model are given as follows:
It is worth noting that, in order to achieve the minimum-length trajectory, the optimal heading angle
and optimal flight-path angle
of the UAV flying between various targets need to be solved. The optimal flight-path angle
can be obtained by solving the Dubins airplane model. As the input of the Dubins airplane model, the optimal heading angle cannot be optimized directly by the model. We use the method of uniform sampling to discretize the heading angle for approximately solving the optimal heading angle, such that the heading angle sample set is denoted as
where
is a positive integer, representing the number of samples. The approximate optimal heading angle is selected from the set of heading angle samples.
2.3. Mixed Integer Linear Programming Model
In this paper, we formulate the MFHCMPP using a mixed integer linear programming model. The objective is to optimize the cumulative flight distance of all UAVs for mission execution and the makespan. The mathematical model is as follows:
The cost function is shown in Equation (6). The objective is to minimize the makespan and the total mission time at the same time. In Equation (6), and are positive real values and their sum is 1; they are used to weigh the importance of the makespan and total mission time. In this paper, is set to 0.6 and is set to 0.4. is a binary decision variable. If performs with heading angle , ; otherwise, . represents the trajectory length of the UAV i approaching the location of task with the heading angle . is the flight speed of . The constraint in Equation (7) guarantees the precedence constraints of the task, where is the performing time of and is the performing time of . The constraint in Equation (8) ensures that each task can be handled only once, is a binary decision variable. If is performed by , ; otherwise, . The constraint in Equation (9) guarantees that the UAV handling the task needs to meet the standard functional requirements of the task, where represents that can be executed by the UAV, with function and a corresponding functional level no less than . The constraint in Equation (10) guarantees that each UAV can handle at most one task at a time, where is a binary decision variable. If is being performed by at time , ; otherwise, .
4. Multi-Swarm Fruit Fly Optimization Algorithm
4.1. Procedure of MFOA
The local search ability of FOA is outstanding, but its global search ability is relatively weak. Thus, it is easy to fall into a local optimum, leading to premature convergence. In the process of iterative optimization, the swarm of FOA updates the center according to the location of the optimal individual of the fruit flies. Once the swarm center’s location is determined, all the fruit flies in the swarm will fly toward the center of the swarm. This process leads to diversity loss, resulting in the FOA falling into a local optimal solution.
Two improved mechanisms are introduced to maintain the diversity and improve the global search ability of the algorithm: the multi-swarm mechanism and the dual search strategy mechanism. In the MFOA, the multi-swarm mechanism is used to determine multiple swarm centers, which effectively avoids the individual fruit flies gathering in one center, protecting the algorithm from falling into a local optimum. The dual search strategy mechanism includes a large-scale search strategy and a local search strategy, applied in the smell-based stage. The fruit flies have a larger fly radius with the large-scale search strategy, and the corresponding swarm focuses on the global search. For swarms with local search strategies, the fly radius of the fruit flies is small, focusing on the optimization of the current optimal solution. In each round of iterative optimization, the fruit fly swarms are divided into two groups according to a specific rule. Some of the swarms perform the large-scale search strategy, while the other swarms perform the local search strategy.
The flowchart of MFOA for solving the MFHCMPP is shown in
Figure 2. It can be seen that the MFOA mainly consists of four phases, i.e., initialization, smell-based search, vision-based search, and dual search strategy switching. Firstly, the number of fruit fly swarms
NS, the size of fruit fly swarm
NP, and the maximum number of iterations
Maxgen are initialized. Then, based on the number of fruit fly swarms,
NS fruit fly individuals are generated as the centers of the swarms. Each individual fruit fly represents a feasible solution to this problem. In the smell-based phase, some fruit fly swarms execute the local search strategy, while the remaining fruit fly swarms execute the large-scale search strategy. It is worth noting that all fruit fly swarms are set to perform the local search strategy in the first iteration. The search strategy of each fruit fly swarm in the subsequent iterations is determined by the dual strategy switching process. For the vision-based search stage, the new centers of the swarms are generated using the greedy selection strategy. In other words, during each iteration, the fruit fly individual with the optimal odor concentration in a swarm is designated as the new center of the swarm. Finally, the appropriate search strategy is assigned to the next iteration of the swarm. The iterative optimization process is repeated until the termination condition is reached.
4.2. Encoding
Each fruit fly individual represents a feasible solution for the MFHCMPP. Thus, the fruit fly individual encoding is the precondition to solve the problem. The fruit fly individual encoding is designed to be composed of six lists, i.e., task sequencing list (TS), predecessor task list (PT), task function requirements list (TF), heterogeneous UAV allocation list (UA), heterogeneous UAV function list (UF), and heading angle list (HA). The encoding example of a fruit fly individual is shown in
Figure 3. The TS list represents the task execution order. The PT list indicates the predecessor task of the corresponding tasks in the TS list (e.g., in
Figure 3, the predecessor task of task
is task
, while task
has no predecessor tasks, which is represented by
Null in the PT list). The TF list represents the functional constraint of the task (e.g., in
Figure 3, task 5 cannot be performed unless the UAV has function 3 and the function level is not less than the standard level 2). The UA list denotes the heterogeneous UAV assignment for each task. The HA determines the terminal heading angle when the UAV approaches the task position. The mathematical description of the lists is given in Equations (11)–(16).
To be specific, ts(i)(i = 1,2,…,T) represents the i-th task to be assigned, pt(i)(i = 1,2,…,T) denotes the predecessor task of ts(i), tf(i)(i = 1,2,…,T) indicates the standard functional requirements of the i-th task, ua(i)(i = 1,2,…,T) implies the UAV assigned to the i-th task, uf(i)(i = 1,2,…,T) represents the functions of ua(i), and ha(i)(i = 1,2,…,T) indicates the terminal heading angle when the ua(i) approaches the i-th task’s location.
4.3. Initialization
The number of fruit fly swarms is NS, and the number of fruit flies in each swarm is NP. Thus, NS × NP fruit fly individuals should be generated. Each fruit fly individual is randomly generated.
Specifically, the TS list is generated by randomly selecting a task from the set of tasks and inserted randomly into the TS list without violating the task priority constraints. The selection and insertion process is repeated until all tasks are inserted into the TS list. The PT list and the TF list are generated according to the task priority constraints and the task functional constraint, respectively. The UA list is generated by randomly allocating a UAV for each task, with the premise that the function of the UAV has to meet the task functional constraints. The UF list is generated according to the function of UAV and the corresponding function level. The HA list is generated by randomly selecting an approach heading angle from the heading angle sample set for the UAV.
4.4. Smell-Based Search
The smell-based search stage, as the core of FOA, greatly affects the efficiency of problem solving and the quality of the solution. In the smell-based search stage of this paper, we drive the fruit fly swarm through the dual search strategy mechanism, i.e., incorporating a large-scale search strategy and a local search strategy. The purpose is to maintain the diversity of the swarm while ensuring the convergence rate of the problem.
4.4.1. Local Search Strategy
The local search strategy focuses on further optimizing the advantage of fruit fly individuals. The operation operators do not change the position of individual fruit flies significantly, because this would cause the fruit flies to be too far away from the current position and reduce the search efficiency. An example of the local search strategy is shown in
Figure 4. The specific operators are given as follows:
4.4.2. Large-Scale Search Strategy
The large-scale search strategy focuses on keeping the fruit fly individuals with poor performance away from the current position. An example of the large-scale search strategy is shown in
Figure 5. The specific operators are given as follows:
Interval task reordering: The interval task reordering operator randomly selects the starting point and the ending point in the TS list. The number of tasks included between the start point and the end point is , where is even and . Then, columns are taken out from the fruit fly individuals and reinserted randomly without violating the task priority constraints.
Multi-UAV Reassign: The multi-UAV reassign operation randomly selects tasks and reassigns them to new UAVs that meet the task function constraints.
Multi-Heading Angle Switch: The heading angle switch operation randomly selects approach heading angles for resampling according to .
4.5. Vision-Based Search
In the vision-based search stage, each fruit fly swarm evaluates the fruit fly individuals to obtain each fruit fly individual’s odor concentration value. In order to update the central position of each fruit fly swarm, a greedy selection strategy is adopted. The individual’s position with the optimal odor concentration in each fruit fly swarm is updated to the new center of the fruit fly swarm. It is worth noting that, if the fruit fly individual’s position with the optimal odor concentration is the same as the center of the current fruit fly swarm, the position of the center of the fruit fly swarm is not updated.
The odor concentration value of each fruit fly individual is determined by the makespan and the total mission time. Thus, to calculate the odor concentration value, the task commands for each UAV should be generated. The process of UAV task command generation is illustrated in
Figure 6. The fruit fly individual is split according to the UAV identifier (ID). Taking
as an example, its task command is to execute
and
in sequence. The heading angle of
is designated as
when it approaches the location of
. Then,
leaves the location of
with the heading angle
and approaches the location of
with the heading angle
. According to the task commands of each UAV and the Dubins airplane model, the flight time of each UAV can be calculated. Furthermore, the odor concentration value of the fruit fly individual, i.e., the makespan and the total mission time, can be determined.
Next, taking a swarm of multiple fruit fly swarms as an example to illustrate the greedy selection strategy, once the odor concentration values of all individuals in the fruit fly swarm are calculated, the greedy selection strategy compares the odor concentration values of all fruit flies and selects the fruit fly with the best odor concentration value as the new swarm center. In the next iteration of the process, the center of the fruit fly swarm executes a smell-based search NP times to generate
NP new fruit fly individuals. A more detailed explanation of the vision-based search can be found in Reference [
37].
4.6. Dual Strategy Switching
The dual strategy switching process is an important process that controls the smell-based search strategy of all fruit fly swarms. The local search strategy and the large-scale search strategy are assigned to NS fruit fly swarms. The process of the dual strategy switching method assigns the search strategy to each fruit fly swarm as follows:
Step 1: The odor concentration value of each fruit fly center is calculated, where .
Step 2: The average odor concentration value of all the fruit fly swarm centers is calculated, where .
Step 3: The odor concentration value is compared with the average odor concentration value of all fruit fly swarm centers. If is larger than the average odor concentration value , then the local search strategy is assigned to the fruit fly swarm; otherwise, the large-scale search strategy is assigned.
Step 4: Let . If , it means that the search strategy of all fruit fly swarms is assigned, and the dual strategy switching process is completed. Otherwise, to the process returns to step 3.
The average odor concentration value of all the fruit fly swarm centers can be calculated as follows:
where
is the average odor concentration of the center of all fruit fly swarms, and
represents the center odor concentration of the fruit fly swarm
(
).
6. Conclusions
In this paper, a multi-swarm fruit fly optimization algorithm with dual strategy switching (MFOA) was proposed to solve the multi-functional heterogeneous UAV cooperative mission planning problem with the criterion of simultaneously minimizing the makespan and the total mission time. The multi-functional heterogeneous UAV cooperative mission planning problem was considered to include three sub-problems of task assignment, task scheduling, and three-dimensional trajectory planning. Thus, a multi-list encoding architecture was proposed to represent the candidate solutions. The multi-swarm mechanism was introduced to enhance the global search performance of the basic fruit fly optimization algorithm. Meanwhile, in the smell-based search stage, a dual strategy collaborative search method was proposed to balance global and local search performance. In the vision-search stage, the decoding method of UAV task commands was given, and the greedy selection strategy was applied to update the center of the fruit fly swarm. A dual strategy adaptive switching method was given for adaptively assigning a multi-swarm search strategy in the smell-based search stage. A sample run was used to verify the effectiveness of the MFOA algorithm to deal with timing constraints, functional constraints, and the three-dimensional trajectory planning problem. Next, the performance of three algorithms (RSM, FOA, and MFOA) was compared in small-scale, medium-scale, and large-scale mission scenarios. the simulation results proved the superiority of MFOA in the three scenarios. Finally, Monte Carlo simulation experiments were carried out, and the experimental results showed that MFOA maintained its stability in small-, medium-, and large-scale mission scenarios.
Regarding further work in the future, we will consider the following aspects:
More practical factors will be introduced in the mission planning problem, such as fuel constraints, UAV cost constraints, target value, and so on.
Uncertain factors will be considered in the mission planning problem, such as the uncertainty of the target location or the uncertainty of the UAV’s flying speed.
The fruit fly optimization algorithm will be further optimized to improve its performance.
The complexity of the fruit fly optimization algorithm will be reduced, and new optimization mechanisms will be explored to test its performance in real-time mission planning problems.