1. Introduction
With the rapid development of artificial intelligence and automated control [
1,
2,
3], UAVs have been widely used in both military and civilian fields, including reconnaissance and strike operations [
4,
5], target tracking [
6,
7,
8,
9], forest fire prevention [
10], regional surveillance [
11,
12,
13], etc. Due to limitations in performance and payload capacity, it is often challenging for one UAV to complete complex missions [
14]. Therefore, the study of multi-UAV systems, which have good scalability and cooperation capabilities, has gained significant attention in current research. In order to maximize the overall effectiveness of the multi-UAV system, it is necessary to research task planning to obtain suitable task orders and flight paths of UAVs.
As an important branch of multi-UAV task planning, coverage-path planning includes region allocation and path planning. It has been studied by numerous scholars from various aspects, such as region shape [
15,
16], energy constraints [
17,
18,
19,
20], and obstacle avoidance [
21,
22]. Nielsen [
15] tackled the issue of region coverage for non-convex polygons by dividing the area into numerous separate convex sub-polygons and utilizing a scanning pattern to ensure complete coverage. Huang [
17] determined the energy consumption of UAVs in various flight modes and presented a coverage path-planning algorithm that relies on a UAV energy-limited model, aiming to minimize the flight duration of UAVs on coverage paths. Franco [
19] takes into account additional factors, including energy, speed, acceleration, and image resolution, in coverage-path planning. He proposes an energy model based on accurate measurements and utilizes it to develop a coverage path-planning algorithm that simultaneously achieves low power consumption and desired image resolution. Maza and Ollero [
21] decomposed the entire region into multiple sub-regions and individually assigned them to the UAVs according to the flight and energy capabilities. They utilized the back-and-forth method to cover the sub-regions with the principle of minimizing the number of turning maneuvers.
Although the aforementioned studies have effectively addressed the issue of coverage-path planning, they primarily focus on the collaborative coverage of a single area using multiple UAVs and are concerned about how to divide the entire region. Therefore, these methods cannot be directly applied to the planning problem of multiple UAVs covering multiple areas. To address the multiple UAVs covering multiple areas problems, Mou et al. [
23] utilized a deep reinforcement learning approach to match all areas with UAVs and developed a novel coverage path-planning algorithm based on the star communication topology to achieve comprehensive scanning of all areas. In [
24], to study the penguins in various regions of Antarctica using UAVs, Shah presented a path-planning algorithm called Path Optimization for Population Counting with Overhead Robotic Networks, which exhibited faster computational speed in comparison to Mixed Integer Linear Programming (MILP) of the same size. Li [
25] achieved the scan coverage of large-scale target areas by establishing an extended model of the Traveling Salesman Problem, with the optimization goals of coverage rate and completion time, while considering the performance constraints of UAVs. However, the above studies only focused on homogeneous UAVs and did not consider coverage-path planning for heterogeneous UAVs.
Compared to homogeneous UAV systems, the heterogeneous system exhibits greater flexibility and adaptability when it comes to complex tasks, thus improving the overall efficiency of the system [
26,
27]. However, the diverse range of UAV types makes designing a scheme that effectively leverages the capabilities of each UAV challenging. This challenge is especially prominent for multi-UAV collaborative decision-making, task planning, and formation control tasks. Moreover, in the problem of coverage-path planning, the heterogeneity among UAVs and the existence of multiple sub-regions also magnify the scale of the problem [
28] and intensify the challenge of finding solutions [
29,
30]. Chen et al. [
31] studied the multi-area coverage-path planning of multiple UAVs. The authors achieved clustering of sub-areas by calculating the density of sub-areas, but the visiting order of UAVs to the areas was not taken into consideration. In [
32], Chen proposed an ant colony system (ACS)-based algorithm that achieves the area allocation using an effective time ratio and optimizes the UAV access sequence using the ant colony algorithm. However, this method faces a conflict between the optimization objectives of area allocation and sequence optimization, and it ignores the study of the actual flight trajectory of UAVs.
According to the publicized study, this type of research typically encounters the problem of repetitive sorting during the allocation and regional ordering optimization processes, which leads to a decrease in the accuracy of planning outcomes. They do not provide a specific method for planning the actual flight reference trajectory for UAVs. This study investigates the problem of multi-area coverage-path planning of heterogeneous UAVs with varying flight and scanning capabilities. This study aims to determine the optimal scan sequence and flight trajectories for UAVs to different areas, ensuring lower computational complexity and higher accuracy, considering constraints such as UAV maneuverability limitations and task requirements. The structure of this study is shown in
Figure 1. This framework demonstrates how this study tackles the problem of multi-region coverage task planning of multi-UAVs. The primary contributions of this study are as follows:
An optimization model is employed to tackle the problem of multi-region coverage-path planning of heterogeneous UAVs, and it is formulated using integer linear programming. The problem of multi-area coverage-path planning is divided into two subproblems: allocating the task regions and determining the execution order. This decomposition significantly reduces the complexity associated with solving the problem;
Based on the iterative idea of the k-means algorithm and the requirement of multi-region coverage, a novel clustering algorithm based on spatiotemporal similarity is proposed, and a clustering center iteration method is designed to complete regions clustering;
A novel method is proposed to minimize the flight distance of a single UAV when scanning multiple regions. The method involves selecting entry points and scanning patterns based on the shortest flight distances.
This study is organized as follows.
Section 2 establishes the model and formulas for the multi-region coverage path-planning problem of heterogeneous UAVs.
Section 3 proposes a novel region clustering algorithm and optimizes the visited order of regions.
Section 4 introduces a trajectory-planning method based on the shortest flight distance.
Section 5 presents simulation experiments and comparative analysis. Finally,
Section 6 concludes this work.
2. System Model
The coverage path-planning problems of heterogeneous UAVs are often classified as non-deterministic polynomial hard (NP-hard); it is difficult to obtain an accurate solution directly [
33]. So, we first analyze the constraints that need to be satisfied when the UAV system performs tasks and obtain the exact formulation. Then, in order to improve the solution efficiency, we intend to solve this problem from two aspects: regional allocation and regional sequence optimization, which are achieved through regional clustering and subregion reordering, respectively. Finally, we present a multi-region coverage-path planning strategy specifically for the practical flight trajectory of UAVs.
2.1. Problem Description
This study deploys
fixed-wing heterogeneous UAVs
to carry out reconnaissance and scanning missions across
rectangular regions
; the task scenario diagram is shown in
Figure 2. A list of key symbols used in this study and their definitions are provided in
Table 1. In this work, the main differences between the UAVs are their flight speed, endurance, and scanning width. So, each UAV is characterized as
, where
and
represent the serial number and the takeoff coordinate of
, respectively.
denotes the cruising flight speed, and we assume that the cruising for each UAV maintains a constant throughout the mission.
represents the maximum endurance for cruising flight, while
represents the scan width of sensors installed in
.
In this study, each region’s features are shown as . In this notation, represents the coordinates of the center point in the rectangular region. signifies the angle formed between the major axis of the region and the X-axis of the map, with a counterclockwise direction identified as positive. represents the length of the major axis, and denotes the length of the minor axis.
An
-row
-column matrix
is adopted to represent the distance between regions
and
, which is calculated using the Euclidean distance between their center points. In this study, heterogeneous UAVs are required to travel from their takeoff positions
to the designated mission area. Upon finishing their assigned area scanning tasks, the UAVs must return to their respective starting points. As a result,
is used to represent the time consumption of
flying from one region
to another region
. Since we do not know the order in which the UAV scans regions during the allocation phase, the flying distance is roughly estimated using the distance between the centers of these two regions.
is used to represent the time consumption of
scanning the region
; each UAV will use the back-and-forth scanning method to scan a single area.
and
can be calculated using
2.2. Exact Formulation
This section analyzes the constraints of the multi-area coverage task-allocation problem of heterogeneous UAVs, and mathematical formulations for each constraint are established. Furthermore, an optimization model for task allocation is established, aiming to minimize the overall completion time of the system.
To obtain appropriate allocation results, the main constraints in this study are as follows:
C1: The constraint on the takeoff and landing of UAV. Once a UAV is selected to perform the scanning task, it needs to depart from the starting point and return to the starting point after completing all tasks.
C2: The constraint on the scanning of regions. To avoid performing things twice, each task region should only be scanned by one UAV. It also means that only one UAV can fly to and from one mission area. This will prevent repeated scanning of the same area.
C3: The constraint on the maximum endurance of an UAV. During the execution of missions, the total flight time cannot exceed its maximum endurance requirement.
C4: The constraint on the number of regions covered by a single UAV. The number of scanning regions conducted by each UAV must not surpass the total number of regions.
C5: The constraint on the number of UAVs engaged in all tasks. This constraint ensures that the number of UAVs carrying out the task remains below the total quantity and is greater than one.
Constraint (C1) refers to the restriction that all UAVs can only perform takeoff and landing operations at most once. This also means that if the UAV departs from its base, it is obliged to return to the base upon completion of the coverage task. To describe constraint (C1) through mathematical expressions, this study adopts a Boolean array
to represent the decision variables of UAVs’ planned paths, where the subscripts
represent
flies from
to
. It is worth noting that only if
is chosen to fly from
to
, Boolean variable
, otherwise,
. If
or
, it represents that the
departs from or returns to the starting point. Through the aforementioned description, constraint (C1) can be expressed as:
Constraint (C2) pertains to the situation in which only one UAV is capable of traversing a given region. Therefore, constraint (C2) can be represented as:
Constraint (C3) indicates that the overall flight duration of a chosen UAV, including departure from and return to the base and coverage of the specified task regions, should not exceed its maximum flight time, i.e.,
The variable
in the above expression is a Boolean variable, which has a similar meaning with
. If
needs to perform a coverage scanning task in
,
, otherwise
. The relationship between
and
can be expressed as:
Constraint (C4) implies that each UAV cannot perform more coverage tasks than the total number of regions, i.e.,
Constraint (C5) shows that the number of UAVs taking off from the bases to carry out the tasks must not exceed the total number of UAVs, which can be written as:
This article aims to seek the sequence of UAV access to the task regions in the scenario where heterogeneous UAV systems take off from different bases, scan and cover corresponding areas, and return to the bases. The goal is to minimize the overall system’s task completion time
, and the constraints are constraints from (C1) to (C5). Since each UAV takes off simultaneously and flies towards their respective task regions, the task completion time of the entire system can be equivalently represented as the time consumed by the UAV, which returns to the base the last. Therefore, the optimization objective function
can be expressed as:
The exact formulation of this system can be written as:
In the above programming, the unknown variables are a mixture of integer (e.g., elements of ) and real variables (e.g., the maximum time ), and all constraints are linear. Therefore, this problem belongs to the class of MILP problems. Since the coverage-path planning of heterogeneous UAVs is NP-hard, although the precise solutions can be obtained using the proposed MILP formulation, it requires searching the entire solution space. Furthermore, the computational time will drastically increase with the growth of both the number of UAVs and the number of regions, resulting in significant consumption of computational time and cost. Inspired by the concept of clustering, we devised a clustering-based approach to tackle the task-allocation problem during the coverage-path planning of heterogeneous UAVs in the following sections. Implementing region allocation through clustering, and then optimizing the region access sequence, can greatly reduce the complexity of the problem.
3. Coverage Scanning Clustering Algorithm-Based Coverage-Path Planning
The target clustering methods normally consist of two steps: target area clustering and cluster target allocation. Target area clustering involves clustering the regions based on specific characteristics; cluster target allocation requires assigning each sub-cluster to a specific UAV.
The k-means clustering algorithm is one of the iterative and classical target clustering methods. It has the advantages of simplicity, wide applicability, and fast convergence speed. Therefore, it is frequently applied to solve multi-UAV task assignment problems [
34,
35,
36]. The basic process of the k-means clustering algorithm is commonly represented as:
Step 1: Determine a value , which represents the number of sub-clusters aiming to obtain by clustering the dataset.
Step 2: Randomly select data points from the dataset as centroids (the centers of the sub-clusters).
Step 3: For each point in the dataset, calculate its distance to each centroid and assign it to the sub-cluster with the nearest centroid.
Step 4: Calculate the mean coordinates of all points within the sub-cluster and take it as the new centroid.
Step 5: If the distance between the newly calculated centroid and the previous centroid is less than a predefined threshold, it can consider the clustering to have achieved the desired result, and the algorithm terminates. Otherwise, we need to iterate Step 3~Step 5.
From the flow of the k-means clustering algorithm, it can be seen that it is highly sensitive to the initial selection of centroids, and different random seeds can yield completely different clustering results, significantly influencing the outcome. Moreover, the k-means clustering algorithm focuses on clustering data points, while the research background of this study involves multiple heterogeneous UAVs flying to multiple rectangular regions to perform scanning tasks. Therefore, the dataset in this study consists of planes rather than points, making the k-means algorithm unsuitable for this study. Inspired by the iterative clustering idea of the k-means algorithm, this study proposes an algorithm called the coverage-based scanning clustering algorithm (CSCA), which includes three major phases: the initial cluster centers selection phase, the multi-regional initial clustering phase, and the clustering regions update phase. Additionally, we investigated the method for optimizing the access order of regions following the completion of the clustering process.
3.1. Initial Cluster Centers Selection Phase
The purpose of clustering the various regions is to allocate each clustered subset area to its corresponding UAVs to complete the overall task in the shortest possible time. This means that each UAV will be assigned to a sub-clustered area. Afterward, the UAVs will perform scanning tasks of the regions within their respective sub-clusters in a certain order.
The task completion time includes both flight time and scanning time. The clustering centers have spatiotemporal similarities (which will be explained in the second phase) with their corresponding subsets of regions. Consequently, the duration of the UAV flight time is partially influenced by the distance between the UAV base and the clustering center. In other words, the shorter the distance between the clustering center and the UAV base, the less time the UAV will spend on flight. Therefore, we take the bases of each UAV as the initial clustering center points for the CSCA algorithm. A set is used to store the clustering centers, where the serial number of cluster centers is equal to the serial number of UAVs involved in the given tasks. Each clustering center is defined as , where and represent the coordinates on the X-axis and Y-axis of the map, respectively. For each , a queue is utilized to indicate the indexes of regions that have been grouped into and would be scanned by UAV ; additionally, represents the total number of regions to be covered by .
3.2. Multi-Regional Initial Clustering Phase
After determining the initial cluster centers, the initial clustering methods for the regions will be proposed in this phase. A
-row and
-column matrix
is employed to characterize the connection between the regions targeted for clustering and the clustering centers.
is defined as a spatiotemporal similarity between cluster
and region
. It consists of two parts: the time taken by
to travel from the center
to the cluster center
, and the time taken by
to coverage
, i.e.,
The above equation
refers to the Euclidean distance between the regional center
and the cluster center
. It is necessary to calculate the spatiotemporal similarity of each
with all
in the set
to find the minimum value index
, and add the index
corresponding to
to the queue
, i.e.,
3.3. Clustering Regions Update Phase
This phase is the core of the proposed CSCA algorithm, where the cluster centers will continuously change with each iteration until the desired outcome is achieved. For the cluster
, the mean coordinates of all regional centers in this cluster are defined as the updated coordinates for the cluster center. Additionally,
is used as an approximate substitute for the task-completion time requirements of
, which can be written as,
From the above formulation, it can be deduced that the more regions contains, the larger will be. Consequently, this will lead to an overall increase in the total task completion time for UAV . Our goal in this study is to minimize the overall completion time of the entire heterogeneous UAV system, meaning that there is minimal difference in completion time between the UAVs. Thus, this can be equivalently represented as minimizing the difference between the maximum completion time and the minimum completion time of tasks.
In order to meet the maximum endurance constraint of UAVs, it is imperative to determine the remaining flight time
for each individual UAV
.
can be calculated via,
If there is any value less than 0, the of the with the lowest negative value should be assigned as . In order to reduce the regions of the cluster corresponding to and increase the regions of the cluster corresponding to , we proposed a region-transfer strategy based on the ranking of clustering center distance, which consists of mainly three steps. In the following steps, to enhance convenience and facilitate ease of understanding, the symbol and are employed as representations of and , respectively:
Step 1: Calculate the distances between the cluster center and all the remaining cluster centers and sort them in ascending order to obtain the sequence . is equal to , and each represents the index number of a cluster center.
Step 2: Compute the distance between all regions in the and the cluster center , then assign the region index with the minimum distance to the of cluster .
Step 3: If , it indicates the completion of the region transfer process, otherwise, define as , and remove from the sequence . Update by the distance between and other remaining cluster centers, then proceed to Step 2.
The schematic diagram of the algorithmic process described above is illustrated in
Figure 3. Once the clustered regions have been updated, recalculate the centroids for each cluster and
. The centroid coordinate of
can be calculated by
Subsequently, compute the disparity between the and values and ascertain whether it falls below the designated threshold. If the disparity is less than the threshold, the clustering assignment for all regions is considered complete. If not, proceed with the above region-transfer strategy.
To better understand the overall description of the coverage-based scanning clustering algorithm (indicated in
Section 3.1,
Section 3.2 and
Section 3.3), the entire pseudo-codes of this algorithm are shown in Algorithm 1.
Algorithm 1: Pseudo-Codes of Coverage-Based Scanning Clustering Algorithm |
Input: set of regions , set of UAVs |
Output: the final set of clusters and regional queue |
1: Take the base of each as the initial cluster center ; |
2: Build for each to store the index of regions; |
3: for to do |
4: for to do |
5: Calculate by Equation (11); |
6: end for |
7: end for |
8: for to do |
9: ; |
10: ; |
11: end for |
12: while the difference between and has not dropped below the specified threshold or the maximum number of iterations has not been reached, do |
13: Calculate the for each according to Equation (13) and determine and ; |
14: Update the for each according to Equation (14) and determine the minimum value ; |
15: if do |
16: Define the associated with as the ; |
17: end if |
18: Obtain the sequence according to the Step 1 of region-transfer strategy; |
19: while and have not completed the update, do |
20: Calculate the distance between all regions in the and ; |
21: Assign the regional index with the minimum distance to the ; |
22: if do |
23: break; |
24: else do |
25: ; |
26: Remove ; |
27: end if |
28: end while |
29: Recalculate the centroid coordinate of each according to Equation (15) |
30: end while |
3.4. Regional Sorting
After executing the clustering assignment for all regions, if the number of regions in a sub-cluster is greater than one, it is necessary to sort the order of scanning regions. Therefore, the scanning order of regions assigned to UAVs will be addressed in this phase. There are many strategies that can be employed to solve this problem, such as the Genetic algorithm (GA), particle swarm optimization (PSO), and various other heuristic algorithms. However, these algorithms have the problems of non-uniqueness in calculation results and slow computation. Therefore, we adopt the nearest-to-end (NE) policy, which has significant efficiency and reliability. In this policy, all the unallocated regions in each will be sorted. The policy involves two parts: initialization and interpolation.
- (1)
Initialization
A sequence
is used to denote the sequential order of tasks executed by
, and the region in the unallocated regions that is closest to the base
is chosen as the tail (
) of the sequence
. In addition,
is utilized as the head (
) of the sequence. Then, choose the unallocated region nearest to either the head or tail of the sequence,
, which can be represented as,
- (2)
Interpolation
After initialization, will be stored in . If is closer to the tail than to the head, is placed in the end of and will be deleted from ; thus, will be the new tail; otherwise, put the in the first place of and delete , thus becomes the new head. As a result, the unallocated regions in can be sorted using Equation (16) and placed in the by the head-tail update method described above until all regions in are allocated.
Once all the regions have been sorted, the mission duration of all UAVs can be calculated effortlessly using Equations (1) and (2), and the maximum duration signifies the overall mission duration of the entire heterogeneous UAV system. The pseudo-codes of the coverage-based scanning clustering algorithm with a nearest-to-end policy are shown in Algorithm 2, and the algorithm flowchart is shown in
Figure 4.
Algorithm 2: Pseudo-codes of coverage-based scanning clustering algorithm with Nearest-to-End Policy |
Input: set of regions , set of UAVs |
Output: The regions scan sequence for each |
1: get the set of clusters and regional queue according to Algorithm 1; |
2: for to do |
3: if do |
4: Initialize the ; |
5: the head of ; |
6: the tail of the region in the unallocated regions that is closest to the base ; |
7: Obtain by Equation (16); |
8: Place in by the nearest-to-end policy and remove ; |
9: while there is any unassigned region in do |
10: Calculate in unassigned regions; |
11: Insert in ; |
12: end while |
13: else do |
14: ; |
15: end if |
16: Calculate the time consumption of ; |
17: end for |
4. Bilateral Shortest-Selection Strategy-Based Trajectory Planning
In the previous section, we discussed the multi-region allocation method and obtained the regional scanning sequence for each UAV. Hence, this section will introduce a path-planning method for the UAV flights.
The back-and-forth scanning method [
21] is widely employed for regional scanning. When scanning a rectangular region
using the back-and-forth scanning method, the scanning can be performed along either its long side or its short side. Currently, the majority of studies concentrate on scanning a single region. Consequently, scanning along the longer side indeed yields a shorter path compared to scanning along the shorter side. However, in this study, a single UAV must sequentially scan multiple regions. Its route encompasses the scanning distance within each region, as well as the flight distance between regions. As a result, scanning along the longer side does not necessarily minimize the overall distance, as it may increase the inter-region distance. Therefore, this study proposes a multi-region scanning path-planning method based on minimizing the total flight distance called the bilateral shortest-selection strategy (BSSS).
As defined earlier in this study, the scanning width of the sensors carried by
is represented by
. Additionally,
has a total of 8 optional entry points
. They are classified into categories
and
, depending on whether they are located on the long side or the short side, as shown in
Figure 5. The red dots represent entry points on the long side, which means the UAV will scan along the shorter side of the region, while the blue dots represent entry points on the short side, which means the UAV will scan along the longer side of the region.
The current position of the UAV
is defined as
, and the areas to be scanned are
. The entry points
and
for the longer and shorter sides of region
will be determined by calculating the closest points in
and
to
, respectively, i.e.,
After defining the entry points of
,
would fly from
to
or
, using the back-and-forth scanning method and scanning along either the short or long sides. Upon completion of the scanning process, the departure points
and
will be identified for each region. Then, it is necessary to separately calculate the shortest distances between
and
with the optional entry points
of the next to-be-scanned region. Therefore, the flying distance
and
of the aforementioned process can be represented individually as:
Since the subsequent region can be scanned either along its longer or shorter edge, the last terms in Equations (19) and (20) are expressed as a weighted average. If , choose as the entry point and scan along the longer side of the region. Otherwise, choose as the entry point and scan along the shorter side of the region. Finally, the current exit point of the region will be defined as new , and we can employ the previously mentioned approach to determine both the entry point and the scanning method for the subsequent region.