Next Article in Journal
Heuristic Optimization-Based Trajectory Planning for UAV Swarms in Urban Target Strike Operations
Previous Article in Journal
UAV Icing: Aerodynamic Degradation Caused by Intercycle and Runback Ice Shapes on an RG-15 Airfoil
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Coverage Path Planning for UAVs: An Energy-Efficient Method in Convex and Non-Convex Mixed Regions

by
Li Wang
1,
Xiaodong Zhuang
1,
Wentao Zhang
1,
Jing Cheng
2 and
Tao Zhang
1,*
1
School of Software, Northwestern Polytechnical University, Xi’an 710072, China
2
School of Computer Science and Engineering, Xi’an Technological University, Xi’an 710021, China
*
Author to whom correspondence should be addressed.
Drones 2024, 8(12), 776; https://doi.org/10.3390/drones8120776 (registering DOI)
Submission received: 29 October 2024 / Revised: 19 December 2024 / Accepted: 19 December 2024 / Published: 20 December 2024

Abstract

:
As an important branch of path planning, coverage path planning (CPP) is widely used for unmanned aerial vehicles (UAVs) to cover target regions with lower energy consumption. Most current works focus on convex regions, whereas others need pre-decomposition to deal with non-convex or mixed regions. Therefore, it is necessary to pursue a concise and efficient method for the latter. This paper proposes a two-stage method named Shrink-Segment by Dynamic Programming (SSDP), which aims to cover mixed regions with limited energy. First, instead of decomposing and then planning, SSDP formulates an optimal path by shrinking the rings for mixed regions. Second, a dynamic programming (DP)-based approach is used to segment the overall path for UAVs in order to meet energy limits. Experimental results show that the proposed method achieves less path overlap and lower energy consumption compared to state-of-the-art methods.

1. Introduction

Unmanned aerial vehicles (UAVs) have become widely used in applications such as aerial photography [1] and rescue [2,3,4]. Due to restrictions on permitted flight regions and battery capacity, there has been extensive research on UAV path planning [5,6,7]. Coverage path planning (CPP) is a critical subset of UAV path planning. The primary challenge lies in designing feasible routes for UAVs within target regions to ensure thorough coverage of the entire space while optimizing energy consumption. Key objectives include minimizing redundant coverage, avoiding collisions between UAVs, and achieving specific tasks such as monitoring crop conditions or detecting targets.
Most existing approaches to CPP focus on obstacle avoidance [8,9,10], region decomposition [11,12], energy consumption [13,14], and UAV collaboration [15,16]. The methods for covering a region in these studies can be broadly categorized into two patterns, namely, back-and-forth (B&F) and spiral. Mu et al. [8] introduced the continuity constraint function within B&F to reduce coverage overlap. Nielsen et al. [11] showed that the travel direction in B&F should be aligned vertically relative to the shortest edge of the polygon. Cabreira et al. [13] proposed a spiral coverage method and optimized the speed along straight segments to minimize energy consumption. However, these methods are only suited for convex polygons; when applied to non-convex polygons, region decomposition is required. For example, Choset et al. [9] used a sweep line to partition regions, and Nielsen et al. [11] extended the edges of concave angles to decompose non-convex regions.
The studies mentioned above focused solely on single-region scenarios; however, in tasks such as disaster relief, the presence of rivers and mountains often leads to the division of the target area into several smaller regions. Using UAVs to cover multiple regions is generally divided into two steps: determining the regional access order, and determining the path within each region. The first step is similar to the traveling salesman problem (TSP). Based on this, Vasquez-Gomez et al. [17] proposed a two-step method called TSPP. First, TSPP estimates the cost using the distance between the centroids of polygons and applies a genetic algorithm (GA) to determine the visiting order. Second, it computes the B&F paths for each region based on this order. Xiao et al. [18] proposed a clustering algorithm called CSCA to assign regions to UAVs. In CSCA, UAV starting points are initialized as cluster centers. By adding regions to the clusters and updating them, each UAV is assigned at least one region. Then, the nearest-to-end policy and B&F pattern are used to determine the regional access order and intra-region paths. Du et al. [19] proposed a method that mixes B&F and spiral paths to ensure complete coverage of regions. In this method, the B&F path is generated by dividing the polygon into multiple strips based on the sensor’s width, while the spiral path is created using the perpendicular bisectors of the polygon’s edges. However, these algorithms only address energy consumption in the results, and do not take into account the constraints imposed by the drone’s battery capacity.
In fact, the energy constraint should be included in the problem’s assumptions. Xie et al. [20] defined the problem as an energy-constrained multiple TSP-CPP (EMTSP-CPP). This EMTSP-CPP requires the UAVs to collaboratively complete the coverage task under limited energy, with each UAV departing from the warehouse and returning after completing its task. Xie et al. used a GA combined with grouping to assign regions to each UAV. To achieve a similar objective, Ahmed et al. [21] employed a greedy algorithm integrated with a heuristic approach. Jiang et al. [22] used an improved fuzzy c-means clustering algorithm to assign regions, but did not account for intra-region paths. Unfortunately, the coverage paths resulting from these methods are not optimal. For one, if a UAV finishes covering a region and is closer to the next region than to its starting point, it should continue to the next region if it has enough energy. In addition, a single UAV may not be able to cover a large region of interest on its own. To address these issues, Luna et al. [23] proposed the BINPAT algorithm, which first designs a globally optimal coverage path and then divides it among the UAVs. Compared to regional division, route division considers UAV incorporation rather than merely ensuring that they do not interfere with each other. While BINPAT is implemented using the Jonker–Volgenant algorithm [24], its time complexity of O ( n 3 ) results in significant computational time when the number of waypoints is large. Furthermore, BINPAT simplifies the energy constraint to a distance constraint without accounting for the energy consumption caused by UAVs needing to make turns.
This paper aims to determine the optimal coverage paths for energy-constrained UAVs in convex and non-convex mixed regions. To achieve this goal, a two-stage method called Shrink-Segment by Dynamic Programming (SSDP) is proposed. In its first stage, SSDP uses a polygon offset-based shrink method to generate shrinking rings. With the objective of minimizing energy consumption, shrinking rings from each region are then connected sequentially from the outermost to the innermost, resulting in an optimal coverage path. In the second stage, a dynamic programming (DP)-based approach is used to segment the overall path for UAVs. The principal contributions of this research are as follows:
  • A shrink method is proposed which is suitable for both convex and non-convex regions. This method reduces operational complexity is directly applicable to non-convex regions, thereby avoiding the need for pre-decomposition.
  • A DP-based approach is proposed to optimally segment the overall path among UAVs, allowing some UAVs to remain on standby rather than adhering to the principle of equal or maximum load distribution.
  • The proposed SSDP ensures that UAVs meet their respective energy constraints while minimizing overall energy consumption.
The remainder of this paper is organized as follows: the problem formulation and method overview are introduced in Section 2; Section 3 provides details on the shrink method, followed by the DP-based approach in Section 4; experimental results and discussion are presented in Section 5; finally, Section 6 presents our conclusion.

2. Problem Definition and Method Overview

This section employs mathematical symbols to describe the coverage path planning problem for UAVs. First, the inputs and outputs of the problem are defined. Second, the constraints are established to ensure the feasibility of path planning and comprehensive region coverage. Finally, the overall framework of the proposed SSDP method is outlined.

2.1. Problem Formulation

In this study, we deploy N homogeneous UAVs { u n , n [ 1 , N ] } , which all start from a warehouse w 0 , to scan M regions { R m , m [ 1 , M ] } . Region R m = ( v m 1 , v m 2 , . . . , v m r m ) can be of any type, either convex or non-convex, with v m r m = ( x m r m , y m r m ) indicating the coordinates of the r m -th vertex. Here, x m r m and y m r m denote the horizontal and vertical coordinate, respectively. The number of vertices in each region is not fixed, with r m being determined case-by-case.
We assume that UAV u n flies at a constant speed V and has an energy constraint E n . Because all UAVs are of the same type, their energy consumption is identical. Let E = E 1 = E 2 = = E n represent this common energy consumption. The sensor model of UAV is shown as Figure 1, where L 1 represents the longitudinal scanning length of the sensor camera; correspondingly, L 2 represents the lateral scanning length. To ensure thorough scanning of these target regions, it is required that the images captured by the UAVs have a certain overlap length, denoted as L 1 and L 2 for the longitudinal and lateral directions, respectively.
Each UAV is authorized to access all regions. Additionally, considering that the core objective of the coverage task is to obtain comprehensive ground data, the UAVs fly at a sufficient altitude, eliminating the need to avoid any obstacles.
The task result is to distribute a series of waypoints { W n , n [ 1 , N ] } to the UAV swarm that provides coordinated coverage of all target regions. In this context, W n = ( w n 1 , w n 2 , . . . , w n k n ) represents the flight path for UAV u n , with w n k n = ( x n k n , y n k n ) being the k n -th waypoint.

2.2. Problem Constraints

This section analyzes the constraints that must be followed when UAVs cover mixed regions. Moreover, an optimization model is developed to enable the UAVs to complete the coverage task with minimal energy consumption.
Constraint 1 (C1): All UAVs are required to depart from the warehouse w 0 before executing their tasks and return to the warehouse upon completion. Therefore, W n = ( w n 1 , w n 2 , . . . , w n k n ) must satisfy the following condition:
n [ 1 , N ] , w n 1 = w n k n = w 0
where w n 1 represents the first waypoint of UAV u n and w n k n represents its last waypoint.
Constraint 2 (C2): To ensure complete coverage, each region must be covered by at least one UAV. We define a variable c n , m to indicate whether u n is involved in the coverage of R m . The value of c n , m is defined as shown below.
w n i W n , i [ 2 , k n 1 ] , c n , m = 1 , w n i located within R m 0 , otherwise
Furthermore, c n , m must satisfy the following condition:
m [ 1 , M ] , n = 1 N c n , m 1 .
Constraint 3 (C3): To avoid multiple coverage, a UAV can cover a maximum of M regions; thus, the variable c n , m must satisfy the following constraint:
n [ 1 , N ] , 0 m = 1 M c n , m M .
Constraint 4 (C4): Due to the maximum energy consumption E of the UAV, the waypoint set W n of u n must satisfy the following constraint:
n [ 1 , N ] , λ 1 × i = 1 k n 1 d ( w n i , w n i + 1 ) + λ 2 × i = 2 k n 1 a ( w n i 1 , w n i , w n i + 1 ) E
where λ 1 represents the weight of distance in energy consumption and λ 2 denotes the weight of turning in energy consumption; according to [25], the values of the coefficients λ 1 and λ 2 have been determined as 0.1072 and 0.0104, respectively. Additionally, d ( w n i , w n i + 1 ) represents the path distance for u n from w n i to w n i + 1 , while a ( w n i 1 , w n i , w n i + 1 ) represents the turning angle for u n travels from w n i 1 through w n i to w n i + 1 .
In this paper, we aim to plan a series of paths that allows the UAVs to cover these target regions while minimizing energy consumption as much as possible. The total energy consumption of the UAV swarm is determined by the sum of the path distances and the turning angles of each UAV, expressed as follows:
p = λ 1 × n = 1 N i = 1 k n 1 d ( w n i , w n i + 1 ) + λ 2 × n = 1 N i = 2 k n 1 a ( w n i 1 , w n i , w n i + 1 ) .
Finally, the mission optimization process can be formulated as
min p s . t . C 1 , C 2 , C 3 , C 4
Calculating the Euclidean distance between waypoints is required in Equation (6). This introduces a nonlinear objective function, making it a nonlinear programming (NLP) problem. Furthermore, the selection of coverage paths involves combinatorial complexity. As the number of regions increases, the number of possible path combinations grows exponentially. Therefore, this problem is also classified as NP-hard, indicating high computational complexity.

2.3. Method Overview

We propose a two-stage method to address this problem, which we name SSDP. In the first stage, the shrink method generates an optimal coverage path through three steps: first, shrinking rings for each region are generated using the polygon offset method; second, the shrinking rings are broken into waypoints; and finally, these waypoints are connected to form the optimal coverage path. In the second stage, we employ a DP-based approach combining a two-dimensional matrix with memoization to segment the path into individual flight paths for the UAVs. The flowchart of SSDP is shown in Figure 2.

3. Optimal Coverage Path Generation

This section provides a detailed explanation of the first stage of SSDP. The core idea is to use iterative polygon offsetting operations to generate an optimal coverage path for all target regions, whether convex or non-convex. The following subsections discuss the principles of generating shrinking rings through polygon offset, strategies for evenly distributing waypoints, and methods for orderly connection of waypoints between rings. These steps lay a solid foundation for the subsequent path segmentation and allocation processes.

3.1. Shrinking Ring Generation

First, we take the boundary of the region as the initial shrinking ring. Using the polygon offset method, the first ring is shifted inward by a distance of L 1 L 1 to generate the second shrinking ring. The same method is then applied to generate the third shrinking ring. In certain cases, offsetting the previous shrinking ring may result in multiple new shrinking rings. We use a depth-first search strategy to continue generating these rings. The search process continues until a UAV flying along a specific shrinking ring can fully observe all of the information within the ring, at which point that shrinking ring is considered the final one.
The polygon offset method we employ here is our improvement of the work by Lee et al. [26]. The polygon offset method generates offset vertices by using the vertices of the previous shrinking ring and organizes them into an offset vertex list OVL . Next, adjacent offset vertices in OVL are connected to form offset edges, which are then organized into an offset edge list OEL . By comparing the directional and positional information, each offset edge is assigned an o f f _ d i r and o f f _ p o s attribute; o f f _ d i r = 0 indicates that the direction is invalid, meaning that the offset edge formed by the two offset vertices is oriented oppositely to the original edge created by the corresponding two original vertices, while o f f _ p o s = 0 indicates that the entire offset edge lies within the scanning area of a UAV flying along the previous shrinking ring, and as such contributes nothing to the current shrinking ring. On the other hand, o f f _ d i r = 1 and o f f _ p o s = 1 respectively signify that the direction and position attributes are valid.
We then begin traversing the OEL from the start. We set the first offset edge with both o f f _ d i r and o f f _ p o s equal to 1 as the backward edge and set the second offset edge with both o f f _ d i r and o f f _ p o s equal to 1 as the forward edge. The i n v _ d i r and i n v _ p o s attributes are used to record the invalid direction and position information of the offset edges between the backward and forward edges. The core of the polygon offset method consists of applying corresponding procedures based on i n v _ d i r and i n v _ p o s to extract the required vertices from the offset vertices. In the subsequent process, the current forward edge is set as the backward edge and the next offset edge with both o f f _ d i r and o f f _ p o s equal to 1 is set as the forward edge. This loop continues until all offset edges have been considered as potential backward edges. All extracted vertices are then organized into an extracted vertex list EVL .
Lee et al. [26] classified the possible distributions of i n v _ d i r and i n v _ p o s into five categories: CASE 1.1, CASE 1.2, CASE 2, CASE 3.1, and CASE 3.2; however, through extensive exploration, we found that the existing cases do not encompass all possible situations. For instance, CASE 3.2 was designed to address scenarios where more than two directionally invalid offset edges occur during the offset process, but it only handles cases where the backward edge and forward edge are parallel. In practice, the backward and forward edges are often not parallel. Even when the backward and forward edges are parallel, the method used in CASE 3.2 can still result in incomplete coverage. As shown in Figure 3a, the vertices of the previous shrinking ring are labeled as v 1 to v 6 . Among these, the edges ( v 5 v 6 ) and ( v 3 v 4 ) are parallel. The offset vertices corresponding to these are labeled as ov 1 to ov 6 . When ( ov 5 ov 6 ) is the backward edge and ( ov 3 ov 4 ) is the forward edge, I 1 and I 2 are the intersection points chosen by the CASE 3.2 strategy. In Figure 3b, the current shrinking ring consists of vertices v 1 to v 4 . By flying along these two shrinking rings, the UAV is unable to fully cover the intermediate area.
Based on these observations, we have reorganized the cases into CASE 1, CASE 2, CASE 3.1, CASE 3.2, and CASE 3.3, improving the algorithm to address all scenarios during the offset process.
CASE 1: i n v _ d i r = 0 and i n v _ p o s = 0 . There are no invalid offset edges in terms of direction or position between the backward edge and the forward edge. For this case, it is sufficient to include the terminal offset vertex of the backward edge in EVL . As illustrated in Figure 4a, ( ov 1 ov 2 ) represents the backward edge and ( ov 2 ov 3 ) represents the forward edge; therefore, only ov 2 should be added to EVL .
CASE 2: i n v _ d i r = 0 and i n v _ p o s 1 . All offset edges between the backward edge and the forward edge are valid in terms of direction, but there is at least one positionally invalid offset edge. In this case, these offset edges result in globally invalid loops. We begin by sequentially adding the terminal offset vertex of the backward edge, all intermediate offset vertices, and the initial offset vertex of the forward edge to the EVL . Trimming is performed subsequently. As depicted in Figure 4b, ( ov 2 ov 3 ) represents the backward edge and ( ov 4 ov 5 ) represents the forward edge; thus, ov 3 and ov 4 are added to EVL in sequence. Figure 4c shows the globally invalid loop generated by ( ov 2 ov 3 ) , ( ov 3 ov 4 ) , ( ov 4 ov 5 ) , and  ( ov 7 ov 8 ) .
CASE 3.1: i n v _ d i r = 1 . There is only one directionally invalid offset edge between the backward edge and the forward edge. The strategy for handling this case is to determine the intersection point between the backward edge and the forward edge and add it to EVL . As shown in the Figure 4d, ( ov 1 ov 2 ) represents the backward edge and ( ov 3 ov 4 ) represents the forward edge. Because ( ov 2 ov 3 ) is a directionally invalid edge, the intersection point I between ( ov 1 ov 2 ) and ( ov 3 ov 4 ) is added to EVL .
CASE 3.2: i n v _ d i r 2 and the backward edge intersects the forward edge. The approach for this scenario is the same as in CASE 3.1. Figure 4e illustrates that ( ov 4 ov 5 ) is the backward edge and ( ov 7 ov 1 ) is the forward edge. The edges ( ov 5 ov 6 ) and ( ov 6 ov 7 ) situated between them are directionally invalid. We calculate the intersection point I of ( ov 4 ov 5 ) and ( ov 7 ov 1 ) and add it to EVL .
CASE 3.3: i n v _ d i r 2 and the backward edge does not intersect the forward edge. The method here involves first sequentially traversing the directionally invalid offset edges between the backward and forward edges, then calculating their intersection point { I 1 1 , I 1 2 , . . . , I 1 i , . . . I 1 i n v _ d i r } with the backward edge. Subsequently, the minimum distance d I 1 i between I 1 i and all original edges is calculated. Then, I 1 i is added to the preselected list only if it lies inside the shrinking ring and d I 1 i L 1 L 1 . The shortest distance from the points in the preselected list to the original edges is expressed as d * = min { d I 1 i | d I 1 i L 1 L 1 } . Finally, the I 1 i corresponding to d * from the preselected list is selected and added to EVL . The intersection point I 2 with the forward edge is then added to EVL using the same procedure. As shown in Figure 4f, ( ov 5 ov 6 ) represents the backward edge and ( ov 3 ov 4 ) represents the forward edge. The intersection points of ( ov 6 ov 1 ) , ( ov 1 ov 2 ) , and ( ov 2 ov 3 ) with ( ov 5 ov 6 ) are I 1 1 , I 1 2 , I 1 3 , respectively. Given that d I 1 1 < L 1 L 1 and d I 1 2 < d I 1 3 , I 1 2 is set as I 1 and added to EVL . Similarly, I 2 from the intersection points with ( ov 3 ov 4 ) is added to  EVL .
According to CASE 2, EVL may form globally invalid loops. These loops fall entirely within the UAV’s photography range as it follows the previous shrinking ring. This results in no improvement in coverage and increases the path length. To eliminate these globally invalid loops, we identify the self-intersection points within the overall loop formed by EVL . Based on these points, we trim the line segments and ultimately extract the shrinking rings.
To facilitate a clearer understanding of the process of generating shrinking rings, the full pseudocode of the algorithm is provided in Algorithm 1.
Algorithm 1 Generate the Shrinking Ring List for the Region
Input: Region R m = ( v m 1 , v m 2 , . . . , v m r m ) , the longitudinal scanning length L 1 , the overlap length in the longitudinal direction L 1
Output: The shrinking ring list SRL m = ( S m 1 , S m 2 , . . . , S m i d x , . . . , S m n m ) , where n m denotes the number of shrinking rings, varying by region.
 1:
SRL m ( )
 2:
Initialize the list T 1 to store the shrinking rings to be offset: T 1 ( R m )
 3:
while T 1 ( ) do
 4:
    Set the previous shrinking ring: S the head of T 1
 5:
    Append S to the tail of SRL m
 6:
    Generate OVL from S
 7:
    Generate OEL from OVL
 8:
    Set the o f f _ p o s and o f f _ d i v attributes for each offset edge in OEL
 9:
    Iterate through OEL and extract EVL based on different cases.
10:
    Connect adjacent vertices in EVL to form extracted edge list EEL .
11:
    Insert intersection points into the EVL based on the intersections of the edges in the EEL .
12:
    Reconstruct EEL based on the new EVL .
13:
    Remove edges from the EEL that are within a minimum distance of less than L 1 L 1 from each edge of S
14:
    Initialize the list T 2 to store the offset edges: T 2 ( )
15:
    for  i 1 to size of EEL  do
16:
        Append EEL [ i ] to the tail of T 2
17:
         e n d size of T 2
18:
         b e g i n e n d 1
19:
        while  b e g i n 1  do
20:
            if the start vertex of T 2 [ b e g i n ] = the end vertex of T 2 [ e n d ]  then
21:
                 Form S m i d x by extracting the start vertices of edges indexed from b e g i n to e n d
22:
                 Append S m i d x to the head of T 1
23:
                 Remove edges in T 2 with indices from b e g i n to e n d
24:
                  break
25:
            else
26:
                  b e g i n b e g i n 1
27:
            end if
28:
        end while
29:
    end for
30:
end while

3.2. Waypoint Generation

After the shrinking ring has been generated, waypoints must be created along each segment to ensure subsequent coverage by multiple UAVs. For a segment of length l in a shrinking ring, the number of waypoints l n is calculated as follows:
l n = l L 2 2 l g
where l g = L 2 L 2 denotes the distance between waypoints. To ensure that waypoints are evenly spaced, L 2 should be adjusted according to the value of l n . This adjustment is expressed as follows:
L 2 ¯ = l n 1 2 L 2 l l n 1 .
Accordingly, the interval distance l g between waypoints should be revised to l g ¯ . This revised interval is expressed as
l g ¯ = L 2 L 2 ¯ .

3.3. Connecting Waypoints

To obtain the optimal coverage path, the first step is to determine the regional access order. A widely-used strategy involves treating the center of each region as a representative point and optimizing the visit sequence of these centers using a TSP solver [17,18,19,20,27]. Therefore, we utilize the Self-Organizing Map (SOM) [28] algorithm to establish the visiting order of regions, which is a well-documented method used in previous studies [29,30]. After the visit order of the regions is determined, the corresponding SRL m is arranged accordingly. Then, the optimal coverage path can be formed by sequentially connecting the waypoints in each shrinking ring S m i d x of SRL m .
For S m i d x = ( w m , i d x 1 , w m , i d x 2 , . . . , w m , i d x n i d x ) , n i d x represents the number of waypoints in the shrinking ring, while w m , i d x n i d x denotes the n i d x -th waypoint of the i d x -th shrinking ring generated by region R m . Thus, there are n i d x possible ways to integrate S m i d x into the optimal coverage path: P m , i d x = { ( w m , i d x 1 , w m , i d x 2 , . . . , w m , i d x n i d x ) , ( w m , i d x 2 , w m , i d x 3 , . . . , w m , i d x 1 ) , . . . , ( w m , i d x n i d x , w m , i d x 1 , . . . , w m , i d x n i d x 1 ) } . Suppose that in the n i d x -th sub-path of P m , i d x , the first waypoint is denoted as P m , i d x n i d x , 1 and the last waypoint is denoted as P m , i d x n i d x , n i d x . Then, the cost of P m , i d x n i d x is computed based on the waypoint P m , i d x n i d x , 1 and P m , i d x n i d x , n i d x using the following formula:
P m , i d x n i d x = λ 1 × ( d ( P m , i d x n i d x , 1 , w b ) d ( P m , i d x n i d x , 1 , P m , i d x n i d x , n i d x ) ) + λ 2 × ( a ( w b , P m , i d x n i d x , 1 , P m , i d x n i d x , 2 ) a ( P m , i d x n i d x , n i d x , P m , i d x n i d x , 1 , P m , i d x n i d x , 2 ) )
where w b refers to the backward reference point, typically the last waypoint of the previous-level shrinking ring. However, for the first-level shrinking ring, w b corresponds to the warehouse. This indicates that when forming the optimal coverage path, the connection between P m , i d x n i d x , 1 and P m , i d x n i d x , n i d x in the current shrinking ring S m i d x is broken and P m , i d x n i d x , 1 is connected to w b , resulting in new distance and turning costs. Thus, the connection way is determined as follows:
P m , i d x * = argmin m [ 1 , M ] P m , i d x n i d x .
Based on this, the pseudocode for the first stage of SSDP is presented in Algorithm 2.
Algorithm 2 Generate the Optimal Coverage Path
Input: Region set { R m } , the longitudinal and lateral scanning length L 1 , L 2 , the overlap length in the longitudinal and lateral direction L 1 , L 2 , warehouse w 0 , the weights for distance and turning in energy consumption λ 1 and λ 2
Output: A optimal coverage path G = ( w 1 , w 2 , , w g , , w G )
 1:
for  m 1 to M do
 2:
   Generate SRL m = ( S m 1 , S m 2 , . . . , S m n m ) by R m using Algorithm 1
 3:
   for  S m i d x SRL m  do
 4:
      Traverse each edge of S m i d x and insert waypoints
 5:
   end for
 6:
end for
 7:
Determine the region visitation order using a TSP solver (SOM)
 8:
G ( )
 9:
for  m 1 to M do
10:
   Retrieve the SRL m corresponding to the m-th region in the visitation order
11:
   for  S m i d x SRL m  do
12:
      Merge S m i d x into the tail of G according to P m , i d x * , calculated by Equation (12)
13:
   end for
14:
end for

4. Path Segmentation

Given that the optimal coverage path G = ( w 1 , w 2 , , w g , , w G ) is formed by sequenced waypoints, multiple UAVs can achieve collaborative coverage by having each take on non-overlapping segments of the path. When using waypoints as the units of segmentation, the minimum energy consumption problem for the UAV swarm transforms into a combinatorial optimization problem. Specifically, we regard each waypoint as a decision stage; during the solution process, each stage must be considered sequentially, with each stage having its own optimal solution. Additionally, to determine the optimal solution for a stage, we must consider the optimal solutions of all preceding stages. Put another way, this problem is characterized by optimal substructure and overlapping subproblems, making the DP-based method the appropriate solution.

4.1. State Transition Matrix Design

The state transition matrix crucial for correctly solving problems and finding the optimal solution with the DP algorithm. Here, we design a two-dimensional matrix D as the state transition matrix. The length of D corresponds to the number of waypoints in G and its width is determined by the maximum number of available drones N. The value D [ n ] [ g ] in the matrix represents the subproblem, that is, the minimum energy consumption for visiting the first g waypoints with n drones.

4.2. Initialization and State Transition

Before initialization, the distances and angles between waypoints are precomputed and stored in the arrays l and a . These precomputations are defined as follows:
l [ g ] = 0 , g = 1 l [ g 1 ] + d ( w g 1 , w g ) , 1 < g G
a [ g ] = 0 , g = 1 a [ g 1 ] + a ( w g 1 , w g , w g + 1 ) , 1 < g < G
where l [ g ] represents the total path distance from waypoint w 1 to waypoint w g in the optimal coverage path and a [ g ] represents the total path angle from waypoint w 1 to waypoint w g + 1 . Here, d ( · , · ) denotes the Euclidean distance between two waypoints and a ( · , · , · ) represents the turning angle of the path formed by three sequential waypoints.
We initialize each element in the first row of D using the following formula.
D [ 1 ] [ g ] = λ 1 × 2 × d ( w 0 , w 1 ) + λ 2 × a ( w 0 , w 1 , w 0 ) , g = 1 λ 1 × d ( w 0 , w 1 ) + l [ g ] + d ( w g , w 0 ) + λ 2 × a ( w 0 , w 1 , w 2 ) + a [ g 1 ] + a ( w g 1 , w g , w 0 ) , 1 < g G
This indicates that the first drone starts from depot w 0 , visits w 1 , w 2 , . . . , w G in sequence, and then returns to the depot. After this calculation, the values must be checked to eliminate infeasible scenarios, as expressed below:
D [ 1 ] [ g ] = D [ 1 ] [ g ] , D [ 1 ] [ g ] E + , D [ 1 ] [ g ] > E
where D [ 1 ] [ g ] represents the energy cost for UAV u 1 to travel sequentially from the warehouse w 0 through intermediate waypoints w 1 , w 2 , . . . , finally reaching w g before returning to the warehouse. If this energy cost exceeds its energy constraint, the process is deemed infeasible and the cost is set to infinity. At this point, the reachable waypoints are temporarily assigned to u 1 , while the unreachable waypoints are assigned to other UAVs for completion.
Then, the first column of D is initialized as follows:
D [ n ] [ 1 ] = λ 1 × 2 × d ( w 0 , w 1 ) + λ 2 × a ( w 0 , w 1 , w 0 ) , 1 n N .
This shows that when there is only one waypoint w 1 in the path; the drone departs from the warehouse w 0 , visits w 1 , and immediately returns to w 0 . Furthermore, because D [ 1 ] [ 1 ] = D [ 2 ] [ 1 ] = . . . = D [ N ] [ 1 ] , only the first drone is required for this task, while the other drones can remain on standby.
Continuing with the matrix solution, we focus on the remaining components; D [ n ] [ g ] can be derived from the subproblem D [ n 1 ] [ k ] , with its value calculated as follows:
t k = D [ n 1 ] [ k ] + λ 1 × t k 1 + λ 2 × t k 2 ,
1 k < g , 2 g G , 2 n N
where t k is a candidate for D [ n ] [ g ] composed of D [ n 1 ] [ k ] , t k 1 , t k 2 . Specifically, t k 1 represents the distance cost for the n-th UAV, expressed as
t k 1 = d ( w 0 , w k + 1 ) + l [ g ] l [ k + 1 ] + d ( w g , w 0 ) , 1 k < g .
Meanwhile, t k 2 denotes the turning cost for the n-th UAV, described as follows.
t k 2 = a ( w 0 , w k + 1 , w k + 2 ) + a [ g 1 ] a [ k + 1 ] + a ( w g 1 , w g , w 0 ) , 1 k < g 1 a ( w 0 , w g , w 0 ) , k = g 1
This formulation assumes that the first k waypoints are handled by the first n 1 UAVs. The n-th UAV begins its route at the warehouse, sequentially visits waypoints w k + 1 , w k + 2 , . . . , w g , and returns to the warehouse. The value of D [ n ] [ g ] is then determined as the smallest t k among all candidates.
Therefore, the optimal solution for DP [ n ] [ g ] can be obtained from these values as follows:
D [ n ] [ g ] = min 1 k < g { t k t k D [ n 1 ] [ k ] E } .
Alternatively, if the value of D [ n ] [ g ] calculated from the above formula is greater than D [ n 1 ] [ g ] , then D [ n ] [ g ] should be set to D [ n 1 ] [ g ] . This indicates that all g waypoints are to be handled by the first n 1 UAVs, meaning that the n-th UAV is not needed, that is, the optimal solution can be achieved with only the first n 1 UAVs. The final expression for D [ n ] [ g ] is as follows:
D [ n ] [ g ] = min D [ n 1 ] [ g ] , min 1 k < g { t k t k D [ n 1 ] [ k ] E } .
Finally, the values in the last row and last column of the matrix signify the minimum energy consumption for the UAV swarm. The time complexity of the path segment algorithm is primarily determined by this part. The time complexity is O ( N G 2 ) , where N represents the number of drones and G denotes the number of waypoints in the optimal coverage path. In practice, the computation can stop when D [ n ] [ G ] equals D [ n 1 ] [ G ] , which indicates that the n-th drone and all subsequent drones are not required for coverage.

4.3. Tracing the Optimal Solution

After the optimal solution is determined, we can trace back through the state transition matrix to allocate waypoints to each UAV. We start from the last element in the final row, D [ N ] [ G ] ; if D [ N ] [ G ] = D [ N 1 ] [ G ] , it implies that the N-th UAV was not employed and no waypoints were assigned to it. Otherwise, we should trace back using Equation (21) to determine that it was derived from D [ N 1 ] [ k ] and assign the waypoints ( w k + 1 , . . . , w G ) to the N-th drone. Next, we determine the waypoints assigned to the ( N 1 ) -th drone in the same manner from D [ N 1 ] [ k ] . Finally, when n = 1 , all remaining waypoints are allocated to the first UAV. The steps of the algorithm are presented in Algorithm 3.
Algorithm 3 Path Segmentation
Input: the optimal coverage path G = ( w 1 , w 2 , , w g , , w G ) , warehouse w 0 , the weights for distance and turning in energy consumption λ 1 and λ 2 , energy constraint E
Output: the flight paths for UAVs { W 1 , W 2 , . . . , W n }
 1:
for  g 1 to G do
 2:
    Calculate the elements of array l and a by Equations (13) and (14), respectively.
 3:
end for
 4:
Initialize the first row of D by Equation (15).
 5:
Check whether the first row of D satisfies the energy constraints using Equation (16).
 6:
Initialize the first column of D by Equation (17).
 7:
for  n 2 to N do
 8:
    for  g 2 to G do
 9:
         Calculate the value of D [ n ] [ g ] by Equation (22).
10:
   end for
11:
end for
12:
g G
13:
for  n N to 1 do
14:
    if  n = 1  then
15:
        Assign the waypoint sequence W 1 = ( w 0 , w 1 , , w g , w 0 ) to UAV u 1 .
16:
        break
17:
    end if
18:
    if  D [ n ] [ g ] = D [ n 1 ] [ g ]  then
19:
        Assign the waypoint sequence W n = ( ) to UAV u n .
20:
    else
21:
        for  k 1 to g 1  do
22:
            if  D [ n ] [ g ] is derived from D [ n 1 ] [ k ] by Equation (21) then
23:
               Assign the waypoint sequence W n = ( w 0 , w k + 1 , , w g , w 0 ) to UAV u n .
24:
                g k
25:
            end if
26:
        end for
27:
    end if
28:
end for

5. Experiments and Discussion

In this section, we describe some simulation scenarios created for our computational experiments. Visual Studio Code 1.87.0 was the simulation experiment platform software, and the hardware setup of the experimental system included a 2.4 GHz 4-Core Intel Core i5 processor, with the programming language being C++. The analysis of tables and line charts was conducted using OriginPro 2021. The path simulation diagrams were created using the matplotlib library in Python.

5.1. Parameter Setting

For the experiments, the field of view for the UAV cameras was configured to 4 m × 4 m. The images captured by the drones were required to have an overlap of 1 m in both length and width. The maximum energy consumption for each UAV was capped at 1000 kJ. Each drone was required to depart from the warehouse, complete the coverage task, and return to the warehouse.
The specific parameter settings of the map along with the target regions are shown in Table 1. These regions are either convex or non-convex. In order to exclude the influence of the shape of the region, all convex regions had the same shape and all non-convex regions had the same shape. Each region was equal in size; in addition, the warehouse coordinate was not located within any region, and all regions did not intersect with each other.
In order to verify the effectiveness and superiority of SSDP, we set up the following three experimental scenarios and used the total energy consumption of the UAV swarm as the experimental evaluation metric:
  • Increasing the proportion of non-convex regions in the total regions; the experimental details are provided in Section 5.2.
  • Increasing the total area while maintaining the ratio of convex to non-convex regions; the experimental details are provided in Section 5.3.
  • Increasing the number of UAVs; the experimental details are provided in Section 5.4.
  • Adjusting the decomposition strategy; the experimental details are provided in Section 5.5.
The following models were selected as comparison models:
  • Benchmark model: B&F-Avg. In this model, the SOM method is used to determine the visitation order of regions, after which the B&F pattern coverage paths are generated for each region according to the visitation order. These paths are then connected end-to-end to form a optimal coverage path. Finally, the optimal coverage path is segment equally among the UAVs based on length.
  • Ablation model: B&F-DP. The only difference between this method and B&F-Avg is the use of the DP-based method to segment the optimal coverage path among the UAVs.
  • State-of-the-art methods: GASC [20] and BINPAT [23].
Because the B&F pattern cannot be applied directly to non-convex regions, these methods require pre-decomposing the regions into convex parts.

5.2. Increasing the Proportion of Non-Convex Regions

In this experiment, a total of 20 convex regions were randomly generated. These regions were gradually replaced by non-convex regions in increments of 2. The number of UAVs was set at 3. Table 2, Table 3 and Table 4 list the statistical results for the UAV swarm’s total path distance, total path angle, and energy consumption, respectively. Figure 5 illustrates the changes in energy consumption as the proportion of non-convex regions increases. Figure 6 shows the UAV swarm paths generated by each model when all regions are non-convex.
From Table 2 and Table 3 and Figure 5, it can be observed that the path generated by GASC is consistently the shortest among those produced by methods based on the B&F pattern, which include B&F-Avg, B&F-DP, and BINPAT. This holds true across different proportions of non-convex regions. However, when the proportion exceeds 10%, the total turning angle of GASC becomes greater than that of B&F-Avg and B&F-DP. When the proportion exceeds 60%, it also surpasses BINPAT. Consequently, when the proportion exceeds 70%, the energy consumption of GASC surpasses that of B&F-DP and BINPAT. This indicates that the shortest path does not necessarily result in the lowest energy consumption. Additionally, because the B&F pattern requires decomposing concave regions for coverage, the path length of GASC exceeds that of SSDP when the proportion of non-convex regions surpasses 40%.
Unlike other methods, BINPAT uses the nearest-neighbor approach to determine the order of region visits. This approach is highly influenced by the shape and location of the regions, meaning that its energy consumption does not always increase with the proportion of non-convex regions. However, it still shows an overall upward trend. As the proportion of non-convex regions increases, the number of subregions generated by decomposition also rises, narrowing the gap between the nearest-neighbor method and the TSP solver. Consequently, when the proportion exceeds 70%, BINPAT’s energy consumption is lower than that of B&F-Avg and GASC, although it still falls short compared to B&F-DP and SSDP. This suggests that in order to achieve the lowest energy consumption, a TSP solver should be used to determine the order of region visits.
The energy consumption of SSDP falls below that of BINPAT when the proportion of non-convex regions reaches 20%, below B&F-Avg at 40%, and subsequently falls below B&F-DP and GASC at 50%. This demonstrates the superiority of optimal coverage path generation in handling non-convex regions. B&F-DP consistently consumes less energy than B&F-Avg and BINPAT, and its energy consumption drops below that of GASC when the proportion of non-convex regions exceeds 40%, proving the effectiveness of the DP-based approach. Additionally, as shown in Figure 6, SSDP and B&F-DP require only two UAVs to complete the coverage task in all scenarios. This indicates that the DP-based approach not only reduces the total energy consumption of the UAV swarm but also conserves UAV resources.

5.3. Increasing the Total Area

In this section, the ratio of convex to non-convex regions was set to 1:1, then the number of regions was increased from 4 to 28 in increments of 4. The number of UAVs was 3. Table 5, Table 6 and Table 7 list the statistical results for the UAV swarm’s total path distance, total path angle, and energy consumption, respectively. Figure 7 illustrates the changes in the energy consumption as the number of regions increases.
As shown in Table 5, SSDP reduces total path distance by approximately 14.63–25.43% compared to B&F-Avg, by about 8.18–11.26% compared to B&F-DP, by around 5.84–20.90% compared to BINPAT, and by approximately 3.13–6.68% compared to GASC. This is because SSDP can directly address non-convex regions, significantly shortening the coverage path. Combined with the data from Table 6, it can be observed that B&F-DP reduces the total path distance by approximately 3.97–18.78% and decreases the total turning angles by about 1.29–3.96% compared to B&F-Avg. This indicates that the DP-based approach can effectively reduce both path distance and turning angle, thereby reducing energy consumption.
As shown in Figure 7, when the number of regions is less than 16, the energy consumption gap between B&F-Avg, BINPAT, and SSDP gradually increases. However, at 16 regions this gap narrows, only to resume its widening trend afterward. This is because SSDP deploys more UAVs when the number of regions reaches 16, leading to higher energy consumption, primarily due to the additional path distance and turns required for the new UAV to reach its waypoints and return to the depot. Similarly, when the number of regions is less than 16, the energy consumption gap between B&F-DP and SSDP also gradually increases. However, after reaching 16 regions, B&F-DP also deploys more UAVs, resulting in an even greater energy consumption gap compared to SSDP as the number of regions exceeds 16. Likewise, the energy consumption gap between GASC and SSDP consistently increases with the number of regions. The energy consumption of SSDP remains the lowest, demonstrating its significant energy efficiency in scenarios that include both convex and non-convex regions during coverage tasks.

5.4. Increasing the Number of UAVs

In this section, the total number of regions was set to 20, with 10 convex regions and 10 non-convex regions. The number of UAVs was increased from 2 to 8 in increments of 1. Table 8, Table 9 and Table 10 list the statistical results for the UAV swarm’s total path distance, total path angle, and energy consumption, respectively. Figure 8 illustrates the changes in the energy consumption as the number of UAVs increases.
From Table 8 and Table 9, it is evident that both the total path distance and total turning angle of B&F-Avg and BINPAT increase with the number of UAVs; consequently, their energy consumption also rises, as shown in Figure 8. This suggests that in most cases the distance and turning cost for the previous UAV to return to the warehouse and for the next UAV to fly to the subsequent waypoint are higher than the cost for the previous UAV to fly directly to the next target waypoint. On the other hand, due to GASC’s strategy of allocating target regions to UAVs before planning their paths, the total path angle is maintained at a certain level. However, the path length still increases with the number of UAVs, leading to a gradual increase in energy consumption. In contrast, B&F-DP and SSDP do not necessarily deploy more UAVs as the number of available UAVs increases. Instead, they prioritize minimizing energy consumption; as a result, their total path length, total turning angle and energy consumption remain stable. This highlights that in coverage tasks, increasing the number of UAVs involved does not necessarily result in lower energy consumption.

5.5. Adjusting the Decomposition Strategy

In this experiment, we used the same region settings as in Section 5.2 except that the region decomposition method was changed from symmetric to asymmetric. By making this adjustment, we aimed to analyze how region decomposition increases energy consumption during CPP. Table 11, Table 12 and Table 13 present the UAV swarm’s total path distance, path angles, and energy consumption, respectively. Figure 9 shows energy consumption trends as the proportion of non-convex regions increases, while Figure 10 illustrates new UAV paths generated by B&F-Avg, B&F-DP, BINPAT, and GASC for fully non-convex regions.
Comparing the results from Table 2 and Table 11, it is evident that the path lengths for B&F-Avg and B&F-DP decreased across all proportions after modifying the decomposition method. For BINPAT, path lengths decrease when the proportion of non-convex regions is less than or equal to 60%, but increase when the proportion exceeds 60%. For GASC, path lengths increase at proportions of 20%, 30%, and 80%, and decrease under other proportions. Comparing the results from Table 3 and Table 12, the path angles indicate that after modifying the decomposition method, B&F-Avg and B&F-DP exhibit increases across all proportions. BINPAT shows increases at proportions of 10%, 20%, 30%, 70%, and 90%, while it decreases at other proportions. For GASC, path angles increase at proportions of 10%, 20%, and 40%, but decrease under other proportions.
As demonstrated in Table 4 and Table 13 and Figure 5 and Figure 9, the results regarding energy consumption indicate that B&F-Avg and B&F-DP achieve consistent reductions in energy consumption, with the maximum decrease not exceeding 50 kJ. For BINPAT, energy consumption decreases when the proportion of non-convex regions is less than 60%, with a noticeable increase observed after this threshold is exceeded. In the case of GASC, energy consumption initially increases for proportions below 20% followed by a subsequent decrease, with the maximum reduction reaching 82.83 kJ. Similar to Section 5.2, B&F-DP consistently remains lower than B&F-Avg, BINPAT, and GASC after reaching 40%. The relative performance of B&F-Avg, BINPAT, and GASC compared to SSDP remains unchanged; for B&F-DP, its energy consumption surpasses that of SSDP starting at a proportion of 50%, with this threshold shifting to 60% after the modifications.
These results indicate that as the proportion of non-convex areas increases, the number of subregions also increases, regardless of the decomposition approach; while non-convex regions slightly increase the energy consumption of SSDP, this increase is significantly smaller than the additional energy required by other methods due to the growing number of subregions. These findings support the conclusion that direct coverage without decomposition effectively reduces energy consumption.

6. Conclusions

This paper introduces an approach named Shrink-Segment by Dynamic Programming (SSDP) for coverage path planning (CPP) with unmanned aerial vehicles (UAVs) in both convex and non-convex mixed regions. SSDP addresses the challenge of covering non-convex regions without requiring pre-decomposition. Specifically, SSDP is a two-stage method. In the first stage, an optimal coverage path is generated using a shrinking ring-based approach, which can be directly applied to both convex and non-convex regions. In the second stage, a dynamic programming-based method is employed to segment the path for UAVs. This process utilizes a two-dimensional matrix and memoization techniques to ensure that energy constraints are met while minimizing total energy consumption.
Experimental results in scenarios with a high proportion of non-convex regions (a common occurrence) or densely distributed regions demonstrate that SSDP achieves lower energy consumption by reducing path length and turning angles compared to state-of-the-art models such as BINPAT and GASC as well as benchmark (B&F-Avg) and ablation (B&F-DP) models. Moreover, our experimental results show that simply increasing the number of UAVs does not necessarily guarantee reduced energy consumption.
While SSDP proves effective in static environments with clearly defined regions, its performance may face challenges in dynamic or obstacle-rich environments. During actual flight, UAVs must account for real-time dynamic avoidance of obstacles such as birds or other flying objects. These obstacles may necessitate fine-tuning of preplanned paths during flight. Real-time dynamic obstacle avoidance will be a key focus of our future research.

Author Contributions

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

Funding

This research was funded by the National Natural Science Foundation of China (Grant 61901388), Shaanxi Province Key R&D Program General Project–Industrial Field (No. 2024GX-YBXM-139), and Innovation Foundation for Doctoral Dissertation of Northwestern Polytechnical University (No. CX2024019).

Data Availability Statement

Experimental data are already included in the article.

Acknowledgments

The authors would like to thank the editors and reviewers for their constructive comments.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Cao, Y.; Cheng, X.; Mu, J. Concentrated coverage path planning algorithm of UAV formation for aerial photography. IEEE Sensors J. 2022, 22, 11098–11111. [Google Scholar] [CrossRef]
  2. Harikumar, K.; Senthilnath, J.; Sundaram, S. Multi-UAV oxyrrhis marina-inspired search and dynamic formation control for forest firefighting. IEEE Trans. Autom. Sci. Eng. 2018, 16, 863–873. [Google Scholar] [CrossRef]
  3. Koutras, D.I.; Kapoutsis, A.C.; Kosmatopoulos, E.B. Autonomous and cooperative design of the monitor positions for a team of uavs to maximize the quantity and quality of detected objects. IEEE Robot. Autom. Lett. 2020, 5, 4986–4993. [Google Scholar] [CrossRef]
  4. Adam, M.S.; Nordin, R.; Abdullah, N.F.; Abu-Samah, A.; Amodu, O.A.; Alsharif, M.H. Optimizing Disaster Response through Efficient Path Planning of Mobile Aerial Base Station with Genetic Algorithm. Drones 2024, 8, 272. [Google Scholar] [CrossRef]
  5. Qin, H.; Shao, S.; Wang, T.; Yu, X.; Jiang, Y.; Cao, Z. Review of autonomous path planning algorithms for mobile robots. Drones 2023, 7, 211. [Google Scholar] [CrossRef]
  6. Jin, Z.; Nie, L.; Li, D.; Tu, Z.; Xiang, J. An autonomous control framework of unmanned helicopter operations for low-altitude flight in mountainous terrains. Drones 2022, 6, 150. [Google Scholar] [CrossRef]
  7. Li, J.; Xiong, Y.; She, J. UAV path planning for target coverage task in dynamic environment. IEEE Internet Things J. 2023, 10, 17734–17745. [Google Scholar] [CrossRef]
  8. Mu, X.; Gao, W.; Li, X.; Li, G. Coverage Path Planning for UAV Based on Improved Back-and-Forth Mode. IEEE Access 2023, 11, 114840–114854. [Google Scholar] [CrossRef]
  9. Choset, H.; Pignon, P. Coverage path planning: The boustrophedon cellular decomposition. In Field and Service Robotics; Springer: London, UK, 1998; pp. 203–209. [Google Scholar]
  10. Palacios-Gasós, J.M.; Talebpour, Z.; Montijano, E.; Sagüés, C.; Martinoli, A. Optimal path planning and coverage control for multi-robot persistent coverage in environments with obstacles. In Proceedings of the 2017 IEEE International Conference on Robotics and Automation (ICRA), Singapore, 29 May–3 June 2017; pp. 1321–1327. [Google Scholar]
  11. Nielsen, L.D.; Sung, I.; Nielsen, P. Convex decomposition for a coverage path planning for autonomous vehicles: Interior extension of edges. Sensors 2019, 19, 4165. [Google Scholar] [CrossRef]
  12. Keil, J.M. Polygon Decomposition. In Handbook of Computational Geometry; Elsevier: Amsterdam, The Netherlands, 2000; Volume 2, pp. 491–518. [Google Scholar]
  13. Cabreira, T.M.; Di Franco, C.; Ferreira, P.R.; Buttazzo, G.C. Energy-aware spiral coverage path planning for uav photogrammetric applications. IEEE Robot. Autom. Lett. 2018, 3, 3662–3668. [Google Scholar] [CrossRef]
  14. Modares, J.; Ghanei, F.; Mastronarde, N.; Dantu, K. UB-ANC planner: Energy efficient coverage path planning with multiple drones. In Proceedings of the 2017 IEEE International Conference on Robotics and Automation (ICRA), Singapore, 29 May–3 June 2017; pp. 6182–6189. [Google Scholar]
  15. Luna, M.A.; Ale Isaac, M.S.; Ragab, A.R.; Campoy, P.; Flores Peña, P.; Molina, M. Fast multi-UAV path planning for optimal area coverage in aerial sensing applications. Sensors 2022, 22, 2297. [Google Scholar] [CrossRef]
  16. Ramezani, M.; Amiri Atashgah, M.; Rezaee, A. A Fault-Tolerant Multi-Agent Reinforcement Learning Framework for Unmanned Aerial Vehicles–Unmanned Ground Vehicle Coverage Path Planning. Drones 2024, 8, 537. [Google Scholar] [CrossRef]
  17. Vasquez-Gomez, J.I.; Herrera-Lozada, J.C.; Olguin-Carbajal, M. Coverage path planning for surveying disjoint areas. In Proceedings of the 2018 International Conference on Unmanned Aircraft Systems (ICUAS), Dallas, TX, USA, 12–15 June 2018; pp. 899–904. [Google Scholar]
  18. Xiao, P.; Li, N.; Xie, F.; Ni, H.; Zhang, M.; Wang, B. Clustering-Based Multi-Region Coverage-Path Planning of Heterogeneous UAVs. Drones 2023, 7, 664. [Google Scholar] [CrossRef]
  19. Du, L.; Fan, Y.; Gui, M.; Zhao, D. A Multi-Regional Path-Planning Method for Rescue UAVs with Priority Constraints. Drones 2023, 7, 692. [Google Scholar] [CrossRef]
  20. Xie, J.; Chen, J. Multiregional coverage path planning for multiple energy constrained UAVs. IEEE Trans. Intell. Transp. Syst. 2022, 23, 17366–17381. [Google Scholar] [CrossRef]
  21. Ahmed, G.; Sheltami, T.; Mahmoud, A. Energy-Efficient Multi-UAV Multi-Region Coverage Path Planning Approach. Arab. J. Sci. Eng. 2024, 49, 13185–13202. [Google Scholar] [CrossRef]
  22. Jiang, Y.; Bai, T.; Wang, D.; Wang, Y. Coverage Path Planning of UAV Based on Linear Programming—Fuzzy C-Means with Pigeon-Inspired Optimization. Drones 2024, 8, 50. [Google Scholar] [CrossRef]
  23. Luna, M.A.; Molina, M.; Da-Silva-Gomez, R.; Melero-Deza, J.; Arias-Perez, P.; Campoy, P. A multi-UAV system for coverage path planning applications with in-flight re-planning capabilities. J. Field Robot. 2023, 41, 1480–1497. [Google Scholar] [CrossRef]
  24. Jonker, R.; Volgenant, T. A shortest augmenting path algorithm for dense and sparse linear assignment problems. In DGOR/NSOR: Papers of the 16th Annual Meeting of DGOR in Cooperation with NSOR/Vorträge der 16. Jahrestagung der DGOR Zusammen mit der NSOR; Springer: Berlin/Heidelberg, Germany, 1988; p. 622. [Google Scholar]
  25. Fu, Z.; Yu, J.; Xie, G.; Chen, Y.; Mao, Y. A heuristic evolutionary algorithm of UAV path planning. Wirel. Commun. Mob. Comput. 2018, 2018, 2851964. [Google Scholar] [CrossRef]
  26. Lee, C.S.; Phan, T.T.; Kim, D.S. 2D curve offset algorithm for pockets with islands using a vertex offset. Int. J. Precis. Eng. Manuf. 2009, 10, 127–135. [Google Scholar] [CrossRef]
  27. Luna, M.A.; Isaac, M.S.A.; Fernandez-Cortizas, M.; Santos, C.; Ragab, A.R.; Molina, M.; Campoy, P. Spiral coverage path planning for multi-uav photovoltaic panel inspection applications. In Proceedings of the 2023 International Conference on Unmanned Aircraft Systems (ICUAS), Warsaw, Poland, 6–9 June 2023; pp. 679–686. [Google Scholar]
  28. Kohonen, T. The self-organizing map. Proc. IEEE 1990, 78, 1464–1480. [Google Scholar] [CrossRef]
  29. Gao, M.; Wei, P.; Liu, Y. Competitive self-organizing neural network based UAV path planning. In Proceedings of the 2020 IEEE 6th International Conference on Computer and Communications (ICCC), Chengdu, China, 11–14 December 2020; pp. 2376–2381. [Google Scholar]
  30. Zhang, J.; Huang, H. Occlusion-aware UAV path planning for reconnaissance and surveillance. Drones 2021, 5, 98. [Google Scholar] [CrossRef]
Figure 1. UAV sensor model.
Figure 1. UAV sensor model.
Drones 08 00776 g001
Figure 2. Flowchart of SSDP.
Figure 2. Flowchart of SSDP.
Drones 08 00776 g002
Figure 3. An example of incomplete coverage in CASE 3.2: (a) Offset vertices (b) Uncovered area.
Figure 3. An example of incomplete coverage in CASE 3.2: (a) Offset vertices (b) Uncovered area.
Drones 08 00776 g003
Figure 4. Cases that may occur in the offset process. (a) Case 1. (b) Case 2. (c) Globally invalid loop generated by case 2. (d) Case 3.1. (e) Case 3.2. (f) Case 3.3.
Figure 4. Cases that may occur in the offset process. (a) Case 1. (b) Case 2. (c) Globally invalid loop generated by case 2. (d) Case 3.1. (e) Case 3.2. (f) Case 3.3.
Drones 08 00776 g004
Figure 5. Visual results showing the UAV swarm’s total energy consumption (kJ) for each model with different proportions of non-convex regions.
Figure 5. Visual results showing the UAV swarm’s total energy consumption (kJ) for each model with different proportions of non-convex regions.
Drones 08 00776 g005
Figure 6. Paths generated by each model when the target regions are all of non-convex type.
Figure 6. Paths generated by each model when the target regions are all of non-convex type.
Drones 08 00776 g006
Figure 7. Visual results showing the UAV swarm’s total energy consumption (kJ) for each model as the number of regions increases.
Figure 7. Visual results showing the UAV swarm’s total energy consumption (kJ) for each model as the number of regions increases.
Drones 08 00776 g007
Figure 8. Visual results showing the UAV swarm’s total energy consumption (kJ) for each model as the number of UAVs increases.
Figure 8. Visual results showing the UAV swarm’s total energy consumption (kJ) for each model as the number of UAVs increases.
Drones 08 00776 g008
Figure 9. Visual results showing the UAV swarm’s total energy consumption (kJ) for each model with different proportions of non-convex regions.
Figure 9. Visual results showing the UAV swarm’s total energy consumption (kJ) for each model with different proportions of non-convex regions.
Drones 08 00776 g009
Figure 10. The new paths generated by B&F-Avg, B&F-DP, BINPAT, and GASC when the target regions are all of non-convex type.
Figure 10. The new paths generated by B&F-Avg, B&F-DP, BINPAT, and GASC when the target regions are all of non-convex type.
Drones 08 00776 g010
Table 1. Parameter settings of the map and target regions.
Table 1. Parameter settings of the map and target regions.
ParameterValue
Map coordinate (m, m)((0, 0), (0, 400), (400, 400), (400, 0))
Warehouse coordinate (m, m)(200, 200)
Region shapeDrones 08 00776 i001
Number of regionsRefer to specific experiments
Locations of regionsRandomly distributed in the map
Angles of regions π Number of regions × index
Table 2. The UAV swarm’s total path distance (m) for each model with different proportions of non-convex regions.
Table 2. The UAV swarm’s total path distance (m) for each model with different proportions of non-convex regions.
ProportionB&F-AvgB&F-DPSSDPBINPATGASC
09453.918852.408877.799875.328662.26
109635.929113.078915.159768.668765.68
209926.459329.508977.689976.718882.51
3010,139.309695.329010.0310,097.409005.72
4010,458.709799.729035.0210,322.209253.09
5010,728.4410,104.429059.6110,432.509388.63
6010,807.2210,427.869076.2210,445.209572.77
7011,145.1910,583.829102.909979.219751.16
8011,362.7410,850.819149.9010,100.309802.40
9011,569.8611,096.359172.0310,261.309912.20
10011,921.0511,343.379208.4810,339.5010,150.06
Table 3. The UAV swarm’s total path angle (°) for each model with different proportions of non-convex regions.
Table 3. The UAV swarm’s total path angle (°) for each model with different proportions of non-convex regions.
ProportionB&F-AvgB&F-DPSSDPBINPATGASC
027,511.6127,202.4741,881.8131,130.1026,961.34
1028,603.4128,242.9642,004.7032,988.1029,468.20
2029,497.6029,150.8141,615.9735,089.5032,155.66
3030,130.4330,313.1641,798.7635,965.5034,801.66
4031,200.7031,031.2141,616.9638,758.7037,027.66
5032,888.6532,068.5441,535.7742,083.3039,871.62
6033,684.1533,343.0841,398.5942,127.0042,634.80
7034,446.9034,050.4641,173.7142,015.3045,167.94
8035,363.3535,101.2140,996.6244,351.9048,558.80
9036,326.3036,109.5441,051.1445,502.8050,310.08
10037,637.1036,977.1840,844.7347,887.8053,941.52
Table 4. The UAV swarm’s total energy consumption (kJ) for each model with different proportions of non-convex regions.
Table 4. The UAV swarm’s total energy consumption (kJ) for each model with different proportions of non-convex regions.
ProportionB&F-AvgB&F-DPSSDPBINPATGASC
01299.581231.881387.261382.381208.99
101330.441270.641392.551390.271246.15
201370.891303.291395.211434.431286.62
301400.281354.591400.581456.481327.35
401445.651373.251401.371509.631377.01
501492.131416.701403.161556.031421.12
601508.841464.631403.511557.841469.60
701553.011488.711404.031506.731515.07
801585.861528.251407.231544.011555.82
901618.081565.061410.171573.241585.81
1001669.361600.571411.931606.421649.07
Table 5. The UAV swarm’s total path distance (m) for each model as the number of regions increases.
Table 5. The UAV swarm’s total path distance (m) for each model as the number of regions increases.
Region NumberB&F-AvgB&F-DPSSDPBINPATGASC
43148.272556.982347.722968.142515.72
85207.674530.114132.774918.774307.10
127276.996542.736005.106969.966208.62
168881.288345.747511.547977.637754.37
2010,619.3010,131.659037.139788.749562.48
2412,397.0011,905.3010,583.5711,641.3011,091.75
2814,413.5013,825.0012,268.3613,245.6012,971.58
Table 6. The UAV swarm’s total path angle (°) for each model as the number of regions increases.
Table 6. The UAV swarm’s total path angle (°) for each model as the number of regions increases.
Region NumberB&F-AvgB&F-DPSSDPBINPATGASC
46556.396330.118350.537952.718273.67
812,932.6412,420.6016,233.0715,184.8016,940.40
1219,662.4019,182.1424,236.3724,824.8024,649.30
1626,106.1525,728.0932,823.9930,887.4034,105.06
2032,725.5632,303.0941,502.8938,714.9040,179.80
2439,467.3038,654.7049,728.2746,694.8049,080.14
2845,639.4044,847.4058,060.7657,175.4057,104.98
Table 7. The UAV swarm’s total energy consumption (kJ) for each model as the number of regions increases.
Table 7. The UAV swarm’s total energy consumption (kJ) for each model as the number of regions increases.
Region NumberB&F-AvgB&F-DPSSDPBINPATGASC
4405.68339.94338.52400.89355.73
8692.76614.80611.86685.21637.90
12984.58900.87895.811005.36921.92
161223.581162.241146.611176.431185.96
201478.731422.071400.411451.991442.97
241739.421678.261651.731733.571699.47
282019.781948.451919.002014.551984.45
Table 8. The UAV swarm’s total path distance (m) for each model as the number of UAVs increases.
Table 8. The UAV swarm’s total path distance (m) for each model as the number of UAVs increases.
UAV NumberB&F-AvgB&F-DPSSDPBINPATGASC
210,258.5110,169.739042.869628.149355.40
310,619.3010,131.659037.139788.749562.48
410,834.9110,120.829044.2910,227.909592.84
511,210.0310,139.329042.2210,443.009748.43
611,475.0710,141.749077.6710,756.109893.69
711,696.7410,155.179081.1811,009.7010,080.61
812,069.8410,145.899062.4011,313.8010,208.25
Table 9. The UAV swarm’s total path angle (°) for each model as the number of UAVs increases.
Table 9. The UAV swarm’s total path angle (°) for each model as the number of UAVs increases.
UAV NumberB&F-AvgB&F-DPSSDPBINPATGASC
232,407.5632,327.1541,492.6638,526.2040,750.50
332,725.5632,303.0941,502.8938,714.9040,179.80
432,782.2432,300.2141,707.8038,884.5040,745.82
532,787.8932,150.8941,533.9438,842.3039,823.04
633,031.9132,393.8041,473.4039,152.3039,681.48
733,111.0432,345.4041,172.5039,220.2040,352.08
833,220.2132,370.2241,293.4639,601.5040,382.98
Table 10. The UAV swarm’s total energy consumption (kJ) for each model as the number of UAVs increases.
Table 10. The UAV swarm’s total energy consumption (kJ) for each model as the number of UAVs increases.
UAV NumberB&F-AvgB&F-DPSSDPBINPATGASC
21436.751426.401400.921432.811426.70
31478.731422.071400.411451.991442.97
41502.441420.871403.311500.831452.11
51542.711421.301401.281523.451459.19
61573.661424.091404.451560.241473.29
71598.251425.031401.701588.131500.30
81639.381424.291400.941624.691514.31
Table 11. The UAV swarm’s total path distance (m) for each model with different proportions of non-convex regions.
Table 11. The UAV swarm’s total path distance (m) for each model with different proportions of non-convex regions.
ProportionB&F-AvgB&F-DPSSDPBINPATGASC
09453.918852.408877.799875.328662.26
109554.939049.768915.159468.798717.08
209671.349162.908977.689590.188928.98
309805.279378.749010.039598.009053.81
409936.699427.779035.029758.379195.45
5010,090.569527.239059.619778.289272.76
6010,404.489900.699076.229818.359407.13
7010,529.1810,054.759102.9010,403.009623.58
8010,579.8210,205.749149.9010,422.309814.67
9010,765.1410,338.969172.0310,524.209900.18
10011,172.6810,496.229208.4810,489.5010,044.86
Table 12. The UAV swarm’s total path angle (°) for each model with different proportions of non-convex regions.
Table 12. The UAV swarm’s total path angle (°) for each model with different proportions of non-convex regions.
ProportionB&F-AvgB&F-DPSSDPBINPATGASC
027,511.6127,202.4741,881.8131,130.1026,961.34
1029,172.8628,936.5842,004.7035,152.1032,317.70
2030,622.5430,286.6441,615.9735,876.8032,806.12
3032,049.6031,849.1841,798.7636,991.2033,753.66
4033,593.8033,143.7241,616.9637,143.3037,605.42
5035,003.9034,537.6241,535.7737,982.9039,524.84
6036,988.2236,433.3841,398.5937,930.0041,917.56
7038,528.9238,209.4041,173.7145,940.2042,943.28
8039,601.1439,233.7840,996.6244,206.3043,451.20
9040,947.4040,610.0841,051.1446,280.2045,800.46
10042,841.4641,667.2440,844.7347,706.8047,061.18
Table 13. The UAV swarm’s total energy consumption (kJ) for each model with different proportions of non-convex regions.
Table 13. The UAV swarm’s total energy consumption (kJ) for each model with different proportions of non-convex regions.
ProportionB&F-AvgB&F-DPSSDPBINPATGASC
01299.581231.881387.271382.391208.99
101327.691271.071392.551380.641270.57
201355.241297.241395.211401.191298.37
301384.441336.631400.581413.611321.61
401414.591355.351401.371432.391376.85
501445.751380.511403.161443.251405.10
601500.041440.261403.521447.001444.39
701529.431475.251404.041592.981478.26
801546.011502.091407.231577.021504.02
901579.881530.681410.171609.511537.62
1001643.261558.531411.931620.631566.25
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Wang, L.; Zhuang, X.; Zhang, W.; Cheng, J.; Zhang, T. Coverage Path Planning for UAVs: An Energy-Efficient Method in Convex and Non-Convex Mixed Regions. Drones 2024, 8, 776. https://doi.org/10.3390/drones8120776

AMA Style

Wang L, Zhuang X, Zhang W, Cheng J, Zhang T. Coverage Path Planning for UAVs: An Energy-Efficient Method in Convex and Non-Convex Mixed Regions. Drones. 2024; 8(12):776. https://doi.org/10.3390/drones8120776

Chicago/Turabian Style

Wang, Li, Xiaodong Zhuang, Wentao Zhang, Jing Cheng, and Tao Zhang. 2024. "Coverage Path Planning for UAVs: An Energy-Efficient Method in Convex and Non-Convex Mixed Regions" Drones 8, no. 12: 776. https://doi.org/10.3390/drones8120776

APA Style

Wang, L., Zhuang, X., Zhang, W., Cheng, J., & Zhang, T. (2024). Coverage Path Planning for UAVs: An Energy-Efficient Method in Convex and Non-Convex Mixed Regions. Drones, 8(12), 776. https://doi.org/10.3390/drones8120776

Article Metrics

Back to TopTop