Next Article in Journal
Denoising Autoencoders and LSTM-Based Artificial Neural Networks Data Processing for Its Application to Internal Model Control in Industrial Environments—The Wastewater Treatment Plant Control Case
Next Article in Special Issue
Hybrid Memetic Algorithm for the Node Location Problem in Local Positioning Systems
Previous Article in Journal
Open Set Audio Classification Using Autoencoders Trained on Few Data
Previous Article in Special Issue
Cluster-Based Control Plane Messages Management in Software-Defined Flying Ad-Hoc Network
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

PPS: Energy-Aware Grid-Based Coverage Path Planning for UAVs Using Area Partitioning in the Presence of NFZs

1
Department of Computer Science, International University of Beirut, P.O. Box 14-6404 Beirut, Lebanon
2
Université de Lorraine, CNRS, LORIA, F-54000 Nancy, France
*
Authors to whom correspondence should be addressed.
Submission received: 19 May 2020 / Revised: 27 June 2020 / Accepted: 1 July 2020 / Published: 3 July 2020

Abstract

:
Area monitoring and surveillance are some of the main applications for Unmanned Aerial Vehicle (UAV) networks. The scientific problem that arises from this application concerns the way the area must be covered to fulfill the mission requirements. One of the main challenges is to determine the paths for the UAVs that optimize the usage of resources while minimizing the mission time. Different approaches rely on area partitioning strategies. Depending on the size and complexity of the area to monitor, it is possible to decompose it exactly or approximately. This paper proposes a partitioning method called Parallel Partitioning along a Side (PPS). In the proposed method, grid-mapping and grid-subdivision of the area, as well as area partitioning are performed to plan the UAVs path. An extra challenge, also tackled in this work, is the presence of non-flying zones (NFZs). These zones are areas that UAVs must not cover or pass over it. The proposal is extensively evaluated, in comparison with existing approaches, to show that it enables UAVs to plan paths with minimum energy consumption, number of turns and completion time while at the same time increases the quality of coverage.

1. Introduction

An Unmanned Aerial Vehicle (UAV) (or commonly known as a drone) is an aircraft without an onboard human pilot and an unmanned type of vehicle [1]. UAVs are indeed a part of an Unmanned Aerial System (UAS); consisting of an Aircraft, a ground-based operator and a network infrastructure that links between them [2]. UAV flight can function with varying levels of control: either remotely operated by a human operator or autonomously operated via onboard computers [3].
UAVs are classified as aerial robots that are used for several tasks in different application domains. They can be used for Aerial Photography [4], or as Pesticide sprinkler [5], Ambulance UAVs [6], for search and rescue operations [7], disaster management [8,9,10], filming Sport Event [11], infrastructure inspection [12], air pollution monitoring [13], traffic policing and emergency response [14], etc. In the mentioned applications, UAVs could coordinate to establish an effective coverage path planning (CPP). Among the quality measures that classify the efficiency of a path planning method is the energy consumption and the mission completion time. These two metrics depend mainly on two factors: the trajectory length and the number of turns.
The quality of coverage (QoC) is also another quality metric to evaluate a path planning technique. The area coverage is one of the main challenging missions. More challenges can be considered during an area coverage mission, such as avoiding obstacles in 3-Dimensional [15] or 2-Dimensional environment [16], tracking moving objects [17], data collection [18], avoiding non-flying zones [16,19,20], etc. Depending on how large and how complex the area is, an exact or approximate cellular decomposition of the area can be used to support the coverage path planning operations, and to generate efficient paths.
Different CPP approaches cover the areas using single or multiple UAVs [19,21]. The number of UAVs is based on the mission needs. In the presence of multiple UAVs, a safety margin must be taken into consideration to avoid collisions and ensure efficient collaboration between them. For collision-free missions, large areas are partitioned into subareas. Each UAV is allowed to cover one or more subareas. The area is divided by lines named borders that define the subarea’s margins.
This paper extends our previous work [22], by proposing a new path planning algorithm to avoid obstacles and non-flying zones (NFZs). In the previous work, the total path is composed of partial paths that are parallel to the longest side of the area (could tracks), to reduce the number of turns. The paths are planned in areas without obstacles and NFZs. In this work, the main challenge is to avoid NFZs, while minimizing the number of turns needed to go around the areas. The paper presents an approach to optimize the area coverage and the mission completion time with the assistance of a single UAV or a network of UAVs. The main contributions in this study are listed below:
  • We propose a partitioning method of the area of interest in the presence of NFZs. This method has the advantage of dividing the area into equal subareas. The partition borders in our work are chosen to be on the grid-cell boundaries in order to reduce the percentage of uncovered areas. However, other methods in the literature drop all the cells that are located on the boundaries, which may result in dropping parts of the area to cover, and in reducing the quality of coverage.
  • Each partition, or subarea, is mapped into a grid graph. The graph is reduced to a sub-graph in which all the edges are weighted. A filtering technique is implemented to remove insignificant edges and nodes for the favor of getting an optimal path. This technique identifies worthy edges, and refines the selection of the candidate turning points compared to the previous work.
  • We improve the turning points selection mechanism, by implementing a new cost function for edges. The defined cost function takes into consideration the edge completion time as well as the coverage rate while moving from one edge to another.
  • We present a path planning algorithm that can be applied to areas with exact or approximate cellular decomposition.
The remainder of this paper is organized as follows: Section 2 discusses state of art; Section 3 describes the problem of the work; Section 4 shows the grid and graph representations; Section 5 provides details about our parallel partitioning method; Section 6 presents the evaluation metrics and results; and Section 7 concludes the paper.

2. Related Works

Coverage path planning (CPP) for the UAV network is a crucial problem in many application domains. It can be done in an online or offline mode according to the mission challenges and goals. One of the significant concerns in CPP is to ensure a total coverage of the entire region of interest. Different approaches in the literature are based on the grid-map representation and area partitioning [23]. The reason behind the area partitioning is to cover the region of interest using a UAV network, especially if the area is large and complex [24,25]. Grid-based techniques perform cellular decomposition to the zone of interest by placing a grid overlay on top of the area to simplify the coverage [24]. The workspace is thus divided into cells. The cellular decomposition can be either exact [25] or approximate [16]. Furthermore, CPP algorithms should be aware of existing obstacles or non-flying zones (NFZs). These zones are territories over which the UAVs are not allowed to fly, such as, zones alongside air terminals, sensitive areas or unessential structures [24].

2.1. Grid-Mapping Representation

In grid-based path planning, the area of interest is represented by a grid, in which each grid-cell dimension fits within the UAV footprint. The grid-mapping of the area can be done using 4-neighbors [26] or 8-neighbors solution [27]. The grid could be composed of square cells, rectangular or hexagonal cells [24].

2.1.1. Exact Cellular Decomposition

Exact cellular decomposition [24] could be applied to regular or irregular areas. The planning strategies are mainly classified into two categories: individual and cooperative strategies. The individual strategy approaches use the exact cellular decomposition to plan the paths using a single UAV. They apply back-and-forth and spiral methods on concave and convex areas [21,25,28,29].
The cooperative strategies are applied in large areas with the usage of a UAV network, composed of multiple UAVs to cover an area of interest. The work in [30] uses back-and-forth on a convex polygonal area using multiple UAVs. The area is divided into three sub-regions. The distance between every two consecutive tracks is fit to the UAV’s footprint. Each UAV plans its path and, if there is any conflict in the paths, then new paths are generated to avoid collisions and other mission problems. The work in [31] provides a path planning algorithm to cover large complex polygonal areas using fixed-wing UAV in the presence of NFZs. The NFZs are adjacent to the area of interest. The authors provide an algorithm to decompose the area in a multiple convex polygons form. The provided path planning algorithm plans the tracks using the traditional back-and-forth boustrophedon technique. A cost function is implemented to reduce the mission completion time in the presence of wind. Other works apply spiral technique while using heterogeneous UAVs [25,29].

2.1.2. Approximate Cellular Decomposition

The approximate cellular decomposition divides the area into a group of regular cells. These cells have normally a square structure, yet they can be represented in a trigonal or hexagonal structure. In many cases, the paths are planned in an offline mode, assuming full information about the area of interest, including the positions of the obstacles and the NFZs [24]. Obstacles and NFZ cells are assigned a value ”−1” [19,20].
Authors in [16] propose an energy-aware coverage path planning algorithm using a grid-based technique. They aim to reduce the energy consumption while planning paths over irregular areas. Their work enhances the grid-based algorithm presented in [19]. They evaluate their algorithm by using a novel energy cost function [32].
The path planning in [19] is divided into two parts. The first part consists of dividing the area into sub-areas. Each UAV calculates the cost of the path in one of the sub-areas. It finds the cost of moving from a cell to another with the angles performed at each turn. In the second part, the wave-front algorithm is applied on each path to minimize the flight time, the number of turns and the number of visited cells. The UAVs fly at the same altitude to fix the resolution of the camera.
Similarly, the coverage mission in [20] undergoes two stages: the area partitioning and the path planning. The number of partitions depends on the number of UAVs used. The reason behind the partitioning is to minimize overlapping between the sub-areas which is considered to be null, such that the union of the sub-tasks covers the original task.The algorithm uses Bresenham’s line algorithm (BLA) [33] with a recursive flood-fill algorithm, which picks an empty cells and floods in four direction while there are empty cells, and each cell flooded is marked as occupied. If the sub-areas do not contain all the needed cells, the algorithm re-starts the division process.
In their work, the authors propose an algorithm that follows the wave-front technique for the path planning phase. Furthermore, they use the distance transform and Breadth-First Search (BFS) for an efficient planning. The authors mentioned that the best path should contain a minimum number of turns. It also has to avoid visiting previously covered cells to lower the completion time. For this purpose, they use the deep-limiting search (DLS) algorithm, that ensure coverage completeness without revisited nodes. The algorithm searches among the nearest neighboring cells one to be the next UAVs position. Then a back-tracking algorithm is applied to form a tree of the generated coverage paths. Finally, they choose the path that has the least number of turns. It should be noted that authors do not consider the computational time since they plan the path in an offline mode.
Authors in [34] partition the area of interest-based on a clustering method and graph method. This work aims to generate paths without collisions for a team of UAVs that will cover the area. The generated paths are approximately equal in terms of length.
The work in [22] proposes an algorithm to cover an area of interest without obstacles and non-flying zones using one rotary-wing UAV. The algorithm uses a grid-based technique with approximate cellular decomposition and works in an offline mode. Each grid cell fits within the UAVs footprint and the cells are set in the same direction of the UAVs motion. Each grid cell has a positive value that represents the percentage of the area in it. The values are obtained from the heat-map then mapped between 0 and 1 after rescaling. A subdivision for the grid cells occurs to plan the path and to identify the turning points. The center of each four grouped subcells is considered as a vertex. The UAV passes through the vertices that have non-zero value.
It should be noted that the UAV moves in a direction parallel to the longest side of the grid as it helps to get a shorter path with the least number of turns. Figure 1 shows an example of an area of interest covered using our previous work [22], with a single UAVs. The algorithm generates an efficient path in terms of energy consumption and the completion time. It focuses on lowering the path length and number of turns. Different area shapes (regular and irregular) have been scanned in the absence of obstacles and non-flying zones. The drawback of this algorithm is that it does not identify the cells that include obstacles or non-flying zones from the other cells. Consequently, it cannot be applied to areas that include obstacles or non-flying zones.
In this paper, we aim to cover large areas in the presence of non-flying zones. We apply our partitioning method using scenarios with exact and approximate cellular decomposition using single and multiple UAVs. Below we present a short comparison between our work and some approaches in the literature works.
Table 1 summarizes the major features of the mentioned related works compared to our work. Mainly the entire area is divided using either approximate [16,19,20,34] or exact cellular [30] decomposition method, where our presented algorithm is applicable in both cases. Typically, some approaches use area decomposition techniques such as grid-based technique, that is used in the works of [16,19,20,34], wherein our work we use the grid-based technique with a subdivision that helps in planning accurate paths. Consequently, the grids are represented in graph form in some works as in [16,19,20,34]. In our work, we also convert the grid to a graph, but we provide a filtering method to easily manage the graph. Some approaches rely on weighted graphs by providing a cost function for the edges as in the works of [16,19,20], wherein our work we present an edge cost function that takes into account an extra parameter, which is coverage ratio for the edge. On the other hand, the coverage missions could be accomplished using either a single UAV [16] or a network of UAVs (multiple UAVs) [19,20,30,34]. In our work, we presented a path planning algorithm for single and multiple UAVs. Generally, the area of interest could include NFZs. These zones are either located inside [16,19,20,34] or around [16,34] the area of interest, wherein our work both NFZ locations are taken into account. While covering areas using a UAV network and/or avoiding NFZs, area partitioning algorithms are applied to divide the area [19,20,34]. The areas are divided using partition borders, in some cases border cells are dropped as in [19,20] which reduces the quality of coverage, especially if the cells include part of the area to be covered. In our work, we provide a partitioning algorithm that divides the area without omitting such needed cells. Finally, the performance of the path planning is evaluated using metrics such as energy consumption [16,34], completion time [16,19,20,30,34] and quality of coverage [19,20], where we use the three metrics to evaluate the efficiency of our planned paths.

3. Problem Formulation

In this work, we aim at efficiently covering an area of interest in the presence of non-flying zones using the partitioning method. One of the main challenges is to partition the area of interest into subareas that must be covered using a single or multiple UAVs. The requirements to fulfill for the path planning are:
  • Avoid passing over the NFZs;
  • Achieve full coverage of the area of interest;
  • Ensure minimum energy consumption, by lowering the number of turns and the completion time.
The main steps of our work are as follows: (1) representing the area as a grid of cells (grid-division) and determining NFZ location (graph representation), (2) partitioning the area around the non-flying zone, (3) planning the path in each sub-area partition. We evaluate the performance of our partitioning method using scenarios with exact and approximate cellular decomposition using single and multiple UAVs.
The investigated geographical area is denoted A . Similarly to [22], A is discretized into a grid. Each grid-cell has a rectangular shape and is divided into 4-adjacent sub-cells. Each cell has a positive value representing the percentage of area in it. A group of 4-adjacent sub-cells that includes three or four non-zero valued cells has a center v. We suppose that the UAV passes through the centers of the main grid-cells. We assume the grid is composed of n rows and m columns. The columns are denoted { b k } k = 1 m . A center v i b j is described by a pair of coordinates ( x i , y i ) and is located at row i and columns b j (see Figure 2).
A is partitioned into a set of l sub-areas, where A = { A k } k = 1 l . For every A k , a graph G k is formed. The set of graphs is disconnected. We denote U the set of UAVs where U ≥ 1. We assume that the UAVs can communicate with each other, by using a WiFi or mobile cellular technology, and coordinate on the information to exploit to plan their paths collaboratively. For each UAV, we assign a path P . Each path is formed of a set of vertices and edges and has a set of turning points T with turning angles Φ . In the scenario where we use a single UAV, the total path P t o t a l = { P k } k = 1 l . The aim is to find the shortest path that links all the partitions, avoids the NFZ and ensures full coverage with low energy consumption.
Formally, the grid is represented as a graph G ( V , E , ζ ) , where V is the set of vertices (called also nodes), E V X V is the set of edges, formed by pairs of vertices and ζ is the set of colors. Each edge is labeled with tuple of numeric values. The labeling of the edges is a mapping β : E T x C where T = R and C = { 0 , 1 } . Similarly, labeling of the vertices is a mapping α : V ζ x K , where ζ is a set of colors { b r o w n , b l a c k , b l u e , y e l l o w , p u r p l e } and K = { 00 , 11 , 12 , 21 , 22 } represents the set of keys. We will come back to the edge labels and keys in the next sections. We first explain how the grid is mapped and how the weighted graph is created. Then, we move to explain how the algorithm works. Table 2 defines the notation of relevant sets, indices, parameters and variables of our work.

4. Algorithm Design

The grid-based technique decomposes the area of interest into cells. Grid cell size is determined by the resolution and field of view (FoV) for the camera called UAV footprint. Figure 3 shows a schematic of the field of view where the blue rectangle represents the UAV footprint. The area of interest is shown in grey color and red boxes represent NFZ.
Each grid cell has length L and width W. Concerning the scan direction of the UAV, the shortest side of the cell will be parallel to the longest side of the grid. If the UAV moves in a vertical track, then the shortest side of the cell will be parallel to the long side of the grid, and vice versa for the horizontal tracks. We apply a sub-division on the area to make efficient path planning to identify the non-zero value portions of the grid. This sub-division splits each major grid cell into four quarter sections called subcells (minor grid cells), as shown in Figure 4. Each group of four minor grid cells forms a UAV footprint, which represents the area that can be covered at once.
Usually, the grid cells are represented by vertices at the center of each cell. Only non-zero cells are represented. These vertices are connected using the path planning algorithm. Figure 5a,b show the representation of the vertices before and after the sub-division. In the major grids, the vertices could represent semi-empty cells, while in the minor grids minor empty cells are not represented. The path tracks move through the columns in the major grid, and a turn occurs between them passing through their border. For better selection for the turning position, new helping vertices are represented on the border column as shown in Figure 5c (black vertices). The vertices are colored then the edges are created and assigned weights. Later the path is planned. Figure 5d represents the basic graph with all possible edges. In the below section, we present the different algorithms for vertex-coloring, edge creation and weighting and path planning.

4.1. Vertex-Coloring and Key-Assignment

The grid mapping process assigns each vertex a color and a key. The colors separate the main track vertices (i.e., brown nodes) from the helping vertices between two tracks (i.e., black nodes). Colors also differentiate border vertices (i.e., purple nodes) between the sub-areas. Moreover, vertex coloring helps in identifying special parts of the area such as NFZ borders (blue/yellow nodes). The brown nodes represent the vertices on the major grid column ( b j where j is odd). Black ones represent the vertices on the major column border ( b j where j is even). If a black vertex is located on the border of a non-flying zone then it will be represented by the blue color. These blue vertices provide useful information for the edge-creation algorithm, as they highlight the presence of a NFZ. In this way, the algorithm will not create an edge in this cell, to avoid the NFZ.
Figure 6 shows the effect of considering blue vertices. In Figure 6a, the path is planned without the blue vertices. As you can see the path moves over an NFZ. On the contrary, in Figure 6b, with the help of the blue vertex, the planned path avoids the NFZ. On the other hand, in order to define the partition borders, a new set of vertices is created. The partition borders are represented by vertices with purple color, but if a vertex lies on an NFZ border, it changes the vertex color to yellow as shown in Figure 7. These vertices help in avoiding the collisions between different paths. They also help in finding the best joining edges between the paths in case a single UAV is used to cover the whole area. This mechanism is discussed in Section 5.3.
The vertices are grouped into ranges to simplify the edge creation mechanism. This is an essential phase for the graph filtering. Ranges impose specific permissions on the vertices to form edges. The vertices are grouped into five ranges {R1, R2, R3, R4, R5} (see Figure 8a). Range 1 includes vertices that are not eligible to be turning points. Ranges 2 and 3 include brown candidate turning points. Ranges 4 and 5 include black candidate turning points. The ranges force the vertices to connect to certain neighboring nodes for better graph filtering. The edge creation is discussed in Section 4.2. Since there are two turning sides on a track we assign a key-value for each vertex in a range. The keys help in the path planning phase, where the algorithm searches for the best turning path between two tracks. This part will be discussed in Section 4.4.
Algorithm 1 assigns keys to brown colored vertices according to their location on the grid. Vertices that correspond to the first or last cells in the grid’s columns are more likely to be turning points (lines 1–4). Moreover, the vertices are divided into ranges to locate their positions that will help in then key assigning keys for each vertex (lines 5–30). A key value is assigned for each vertex in a range. The values of the keys are {00, 11, 12, 21, 22}. The vertices that belong to range 1 have a key equal to 00 (lines 31–33) and are not eligible to be turning points. The vertices that belong to range 2 and range 3 have a key equal to 12 or 11 (lines 34–39) and are considered candidate turning points. Algorithm 2 assigns keys to black colored vertices. Black vertices are divided into ranges according to their location with respect to the neighboring brown vertices in ranges 2 and 3 (lines 1–7). The vertices that belong to the range 4 and 5 will hold the key 21 and 22, respectively (lines 8–10, 11–13). In the next section, we will explain how the vertices are connected to form edges.
Algorithm 1 Brown nodes key assignment
  • Input: C p q C p + 1 q b j
  •   1: F 1 row of first vertex in C p q
  •   
  •   
  •   2: F 2 row of first vertex in C p + 1 q
  •   
  •   3: L 1 row of last vertex in C p q
  •   4: L 2 row of last vertex in C p + 1 q
  •   
  •   5: for (each b j where j is odd) do
  •   
  •   6:     if ( F 1 = = F 2 ) then
  •   7:          R 3 j =[ F 1 : F 2 ]
  •   8:          R 1 j . m i n = F 1 +1
  •   9:     end if
  10:     
if ( F 1 < F 2 ) then
  11:        
R 3 j =[ F 2 + 1 : F 1 ]
  12:        
R 1 j . m i n = F 2 +2
  13:    
end if
  14:    
if ( F 1 > F 2 ) then
  15:        
R 3 j =[ F 1 + 1 : F 2 ]
  16:        
R 1 j . m i n = F 1 +2
  17:    
end if
  18:    
if ( L 1 = = L 2 ) then
  19:        
R 1 j =[ R 1 j . m i n : L 1 1 ]
  20:        
R 2 j =[ L 1 : L 2 ]
  21:    
end if
  22:    
if ( L 1 < L 2 ) then
  23:        
R 1 j =[ R 1 j . m i n : L 1 2 ]
  24:        
R 2 j =[ L 1 1 : L 2 ]
  25:    
end if
  26:    
if ( L 1 > L 2 ) then
  27:        
R 1 j =[ R 1 j . m i n : L 2 2 ]
  28:        
R 2 j =[ L 2 2 : L 1 ]
  29:    
end if
  30:
end for
  31:
for (each v i b j where i ∈ R 1 j ) do
  32:    
v i b j .setKey(00)
  33:
end for
  34:
for (each v i b j where i ∈ R 2 j ) do
  35:    
v i b j .setKey(12)
  36:
end for
  37:
for (each v i b j where i ∈ R 3 j ) do
  38:    
v i b j .setKey(11)
  39:
end for
Algorithm 2 Black nodes key assignment
  • Input: b j
  •   1: if (j is even) then
  •   2:      R 4 j . m i n = min{ R 3 j 1 . m i n , R 3 j + 1 . m i n }
  •   3:      R 4 j . m a x = max{ R 3 j 1 . m a x , R 3 j + 1 . m a x }
  •   4:      R 4 j =[ R 4 j . m i n , R 4 j . m a x ]
  •   5:      R 5 j . m i n = min{ R 2 j 1 . m i n , R 2 j + 1 . m i n }
  •   6:      R 5 j . m a x = max{ R 2 j 1 . m a x , R 2 j + 1 . m a x }
  •   7:      R 5 j =[ R 5 j . m i n , R 5 j . m a x ]
  8:     
for (each v i b j where i ∈ R 4 j ) do
  9:         
v i b j .setKey(21)
  10:     
end for
  11:     
for (each v i b j where i ∈ R 5 j ) do
  12:         
v i b j .setKey(22)
  13:     
end for
  14:
end if

4.2. Edge-Creation

An edge is a line joining a pair of vertices (called nodes in the graph). Figure 5d shows the basic graph representation of a grid. In our work, the edge creation abides by certain rules to filter the graph. The first rule is as follows, brown nodes in b j that fall in the range 1 can only form an edge with brown neighbors in the same range or with brown neighbors in b j that belong to range 2 and range 3. By this rule, we will be able to shape the main tracks. The second rule imposes the brown nodes in range 2 and (respectively range 3) to form edges with black nodes in b j + 1 in range 5 (respectively range 4). Moreover, brown nodes in range 2 (respectively range 3) in b j connect edges with the brown nodes in b j + 2 in range 2 (respectively range 3). In that way, the possible paths between the two main tracks are created. In the third rule, an edge could not be formed between two black nodes, additionally, black nodes that do not belong to range 4 or range 5 are omitted from the graph to avoid the formation of unneeded edges. Finally in the fourth rule, If a blue node falls at the beginning of a column b j (respectively at the end of column b j ), then all edges above (respectively below) the blue nodes will be removed to avoid NFZ.
Algorithm 3 joins vertices to form edges. Nodes that belong to range 3 in b j and b j + 2 are connected together (lines 1–5), then they are connected to the helping nodes in range 4 (lines 6–11). Similarly, the nodes that belong to range 2 in b j and b j + 2 are connected (lines 12–16). They also form edges with the helping nodes in range 5 (lines 17–22).
Algorithm 3 Edge assignment to the nodes
  • Input: b j
  • Output: edges
  •   1: for (each v i b j where i ∈ R 3 j ) do
  •   2:    for (each v a b j + 2 where a ∈ R 3 j + 2 ) do
  •   3:          v i b j .setEdge( v a b j + 2 )
  •   4:     end for
  •   5: end for
  •   6: for (each v i b j & v a b j + 2 where i ∈ R 3 j and a ∈ R 3 j + 2 ) do
  •   7:     for (each v n b j + 1 where n ∈ R 4 j + 1 ) do
  •   8:          v i b j .setEdge( v n b j + 1 )
  •   9:          v a b j + 2 .setEdge( v n b j + 1 )
  •   10:     end for
  11:
end for
  12:
for (each v i b j where i ∈ R 2 j ) do
  13:     
for (each v a b j + 2 where a ∈ R 2 j + 2 ) do
  14:         
v i b j .setEdge( v a b j + 2 )
  15:     
end for
  16:
end for
  17:
for (each v i b j & v a b j + 2 where i ∈ R 2 j and a ∈ R 2 j + 2 ) do
  18:     
for (each v n b j + 1 where n ∈ R 5 j + 1 ) do
  19:         
v i b j .setEdge( v n b j + 1 )
  20:         
v a b j + 2 .setEdge( v n b j + 1 )
  21:     
end for
  22:
end for
The generated graph has some edges with the direction associated with them. We call it a semi-directed graph in the sense that the movement direction of the UAV is not defined until the path planning step terminates. Figure 8b shows an example of the obtained semi-directed graph. Similarly to [22], the start point in our work is known. It is either the first or last brown point on the left column of the grid. If there is only one possible starting point, two keys could be assigned to this node (11 or 12).Consequently, two paths are generated, one path for each starting point. More details about this phase will be discussed in Section 4.4.

4.3. Edge-Weighting

Given two nodes u, v V , Let d e g ( v ) be the degree (or valency) of a vertex v of a graph. It is the number of edges that are incident to v. Let d e g ( v ) be the indegree of vertex v in the graph and d e g + ( v ) be the outdegree of v.
Every edge ( u , v ) is labeled with a tuple ( t u v , c u v ) , where t u v represents the time needed for a UAV to move from vertex u to vertex v. The value c u v indicates whether the passage over the current edge will cover the nearby nodes (above or below u and v) according the turning node position. If so, the cost of the edge is 1 (i.e., c u v = 1 ), otherwise it is 0 (i.e., c u v = 0 ).
We denote by D the distance between two nodes u and v (Equation (1)).
D ( u , v ) = x u x v 2 + y u y v 2
Equation (2) calculates the exterior angle of the turn between two consecutive edges denoted e 1 = ( v 1 , v ) and e 2 = ( v , v 2 ) . The angle is denoted Φ e 1 e 2 ^ :
Φ e 1 e 2 ^ = Φ v 1 v v 2 ^ = π c o s 1 D ( v 1 , v ) 2 + D ( v , v 2 ) 2 D ( v 1 , v 2 ) 2 2 D ( v 1 , v ) D ( v , v 2 )
We denote t u v the time spent from node u to node v. It takes into consideration the cost of the angle performed while passing from a previous edge( v u ) to the current edge( u v ). It is defined as follows:
t u v = T i m e ( u , v ) = 1 D ( u , v ) S d e g ( u ) = 0 , d e g + ( u ) > = 1 D ( u , v ) S + Φ v u v ^ ω d e g ( u ) = 1 , v L ( u ) 1 Otherwise
T i m e = D ( V 1 , V 2 ) S + Φ e 1 e 2 ^ ω
where S and ω are parameters related to the UAVs speed and UAV rotation rate, we assume the UAV has constant speed. During the path planning, the edges having t u v = 1 , will have their cost modified according to the built path. The value of coverage c for an edge ( u , v ) is calculated as follows
-
If the edge is between two brown nodes u and v and u x = v x , then c u v = 1 .
-
If the edge is between two turning points, check if the UAV footprint will be able to cover the surrounding neighboring nodes if it passes over this edge. For this purpose, Equation (4) is used. It represents the border line (denoted d 1 ) of the footprint at that edge.
The equation of the line d 1 is denoted f ( u , v , x ) :
f ( u , v , x ) : y = a x + b
where the slope a = y v y u x v x u and
b = y u a x u + L / 2 key ( u ) = 11 | | key ( u ) = 21 y u a x u L / 2 key ( u ) = 12 | | key ( u ) = 22 y u a x u Otherwise
If a vertex of the neighboring nodes to u and v (denoted v ), has key ( u ) = { 11 , 21 } (respectively key ( u ) = { 12 , 22 } ), and falls above (respectively below) the line f ( u , v , x ) , then c u v = 0 , otherwise c u v = 1 .
Figure 9 shows a sample of edge weighting. Suppose the UAV passes from brown node 1 to the next brown node 5, with a speed of 10 unit/sec and a rotation rate 30 degree/sec. To find the coverage value for the edge c 25 , we need to draw the line d1, which corresponds to the UAV footprint border while passing along the edge. In this case, we have the black node 3 above the edge c 25 , we will calculate if black node 3 belongs to the line d1 or falls below the line, which means that it is covered.

4.4. Path Generation

Our aim is to find the path that covers the whole area with minimum energy consumption and completion time. Let us first present few notations: Let u v denotes that v is a successor of u, and L ( u ) denotes the set of all predecessors of u that belong to G : L ( u ) = { v V G v u } . Let u * v be the set of possible simple paths ρ i between u and v. For instance, if only two possible paths ρ 1 and ρ 2 exist, we say u * v = { u ρ 1 v , u ρ 2 v } . Let V ( u ρ i v ) be the set of vertices along the path ρ i between u and v.
V ( u ρ i v ) = { v V u * v , v * v } { u , v }
The set of edges along a path ρ i is denoted E ( u ρ i v ) :
E ( u ρ i v ) = { ( a , b ) E a , b V ( u ρ i v ) }
The direct predecessor of vertex v along the path ρ i is denoted L ρ i ( v ) :
L ρ i ( v ) = { v V ( v , v ) E ( u ρ i v ) }
The direct successor to vertex u along the path ρ i is denoted L ρ i s ( u ) :
L ρ i s ( u ) = { v V ( u , v ) E ( u ρ i v ) }
We denote ϱ ( u * v ) all the possible paths between u and v such that all edges have c = 1 :
ϱ ( u * v ) = { ρ i u * v ( a , b ) E ( u ρ i v ) , c a b = 1 }
The goal is to find the list of connected edges (denoted χ ) that form the shortest path in terms of time. The path should cover the whole area of interest. The main steps for the path generation in Algorithm 4 are as follows:
  • Let I = { V } be the list of vertices. Select the starting point.
  • For each brown node v i j , find the first brown successor v p q with which it has the lowest time cost segment. The vertex v p q I such that key ( v p q ) = { 00 , 11 , 12 } and v i j * v p q .
  • Find ϱ = ϱ ( v i j * v p q )
  • p i ϱ , ( a , b ) E = E ( v i j ρ i v p q ) , b v p q , t a b 1 , Find the total time.
    T o t a l T i m e ρ i = ( ( a , b ) E t a b ) + D r v S + Φ s r v ^ ω where   r L ρ i ( v ) , s L ρ i ( r ) and   v = v p q
  • Pick ρ k ϱ such that
    T o t a l T i m e ρ k = m i n ρ i ϱ { T o t a l T i m e ρ i }
  • When reaching an edge with time cost t = 1 , its value is replaced with the time cost obtained according to selected edges previously, as follows:
    t r v p q = D ( r , v ) S + Φ s r v ^ ω where   r , s , v V ( v i j ρ k v p q ) and   v = v p q
  • The intermediate nodes on the selected path as well as v p q are added to χ . The path is built as we move from one edge to another.
  • The edges that form the lowest cost are added to χ . The Algorithm 4 discards from I the intermediate nodes unselected neighbors and removes the edges with them.
The starting point key will define the sense of motion, for that the path will start in an upward or downward track (lines 1–4). For each brown node, the algorithm picks the next node according to the motion direction (lines 6–11). If this node is an adjacent node to the current one, the algorithm checks the key value for the next node. If the key of the next node is equal to 00 (lines 13–16), the edge between the current and next node is added to the set of edges χ (lines 34-35). In case the current or next node key is 11 (respectively 12) on the current track, then the next possible position on the upcoming track will be a node with either 00 or 12 (respectively 00 or 11) key-value (lines 17–19, respectively 20–23). To find the next possible position, we compare the possible paths between the two tracks (lines 25–27). These possible paths consist of edges between candidate turning points. The desired path is the one that has the lowest time cost and the highest coverage rate, that will be added to χ (line 28), and all the involved visited nodes are removed from the list of vertices I (line 29). Now that the turning point on the upcoming track is known, the algorithm checks if the node has an in-degree > 1 (which means that time cost t p q = 1 ). If so, the time cost for the edge can be computed using Equation (11) (line 30). When the path moves between two tracks the path direction is inversed (line 32). The Algorithm 4 repeats until no more vertices are found in I .
Algorithm 4 Path Generation
  • Input: v i j : startpoint, G : Graph,
  • Output: χ
  •   1: u p w a r d = t r u e
  •   2: if (key ( v i j ) ==11) then
  •   3:      u p w a r d = f a l s e
  •   4: end if
  •   5: repeat
  •   6:     if ( v i j .color=brown) then
  •   7:         if ( u p w a r d = = f a l s e ) then
  •   8:              v n e x t = v i 1 j
  •   9:         else
  •   10:              v n e x t = v i + 1 j
  •   11:         end if
  •   12:         if ( v n e x t is an adjacent neighbor to v i j ) then
  •   13:             if (key ( v n e x t ) = 00 ) then
  •   14:                  χ = χ { ( v i j , v n e x t ) }
  •   15:                  I = I { v n e x t }
  •   16:                  v = v i j
  •   17:             else
  •   18:                 if (key ( v n e x t ) = 11 key ( v i j ) = 11 ) then
  •   19:                    k 1 = 00 , k 2 = 12
  •   20:                 else
  •   21:                   if (key ( v n e x t ) = 12 key ( v i j ) = 12 ) then
  22:                       
k 1 = 00 , k 2 = 11
  23:                    
end if
  24:                 
end if
  25:                 
Find brown vertex v p q I key ( v p q ) = k 1 key ( v p q ) = k 2 & v i j * v p q
  26:                 
if ( v p q null) then
  27:                     
Find p k ϱ ( v i j * v p q ) using Equations (10) and (11)
  28:                     
χ = χ E ( v i j p k v p q )
  29:                     
I = I V ( v i j p i v p q )
  30:                     
Assign time cost t p q using Equation (12)
  31:                     
v = v p q
  32:                     
u p w a r d = ! u p w a r d
  33:                 
else
  34:                     
χ = χ { ( v i j , v n e x t ) }
  35:                     
I = I { v i j , v n e x t }
  36:                 
end if
  37:             
end if
  38:             
v i j = v
  39:         
end if
  40:     
end if
  41:
until ( I = ϕ )
To examplify, Figure 10 shows the possible paths between turning node 2 with d e g + ( 2 ) > 1 , and the next possible position node 5, that has d e g ( 5 ) > 1 , and d e g + ( 5 ) = = 1 with an unknown time cost ( t 56 = 1 ). Table 3 shows the possible time cost at edge (5,6). While Table 4 shows the list of possible paths from node 1 to node 6 and their time cost. As a result the best turning path is ρ 3 (1-2-5-6), and the weight of the edge(5,6) is 2.6 s
As we have previously mentioned, there are two possible starting points, which are the first and the last brown points on the left column of the grid. The two starting points generate two possible paths (denoted path-1 and path-2). Our algorithm chooses the shortest path for the coverage mission. Figure 11 shows two different paths generated by our algorithm. The complexity of the path planning Algorithm 4 is o( V 2 E ). In the following section, we present our partitioning method called ”parallel partitioning along a side”, denoted PPS.

5. Partitioning Method (PPS)

The PPS method is applied when the area grid division phase terminates. It divides the area A by drawing lines (called partition borders), into l approximately equal sub-areas, denoted A k where k = { 1 , , l } . In each partition k, we generate a path P k . In this section, we state and discuss the area partitioning method and the path planning phase using both cellular decomposition techniques: the exact and the approximate. The section is organized as follows. First, the area is partitioned using PPS-L (parallel partition along the length side), PPS-W (parallel partition along the width side), or PPS-T (parallel partition along both sides forming a T shape) (step 1). Then, we apply our border modification technique to refine the partition boundaries in the presence of NFZ (step 2). Finally, the path is planned using a single or multiple UAVs (step 3).
Step 1: The partition borderlines are parallel to the shortest side of the grid cell. In other words, these borders are parallel to the longest side of the grid. If the longest side is the grid length, we call the partition method parallel partition along the length side (PPS-L) (Figure 12a). Otherwise, the partition borders are parallel to the width side of the grid, we call this method PPS-W (Figure 12b). In special cases, mainly in the presence of NFZ, the paths in the partitions may be interrupted. To prevent this from happening we either modify the partition borders (explained in step 2 below), or combine the two methods PPS-L and PPS-W to form a ”T shape partition” denoted PPS-T (Figure 12c). In PPS-T the two methods are applied one before the other according to the direction of the gird cell shortest side. The PPS-T method draws a horizontal line from the nearest row to the center of the NFZ, then it draws another line perpendicular to it to form the T-shape. The T-shape orientation could be horizontal (PPS-W then PPS-L) or vertical (PPS-L then PPS-W).
Step 2: In some cases, the position of the NFZ interrupts the UAVs’ path that leaves portions of the area unreachable by one UAV and decreases the quality of coverage. In this case, we need to tune or modify the borderlines initially created. Figure 13 shows the workflow of the border modification method.
We denote the partitioned sub-area A k . For each partitioned A k , the border to modify is the one that passes through the NFZ see Figure 14. This borderline is located on the right or left side of the sub-area. According to its location and the width of A k (i.e., number of columns in A k ), the line is turned 90° on the left or on the right, then another 90° upward if starting from the bottom side of the border. In case multiple UAVs are used, almost equal portions of the area are to be assigned to the UAVs, before the path planning process starts. For this goal, If PPS-L is applied and ( m mod l ) is greater than 1, we re-distribute the grid-columns among the partitions. The first ( m mod l ) partitions having the lowest number of vertices will have their number of columns increased by 1. The total number of columns becomes ( m l + 1 ) for these partitions. Similarly, if PPS-W is applied, we choose the first ( n mod l ) partitions, and we increase their number of rows by one ( n l + 1 ) .
Step 3: In the coming subsections we present how our PPS method for planning the path works in case of exact cellular decomposition (Section 5.1), as well as approximate cellular decomposition in the presence of non-flying zones (Section 5.2). In case a single UAV is used, the planned paths are combined together for a total efficient path (Section 5.3).

5.1. PPS with Exact Cellular Decomposition

To plan a path using exact cellular decomposition, we first find the smallest grid that can surround the area. For this, we choose the smallest rectangle (in terms of the area) around the edges of the area as shown in Figure 15. The reason is to select the smallest width side, which minimizes the number of columns and thus lowers the number of turns along the path. The chosen rectangle (Figure 15c) is then transformed into a grid and later PPS-W is applied as shown in Figure 16.

5.2. PPS with Approximate Cellular Decomposition

The position of the NFZ plays a major role in selecting the best partitioning direction. We assign a (−1) value to the cells that include parts of the NFZ. The planned path must not pass through the border lines. To cover areas in the presence of NFZ using approximate cellular decomposition, first the area must be partitioned and the path is planned on the obtained sub-areas [19,20]. The process starts by applying PPS-L partitioning, then checks the width of the sub-areas and the number of affected columns. According to these values, the PPS is changed to either PPS-W, PPS-T or a modification border is required. Figure 17 illustrates the work flow of the PPS method.

5.3. Combining Paths between Different Partitions

In case a single UAV covers the whole area of interest, the paths in the partitioned areas must be joined to form one complete path. The following rules allow the joining:
  • We denote v 1 s i and v 1 e i (respectively v 2 s i and v 2 e i ) the start and end nodes of path-1 (respectively path-2) in partition P i . In each partition P i , these nodes are selected to form edges with the nearest boundary nodes denote v b (purple nodes). A connecting edge, denoted Γ , is an edge formed between two nodes v G i and u G j , where G i and G j are the graphs representing two partitions P i and P j , such that u . c o l o r = p u r p l e and v { v 1 s i , v 1 e i , v 2 s i , v 2 e i } .
  • We sort the edges cost for each partition according to the cost values, to choose the edges with minimum cost.
  • If P i is connected to P i + 1 , then nodes that belong to the connection edge between the partitions are not allowed to perform new connections.
  • If a node in P i belongs to the connecting edge and it is a start node, then the second start node in the same partition (if exists) could not set connections with other partitions.
  • If a node in P i belongs to the connecting edge and it is an end node, then the second end node in the same partition (if exist) could not set connections with other partitions.
  • If P i is connected to P i + 1 and P i + 2 , then P i + 1 and P i + 2 could not have a direct edge connection with each other.
Figure 18a shows the edges formed between partitions, and the pink colored edges, in Figure 18b, are the chosen edges. Below we present different possibilities for the joining phase:
  • Alternative 1: in each partition area P i , apply the joining rules on all start and end nodes in the partition paths.
  • Alternative 2: in each partition area P i , select the path-1. Then, select the start and end node for each partition path-1 and apply the joining rules.
  • Alternative 3: in each partition area P i , select the path-2. Then, select the start and end node for each partition path-2 and apply the joining rules.
  • Alternative 4: in each partition area P i , select the shortest path among path-1 and path-2. Then select the start and end node for each partition path and apply the joining rules.
Successively, the algorithm will select the best path in terms of time and energy, as shown in Figure 19. In this example the path generated using total option 4 is the best total path.

6. Evaluation and Results

In this section, we show the comparative results of our work with different existing works. In the following, we first introduce the metrics used for the performance evaluation and then we show the scenarios we implemented and evaluated.

6.1. Evaluation Metrics

The performance is evaluated using the following metrics: energy consumption, completion time and quality of coverage.
- Total Completion Time: It is the total completion time for the planned path. It is computed by adding the time cost of all edges ( u , v ) on the path. We adopt the total completion time in [4] to evaluate our work.
T o t a l T = ( u , v ) T i m e ( u q , v p )
- Energy model: We adopt the energy model in [35]. Let W ( u , v ) denotes the energy cost of traversing an edge between nodes u and v.
W ( u , v ) = λ D ( u , v )
where λ denotes the energy consumption per meter of length, D ( u , v ) is the distance. It is related to the UAV characteristics (speed, weight, power).
Let W ( Φ u v v ^ ) be the cost associated with a feasible turn.
W ( Φ u v v ^ ) = γ 180 π Φ u v v ^
where γ denotes the energy consumption per degree of turn angle. In our tests, we assume that λ= 0.1164 KJ/unit length and γ= 0.0173 KJ/degree.
The total energy E consumed is the sum of two weighted components. The first component is proportional to the distance traveled and the second is proportional to the sum of turning angles along the generated path.
Ξ = u V v V W ( u , v ) + W ( Φ uv v ^ )
- Quality of coverage: It computes the percentage of the area covered by the planned path. We adopt the quality of service formula in [19].
Q o C = C N T N 100 %
where C N is the number of non-zero cells that represent the area and covered by the planned path. T N is the number of non-zero cells in the area grid (excluding NFZ cells).

6.2. Results

In this section, we consider different scenarios and we compare our work to:
  • The work in [30], where the area of interest is partitioned, and the path is planned using back-and-forth algorithm;
  • The Bresenham’s line, which is used in [19,20];
  • A grid-based algorithm in presence of NFZ, proposed in [16];
  • The clustering method used to generate paths without collisions, presented in [34].
In all the scenarios, we assume that the UAVs are homogeneous. We assume that the UAVs travel with constant velocity, to be able to make a fair comparison among the different approaches. The use of constant velocity in calculations produces approximate results. In the scenarios, we used a velocity value that is equivalent to those used in [16,19,20,30,34]. The velocity value is considered as the average speed (less than the maximum speed) to achieve a fair comparison. It is important to note that the assumption for the UAVs to travel at a constant velocity could negatively affect our results. The paths planned by our approach consist of tracks that are parallel to the longest side in the grid. This generates long tracks where the UAVs could easily travel at a high speed for long distances. If we limit the speed at a specific level, this positive side of our work would be neglected. Furthermore, the total number of tracks (long and short tracks) in our path is less than the number of tracks in planned paths of other approaches. In the following, we discuss how the average speed could be computed, to understand which value could be considered as a fair value.
For the sake of simplicity, let us assume that we want to cover a whole area by traveling at a constant velocity Y. Given a track A B that will be traversed by a UAV with horizontal speed between 0 and X m/s. In Figure 20, A V 1 represents the distance traversed with velocity between 0 and X m/s to reach the constant speed X. From V 1 to V 2 the UAV moves at a constant speed X m/s. Then from V 2 to B, the speed varies between X and 0 m/s. We choose Y to be the approximate average velocity ( Y X m/s) to traverse the track A B , which enables a fair comparison to the different approaches. The value of Y is calculated as follows:
Let t A B ( S Y ) be the time needed for the UAV to move from A to B with speed Y m/s, and t A V 1 ( S 0 X ) be the time needed for the UAV to move from A to V 1 with speed variation between 0 and X m/s.
t A B ( S Y ) = t A V 1 ( S 0 X ) + t V 1 V 2 ( S X ) + t V 1 B ( S X 0 )
Since t A V 1 ( S 0 X ) = t V 2 B ( S X 0 ) ,
t A B ( S Y ) = 2 t A V 1 ( S 0 X ) + t V 1 V 2 ( S X )
Consider that t A V 1 ( S 0 X ) t A V 1 ( S X / 2 ) ,
t A B ( S Y ) = 2 t A V 1 ( S X / 2 ) + t V 1 V 2 ( S X )
d A B Y = 2 d A V 1 X 2 + d V 1 V 2 X
If d A V 1 = d V 1 V 2 = 1, then d A B =3. Thus,
3 Y = 2 X 2 + 1 X 3 Y = 4 X + 1 X 3 Y = 5 X Y = 3 5 X
d A V 1 d V 1 V 2 , so to be fair we assume that Y 3 5 X . In this work, the top speed X is 24 m/s, thus Y 14.4 m/s. In the simulation we assume Y is equal to 10 m/s.

6.2.1. Scenario 1

In this scenario, we compare our work to Maza et al. [30]. The area of interest is presented in Figure 21. The authors use the exact area of decomposition. They partitioned the area into three sub-areas and they use three UAVs for coverage. The planned path is generated using back-and-forth algorithm (Figure 21a). The path generated by our work is presented in Figure 21b. The PPS method is applied to select the smallest rectangle around the area. The UAVs speed is considered 8 unit/second with a rotation rate of 30 degrees/second.
Table 5 shows that the number of turning angles is decreased by 38.45% in our work. Both algorithms achieve the same QoC, which is 100%. However, the total path length in our work is 2.54% shorter than the path produced by [30], and still, the energy consumption is reduced by 5.02% and saves around 6.77% of completion time. To better understand the performance of our work and the gain in completion time. We varied both the speed (between 4 and 14 unit/second) and the rotation rate (between 10 and 60 degrees/second). Results show that the average completion time is 7.64% lower than [30].

6.2.2. Scenario 2

In this scenario, we compare our PPS work to the algorithms provided by Valente et al. in [19,20]. They adopt an area of size approximately 327 m × 195 m. The UAVs speed is 10 m/second, and a rotation rate of 30 degree/second. We divide this scenario into three sub-scenarios and compare them according to the following: (A) We adopt the same partitioning method of [19,20], (B) we apply our PPS method along the length side, (C) we compare between the different solutions obtained by our PPS method (i.e., along the length side, along the width side and then “T-shape”).
  • Part A: Using the same partitioning method in [19,20]:
    Figure 22a,b represent the CPP done by [19,20], respectively. Both works exclude the border cells, which gives a quality of coverage QoC 72%. Figure 22c shows the CPP in our work.
    Table 6 shows that the total path’s length in our work is shorter than the paths in [19,20], by 8.02% and 20.18% respectively. In addition, our work lowers the total turning angles by 59.46% over [19] and by 51.03% over [30]. In our work, the completion time is reduced by 31.33% compared to [19], and 31.69% compared to [20]. The gain in energy is 21.90% in our work compared to [19], and 26.65% compared to [20]).
  • Part B: PPS-L versus [19,20]
    We use our PPS-L method and we evaluate its performance. Figure 23a,b represent the CPP done by [19,20], respectively. Both works exclude the border cells, which gives a quality of coverage QoC of 72%. Figure 23c shows the CPP in our work and we can notice that achieves 100% of QoC.
    Table 7 shows that the total path length in our work is shorter by 3.70% than the paths generated by [20]. However, it is higher by 9.87% than the paths obtained by [19]. Our work lowers the total turning angles by 78.37% over [19] and by 73.88% over [20], respectively. Regarding the completion time, it is reduced by 29.52% compared to the time in [19]. It is also reduced by 29.89% compared to [20]. The gain in energy by PPS is 13.14% over [19] and 15.10% over [20].
  • Part C: PPS-L versus PPS-W versus PPS-T
    In this section, we compare our 3 PPS methods on the area of [19,20] with same NFZ position, to evaluate the performance of each method. Figure 24a–c represents the CPP generated by our work using PPS-L, PPS-W and PPS-T, respectively.
    Table 8 shows that the total path length in our work using PPS-L is shorter than the paths using PPS-T by 7.72% and greater than PPS-W by 2.81%. PPS-L decreases the total turning angles by 50.00% over PPS-W and by 42.85% over PPS-T. In PPS-L, the completion time is reduced by 10.30% and 14.99% over PPS-W and PPS-T, respectively. The gain in energy is 4.09% and 12.85% over PPS-W and PPS-T, respectively.

6.2.3. Scenario 3

In this scenario, the location of the NFZ determines which partition method to use. In this section, we study the performance of our partitioning methods by varying the position of the NFZ as follows: (a) NFZ located at the top side of the grid, (b) NFZ located at the right side of the grid and (c) NFZ located in the middle of the grid.
  • NFZ located at the top side of the grid:Figure 25a–c shows the CPP obtained by PPS-L, PPS-W and PPS-T, respectively.
    To evaluate the average performance for the partition methods, we assume that the speed is 9 m/s and rotation rate is 35 degree/sec. Table 9 shows that the PPS-W generated a shorter path than PPS-L and PPS-T by 2.15% and 2.43%, respectively, with lowering the turning angels in PPS-L by 65.41% and 57.14% than in PPS-W and PPS-T, respectively. The average completion time in PPS-L shows a gain by 12.84% and 10.74% against PPS-W and PPS-T, respectively, with lowering the energy by 7.39% and 6.84% against PPS-W and PPS-T, respectively.
    Figure 26 shows the variation of the total completion time in each area. The results are obtained while increasing both speed and rotation rate (Figure 26a), and also while decreasing speed with the increase of the rotation rate (Figure 26b).
  • NFZ located at the right side of the grid:Figure 27a–c shows the CPP obtained by PPS-L, PPS-W, PPS-T, respectively.
    To evaluate the average performance for the partitioning methods, we consider the speed of 9 m/s and rotation rate equal to 35 degree/s. Table 10 shows that PPS-W generates a shorter path than PPS-L and PPS-T. The path is shorter in PPS-W by 13.45% and 4.29%, respectively. PPS-L decreases the turning angles by 65.40% and by 57.14% over PPS-W and PPS-T, respectively. On the other hand, the average completion time in PPS-W shows a gain of 4.37% and 5.95% over PPS-L and PPS-T, respectively. PPS-W also lowers the energy consumption by 7.39% and 5.34% over PPS-L and PPS-T, respectively.
    Figure 28 shows the variation of the completion time in each area. In Figure 28a, the results are obtained by increasing both speed and rotation rate. In Figure 28b, we decrease speed while increasing the rotation rate.
  • NFZ located in the middle of the grid: The CPP by PPS-L, PPS-W and PPS-T, are presented in Figure 29a–c, respectively. The PPS-L method was unable to plan the path in subarea 2 since the NFZ covers cells in two columns of the area which divides it into two disjoint areas. To evaluate the average performance of the partitioning methods, we fix the speed to 9 m/s with rotation rate 35 degree/sec.
    Table 11 shows that PPS-T generates a shorter path than PPS-W with a slight difference of 0.20%. It lowers the turning angles in PPS-T by 22.22% over PPS-W. The average completion time in PPS-T is reduced by 5.22% over PPS-W, with energy saving of 3.53%.
    The results shown in Figure 30 present the gain in completion time in each area. The results in Figure 30a are obtained while increasing both speed and rotation rate. Figure 30b shows the completion time while decreasing speed and increasing the rotation rate.

6.2.4. Scenario 4

In this scenario, we compare our path planning algorithm to the algorithm provided in Di Franco et al. [16]. Authors in [16] plan the path in the presence of NFZ. They use two minimum-cost methods (O-F) and (E-F). The O-F method calculates the lower cost paths based on the sum of the total turning angles, while the E-F computes the energy consumption estimation. In our work, we partition the area using our PPS method, then we plan the path, then the partition borders are removed and the paths are connected to cover the area using a single UAV. Figure 31 shows the area after applying PPS-T method. Note that the NFZ cells are the red cells.
  • Area 1: Figure 32 represents the CPP generated in the work of [16] using O-F and E-F methods, and the obtained CPP in our work.
    The results in Table 12 shows that the total paths length of our work is shorter than the paths of [16] using O-F and E-F methods by 16.10% and 8.62% respectively, and lowering the summation of the turning angles by 20.00% and 21.57% respectively. In our work the completion time is reduced by 18.34% and 16.38% than paths provided by O-F and E-F, respectively. It also achieves a gain of 17.56% and 13.80% in the consumed energy against paths planned by O-F and E-F respectively.
  • Area 2: Figure 33 represents the CPP generated in the works of [16] using O-F and E-F methods, and the obtained CPP in our work.
    The results in Table 13 show that the total path’s length of our work is shorter than the paths of [16] using O-F and E-F methods by 12.60% and 10.04%, respectively. PPS method lowers the total turning angles by 17.33% in both. In our work the completion time is reduced by 15.14% and 14.01% over O-F and E-F methods, respectively. It achieves a gain of 14.21% and 12.58% in the consumed energy against paths planned by O-F and E-F, respectively.

6.2.5. Scenario 5

In this scenario, we compare our path planning algorithm to the algorithm provided in [34] work. Authors in [34] plan the path in the presence of NFZ. Figure 34 represents the CPP generated in the works in [34] and the obtained CPP in our work.
The results in Table 14 show that the total path length of our work is shorter than the paths of [34] by 3.72%, and lowering the sum of the turning angles by 68.60%. In our work, the completion time is reduced by 48.96%. Our work also achieves a gain of 36.59% in the consumed energy against the work in [34].

7. Conclusions

In this paper, we proposed an energy-aware path planning algorithm to cover an area of interest in the presence of NFZ, using a novel parallel partition method. The proposed solution can be applied in scenarios where a single and multiple UAVs are used. The area of interest is divided into a grid using a grid-based technique with subdivision. The area is also partitioned into several sub-areas according to the number of UAVs. In case a single UAV is used single UAVs a path joining algorithm is provided, to connect the paths over the sub-areas taking into account the energy, time and coverage metrics. The area partitioning algorithm divides the area into approximately equal sub-areas, in a way that the partition borders pass over the cells borders to avoid dropping those cells during the path planning phase. The performance of our solution is comparatively evaluated using three metrics: completion time, energy consumption and quality of coverage. In the future works, we aim at enhancing the joining path algorithm, and evaluating the work in the presence of multiple obstacles/NFZ of different shapes and sizes.

Author Contributions

Conceptualization, A.M, and A.G.; Investigation, A.G, A.M, and E.N.; Supervision A.G.; Validation A.M.; Writing—original draft, A.G., and A.M.; Writing—review and editing, A.G, A.M and E.N. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Acknowledgments

The authors would like to thank the editors and the anonymous reviewers, for their valuable comments which improved the clarity and quality of the paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Jiménez López, J.; Mulero-Pázmány, M. Drones for conservation in protected areas: Present and future. Drones 2019, 3, 10. [Google Scholar] [CrossRef] [Green Version]
  2. Petkovic, S.; Petkovic, D.; Petkovic, A. IoT devices VS. drones for data collection in agriculture. DAAAM Int. Sci. Book 2017, 16, 63–80. [Google Scholar]
  3. Fotouhi, A.; Qiang, H.; Ding, M.; Hassan, M.; Giordano, L.G.; Garcia-Rodriguez, A.; Yuan, J. Survey on UAV cellular communications: Practical aspects, standardization advancements, regulation, and security challenges. IEEE Commun. Surv. Tutorials 2019, 21, 3417–3442. [Google Scholar] [CrossRef] [Green Version]
  4. Nam, L.; Huang, L.; Li, X.J.; Xu, J. An Approach for Coverage Path Planning for UAVs. In Proceedings of the 2016 IEEE 14th International Workshop on Advanced Motion Control (AMC), Auckland, New Zealand, 22–24 April 2016; pp. 411–416. [Google Scholar]
  5. Xue, X.; Lan, Y.; Sun, Z.; Chang, C.; Hoffmann, W.C. Develop an unmanned aerial vehicle based automatic aerial spraying system. Comput. Electron. Agric. 2016, 128, 58–66. [Google Scholar] [CrossRef]
  6. Van de Voorde, P.; Gautama, S.; Momont, A.; Ionescu, C.M.; De Paepe, P.; Fraeyman, N. The drone ambulance [A-UAS]: Golden bullet or just a blank? Resuscitation 2017, 116, 46–48. [Google Scholar] [CrossRef]
  7. Bejiga, M.B.; Zeggada, A.; Nouffidj, A.; Melgani, F. A convolutional neural network approach for assisting avalanche search and rescue operations with UAV imagery. Remote Sens. 2017, 9, 100. [Google Scholar] [CrossRef] [Green Version]
  8. Erdelj, M.; Uk, B.; Konam, D.; Natalizio, E. From the Eye of the Storm: An IoT Ecosystem Made of Sensors, Smartphones and UAVs. Sensors 2018, 18, 3814. [Google Scholar] [CrossRef] [Green Version]
  9. Erdelj, M.; Król, M.; Natalizio, E. Wireless sensor networks and multi-UAV systems for natural disaster management. Comput. Networks 2017, 124, 72–86. [Google Scholar] [CrossRef]
  10. Erdelj, M.; Natalizio, E.; Chowdhury, K.R.; Akyildiz, I.F. Help from the sky: Leveraging UAVs for disaster management. IEEE Pervasive Comput. 2017, 16, 24–32. [Google Scholar] [CrossRef]
  11. Natalizio, E.; Zema, N.; Yanmaz, E.; Pugliese, L.D.P.; Guerriero, F. Take the field from your smartphone: Leveraging UAVs for event filming. IEEE Trans. Mob. Comput. 2019. [Google Scholar] [CrossRef]
  12. Erdelj, M.; Saif, O.; Natalizio, E.; Fantoni, I. UAVs that fly forever: Uninterrupted structural inspection through automatic UAV replacement. Ad Hoc Networks 2019, 94, 101612. [Google Scholar] [CrossRef] [Green Version]
  13. Alvear, O.; Calafate, C.T.; Zema, N.R.; Natalizio, E.; Hernández-Orallo, E.; Cano, J.C.; Manzoni, P. A Discretized Approach to Air Pollution Monitoring Using UAV-based Sensing. Mob. Networks Appl. 2018, 23, 1693–1702. [Google Scholar] [CrossRef] [Green Version]
  14. Beg, A.; Qureshi, A.R.; Sheltami, T.; Yasar, A. UAV-enabled intelligent traffic policing and emergency response handling system for the smart city. Pers. Ubiquitous Comput. 2020. [Google Scholar] [CrossRef]
  15. Ghaddar, A.; Merei, A. EAOA: Energy-Aware Grid-Based 3D-Obstacle Avoidance in Coverage Path Planning for UAVs. Future Internet 2020, 12, 29. [Google Scholar] [CrossRef] [Green Version]
  16. Cabreira, T.M.; Ferreira, P.R.; Di Franco, C.; Buttazzo, G.C. Grid-Based Coverage Path Planning with Minimum Energy Over Irregular-Shaped Areas With Uavs. In Proceedings of the 2019 International Conference on Unmanned Aircraft Systems (ICUAS), Atlanta, GA, USA, 11–14 June 2019; pp. 758–767. [Google Scholar]
  17. Yu, H.; Li, G.; Zhang, W.; Huang, Q.; Du, D.; Tian, Q.; Sebe, N. The Unmanned Aerial Vehicle Benchmark: Object Detection, Tracking and Baseline. Int. J. Comput. Vis. 2019, 128, 1141–1159. [Google Scholar] [CrossRef]
  18. Goudarzi, S.; Kama, N.; Anisi, M.H.; Zeadally, S.; Mumtaz, S. Data collection using unmanned aerial vehicles for internet of things platforms. Comput. Electr. Eng. 2019, 75, 1–15. [Google Scholar] [CrossRef]
  19. Barrientos, A.; Colorado, J.; Cerro, J.d.; Martinez, A.; Rossi, C.; Sanz, D.; Valente, J. Aerial remote sensing in agriculture: A practical approach to area coverage and path planning for fleets of mini aerial robots. J. Field Robot. 2011, 28, 667–689. [Google Scholar] [CrossRef] [Green Version]
  20. Valente, J.; Del Cerro, J.; Barrientos, A.; Sanz, D. Aerial coverage optimization in precision agriculture management: A musical harmony inspired approach. Comput. Electron. Agric. 2013, 99, 153–159. [Google Scholar] [CrossRef] [Green Version]
  21. Torres, M.; Pelta, D.A.; Verdegay, J.L.; Torres, J.C. Coverage path planning with unmanned aerial vehicles for 3D terrain reconstruction. Expert Syst. Appl. 2016, 55, 441–451. [Google Scholar] [CrossRef]
  22. Ghaddar, A.; Merei, A. Energy-Aware Grid Based Coverage Path Planning for UAVs. In Proceedings of the SENSORCOMM 2019, The Thirteenth International Conference on Sensor Technologies and Applications, Nice, France, 27–31 October 2019; pp. 34–45. [Google Scholar]
  23. Ashiqur Rahman, M.; Masum, R.; Anderson, M.; Drager, S.L. Trajectory Synthesis for a UAV Swarm to Perform Resilient Requirement-Aware Surveillance: A Smart Grid-based Study. arXiv 2019, arXiv:1911.02512. [Google Scholar]
  24. Cabreira, T.M.; Brisolara, L.B.; Ferreira Jr, P.R. Survey on coverage path planning with unmanned aerial vehicles. Drones 2019, 3, 4. [Google Scholar] [CrossRef] [Green Version]
  25. Balampanis, F.; Maza, I.; Ollero, A. Area partition for coastal regions with multiple UAS. J. Intell. Robot. Syst. 2017, 88, 751–766. [Google Scholar] [CrossRef]
  26. Ammar, A.; Bennaceur, H.; Châari, I.; Koubâa, A.; Alajlan, M. Relaxed Dijkstra and A* with linear complexity for robot path planning problems in large-scale grid environments. Soft Comput. 2016, 20, 4149–4171. [Google Scholar] [CrossRef]
  27. Uras, T.; Koenig, S.; Hernández, C. Subgoal Graphs for Optimal Pathfinding in Eight-neighbor Grids. In Proceedings of the Twenty-Third International Conference on Automated Planning and Scheduling, Rome, Italy, 10–14 June 2013. [Google Scholar]
  28. Coombes, M.; Chen, W.H.; Liu, C. Boustrophedon Coverage Path Planning for UAV Aerial Surveys in Wind. In Proceedings of the 2017 International Conference on Unmanned Aircraft Systems (ICUAS), Miami, FL, USA, 13–16 June 2017; pp. 1563–1571. [Google Scholar]
  29. Balampanis, F.; Maza, I.; Ollero, A. Area Decomposition, Partition and Coverage with Multiple Remotely Piloted Aircraft Systems Operating in Coastal Regions. In Proceedings of the 2016 International Conference on Unmanned Aircraft Systems (ICUAS), Arlington, VA, USA, 7–10 June 2016; pp. 275–283. [Google Scholar]
  30. Maza, I.; Ollero, A. Multiple UAV Cooperative Searching Operation Using Polygon Area Decomposition and Efficient Coverage Algorithms. In Distributed Autonomous Robotic Systems 6; Springer: Berlin/Heidelberg, Germany, 2007; pp. 221–230. [Google Scholar]
  31. Coombes, M.; Fletcher, T.; Chen, W.H.; Liu, C. Decomposition-based mission planning for fixed-wing UAVs surveying in wind. J. Field Robot. 2019. [Google Scholar] [CrossRef] [Green Version]
  32. 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]
  33. Black, P.E. Dictionary of Algorithms and Data Structures; National Institute of Standards and Technology Gaithersburg: Gaithersburg, MD, USA, 2004. [Google Scholar]
  34. Ann, S.; Kim, Y.; Ahn, J. Area allocation algorithm for multiple UAVs area coverage based on clustering and graph method. IFAC-PapersOnLine 2015, 48, 204–209. [Google Scholar] [CrossRef]
  35. 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]
Figure 1. Coverage algorithm proposed in [22] for the area of interest.
Figure 1. Coverage algorithm proposed in [22] for the area of interest.
Sensors 20 03742 g001
Figure 2. Mapping of the area of interest in a grid.
Figure 2. Mapping of the area of interest in a grid.
Sensors 20 03742 g002
Figure 3. Unmanned Aerial Vehicle (UAV) footprint representation. Red boxes are non-flying zones (NFZ).
Figure 3. Unmanned Aerial Vehicle (UAV) footprint representation. Red boxes are non-flying zones (NFZ).
Sensors 20 03742 g003
Figure 4. Grid-based area decomposition before and after subdivision.
Figure 4. Grid-based area decomposition before and after subdivision.
Sensors 20 03742 g004
Figure 5. Vertex creation (before and after the sub-division) and the basic graph representation of the area.
Figure 5. Vertex creation (before and after the sub-division) and the basic graph representation of the area.
Sensors 20 03742 g005
Figure 6. The difference between paths planned before and after the subdivision.
Figure 6. The difference between paths planned before and after the subdivision.
Sensors 20 03742 g006
Figure 7. Partition borders vertex coloring.
Figure 7. Partition borders vertex coloring.
Sensors 20 03742 g007
Figure 8. Edges creation: connecting vertices according to the rules.
Figure 8. Edges creation: connecting vertices according to the rules.
Sensors 20 03742 g008
Figure 9. UAV coverage area while passing through edge (5,6).
Figure 9. UAV coverage area while passing through edge (5,6).
Sensors 20 03742 g009
Figure 10. Turning node edges.
Figure 10. Turning node edges.
Sensors 20 03742 g010
Figure 11. Two examples of generated paths.
Figure 11. Two examples of generated paths.
Sensors 20 03742 g011
Figure 12. Examples of area partition using the three methods PPS-L, PPS-W and PPS-T.
Figure 12. Examples of area partition using the three methods PPS-L, PPS-W and PPS-T.
Sensors 20 03742 g012
Figure 13. Modification border method flowchart.
Figure 13. Modification border method flowchart.
Sensors 20 03742 g013
Figure 14. Border modification method sample.
Figure 14. Border modification method sample.
Sensors 20 03742 g014
Figure 15. Possible generated rectangles that surrounds the area. The smallest rectangle is represented in (c).
Figure 15. Possible generated rectangles that surrounds the area. The smallest rectangle is represented in (c).
Sensors 20 03742 g015
Figure 16. Area partitioned using PPS-W method.
Figure 16. Area partitioned using PPS-W method.
Sensors 20 03742 g016
Figure 17. PPS flow chart in the presence of NFZ and using approximate cellular decomposition.
Figure 17. PPS flow chart in the presence of NFZ and using approximate cellular decomposition.
Sensors 20 03742 g017
Figure 18. A sample of joining three partitioned areas.
Figure 18. A sample of joining three partitioned areas.
Sensors 20 03742 g018
Figure 19. The paths generated by using each of the alternatives.
Figure 19. The paths generated by using each of the alternatives.
Sensors 20 03742 g019
Figure 20. UAV horizontal speed variation while covering track AB.
Figure 20. UAV horizontal speed variation while covering track AB.
Sensors 20 03742 g020
Figure 21. The paths generated by the algorithms in [30] and by our algorithm.
Figure 21. The paths generated by the algorithms in [30] and by our algorithm.
Sensors 20 03742 g021
Figure 22. The paths generated by the algorithms in [19,20] and by our algorithm while using partion method in [19,20].
Figure 22. The paths generated by the algorithms in [19,20] and by our algorithm while using partion method in [19,20].
Sensors 20 03742 g022
Figure 23. The paths generated by the algorithms in [19,20] and by our algorithm with PPS-L.
Figure 23. The paths generated by the algorithms in [19,20] and by our algorithm with PPS-L.
Sensors 20 03742 g023
Figure 24. The paths generated by the algorithms in [19,20] and by our algorithm with PPS-W.
Figure 24. The paths generated by the algorithms in [19,20] and by our algorithm with PPS-W.
Sensors 20 03742 g024
Figure 25. The paths generated by the algorithm by our algorithm using PPS-L, PPS-W and PPS-T with NFZ located at the top of the grid.
Figure 25. The paths generated by the algorithm by our algorithm using PPS-L, PPS-W and PPS-T with NFZ located at the top of the grid.
Sensors 20 03742 g025
Figure 26. The variation of the total completion time in each area.
Figure 26. The variation of the total completion time in each area.
Sensors 20 03742 g026
Figure 27. The paths generated by the algorithm by our algorithm using PPS-L, PPS-W and PPS-T with NFZ located at the right side of the grid.
Figure 27. The paths generated by the algorithm by our algorithm using PPS-L, PPS-W and PPS-T with NFZ located at the right side of the grid.
Sensors 20 03742 g027
Figure 28. The variation of the total completion time in each area.
Figure 28. The variation of the total completion time in each area.
Sensors 20 03742 g028
Figure 29. NFZ is located at the middle part of the grid.
Figure 29. NFZ is located at the middle part of the grid.
Sensors 20 03742 g029
Figure 30. Gain in completion time in each sub-area.
Figure 30. Gain in completion time in each sub-area.
Sensors 20 03742 g030
Figure 31. Planned path after partition.
Figure 31. Planned path after partition.
Sensors 20 03742 g031
Figure 32. Paths generated by the two algorithms in [16] and by our algorithm.
Figure 32. Paths generated by the two algorithms in [16] and by our algorithm.
Sensors 20 03742 g032
Figure 33. Paths generated by the two algorithms in [16] and by our algorithm.
Figure 33. Paths generated by the two algorithms in [16] and by our algorithm.
Sensors 20 03742 g033
Figure 34. Paths generated by the algorithms in [34] and by our algorithm.
Figure 34. Paths generated by the algorithms in [34] and by our algorithm.
Sensors 20 03742 g034
Table 1. Comparison table of our approach over related works in this paper.
Table 1. Comparison table of our approach over related works in this paper.
Our Work[16][19][20][30][34]
Area Cellular decompositionApproximate**** *
Exact* *
Area decomposition TechniqueGrid-based**** *
Grid Sub-division*
Non-flying zonesPresence of NFZ inside the area**** *
NFZ located around the area** *
More than one NFZ inside the area *
Area PartitioningProvide Partition algorithm* ****
Exclude partition border cells **
Number of UAVsSingle UAV**
Multiple UAVs* ****
Grid to Graph mappingGraph representation**** *
Graph filtering*
Edges WeightingProvide cost function for edges****
Include coverage ratio in the weight*
Evaluation MetricsEnergy consumption** *
Completion time******
Quality of Coverage* **
* The features of each work are indicated using the star symbol.
Table 2. Table of Notations.
Table 2. Table of Notations.
NotationDescriptionNotationDescription
A Geographical area t u v Time needed to move between two vertices
A k Sub-area in A c u v Coverage value for an edge
v i b j vertex v i ( x i , y i ) located on the column b j DDistance between two nodes u and v
b j Grid columnSUAV speed
G k Formed graph ω UAV rotation rate
U Set of UAVs L ( u ) Set of all predecessors between two vertices
P UAV Path ρ i Set of possible simple paths
T Set of turning points E ( u ρ i v ) Set of edges along a path ρ i
Φ Turning angles L ρ i ( v ) Direct predecessor of vertex v along the path ρ i
P t o t a l Total path L ρ i s ( u ) Direct successor to vertex u along the path ρ i
G ( V , E , ζ ) Grid represented in Graph ϱ ( u * v ) All the possible paths between u and v
V Set of vertices/nodes I List of vertices
E Set of edges χ Set of edges that form the lowest cost
ζ Set of colorslNumber of sub areas in A
β Edge labelmThe total number of columns
α Vertices labelnThe total number of rows
K Set of keys v 1 s i Start node of path
C p q Sub-column p in major column q v 1 e i End node of path
R i j range i of vertices in column j Γ Connecting edge between two graphs
R i j . m i n Set the min bound for Range i W ( u , v ) Energy cost of traversing an edge
R i j . m a x Set the max bound for Range i W ( Φ u v v ^ ) Energy cost associated with a feasible turn
F 1 Row of first vertex in C p q λ Energy consumption per meter of length
L 1 Row of last vertex in C p q γ Energy consumption per degree of turn angle
d e g ( v ) Degree (or valency) of a vertex v Ξ Total energy consumed
d e g ( v ) Indegree of a vertex v C N Number of covered non-zero cells
d e g + ( v ) Outdegree of a vertex v T N Number of the non-zero cells in the area grid
Table 3. Possible time cost for edge(5,6).
Table 3. Possible time cost for edge(5,6).
FromTo Φ s 56 ^ t r v 56
1edge(2,5)edge(5,6)632.6
2edge(3,5)edge(5,6)452
3edge(4,5)edge(5,6)903.5
Table 4. Possible paths from node 1 to node 6.
Table 4. Possible paths from node 1 to node 6.
ϱ ( 1 * 2 ) TotalTime ρ i
ρ 1 1-2-3-5-68.207
ρ 2 1-2-4-5-611.207
ρ 3 1-2-5-68.118
Table 5. Coverage path planning (CPP) path provided in Ref. [30] vs. our CPP using our PPS-L partition method.
Table 5. Coverage path planning (CPP) path provided in Ref. [30] vs. our CPP using our PPS-L partition method.
(a) Ref. [30](b) Our Work
Route length [unit] ⊤9422.209182.56
UAVs speed [unit/s] υ 88
Turns [degree]46802880
Rotation rate [deg/sec] ω 3030
Completion-time [sec] τ 1333.771243.45
Energy consumption [KJ] Ξ t o t a l 1177.711118.48
Table 6. CPP path provided in Ref. [30] and Ref. [20] vs. our CPP using same partition method.
Table 6. CPP path provided in Ref. [30] and Ref. [20] vs. our CPP using same partition method.
(a) Ref. [19](b) Ref. [20](c) Our Work
Route length ⊤ in meters1339.521543.461231.97
UAVs speed [m/s] υ 101010
Turns [degree]333027571350
Rotation rate [deg/sec] ω 303030
Completion-time [sec] τ 244.95246.24168.19
Energy consumption [KJ] Ξ t o t a l 213.53227.35166.75
Table 7. CPP path provided in Ref. [30] and Ref. [20] vs. our CPP using our PPS-L partition method.
Table 7. CPP path provided in Ref. [30] and Ref. [20] vs. our CPP using our PPS-L partition method.
(a) Ref. [19](b) Ref. [20](c) PPS-L
Route length ⊤ in meters1339.521543.461486.23
UAVs speed [m/s] υ 101010
Turns [degree]33302757720
Rotation rate [deg/sec] ω 303030
Completion-time τ in s244.95246.24172.623
Energy consumption [KJ] Ξ t o t a l 213.53227.35185.45
Table 8. Our CPP using our PPS-L partition method vs. PPS-W partition method vs. PPS-T partition method.
Table 8. Our CPP using our PPS-L partition method vs. PPS-W partition method vs. PPS-T partition method.
(a) PPS-L(b) PPS-W(c) PPS-T
Route length ⊤ in meters1486.231444.481610.71
UAVs speed [m/s] υ 101010
Turns [degree]72014401260
Rotation rate [deg/sec] ω 303030
Completion-time [sec] τ 172.62192.44203.07
Energy consumption [KJ] Ξ t o t a l 185.45193.05209.28
Table 9. Our CPP using our PPS-L partition method vs. PPS-W partition method vs. PPS-T partition method.
Table 9. Our CPP using our PPS-L partition method vs. PPS-W partition method vs. PPS-T partition method.
(a) PPS-L(b) PPS-W(c) PPS-T
Route length ⊤ in meters1433.191402.291437.25
UAVs speed [m/s] υ 999
Turns [degree]54015611260
Rotation rate [deg/sec] ω 353535
Completion-time [sec] τ 174.67200.41195.69
Energy consumption [KJ] Ξ t o t a l 176.17190.23189.09
Table 10. Our CPP using our PPS-L partition method vs. PPS-W partition method vs. PPS-T partition method.
Table 10. Our CPP using our PPS-L partition method vs. PPS-W partition method vs. PPS-T partition method.
(a) PPS-L(b) PPS-W(c) PPS-T
Route length ⊤ in meters1615.251397.921460.65
UAVs speed [m/s] υ 999
Turns [degree]54015611260
Rotation rate [deg/sec] ω 353535
Completion-time [sec] τ 200.07191.32203.44
Energy consumption [KJ] Ξ t o t a l 200.49184.52194.93
Table 11. Our CPP using our PPS-L partition method vs. PPS-W partition method vs. PPS-T partition method.
Table 11. Our CPP using our PPS-L partition method vs. PPS-W partition method vs. PPS-T partition method.
(a) PPS-L(b) PPS-W(c) PPS-T
Route length ⊤ in metersN/A1406.701403.98
UAVs speed [m/s] υ 999
Turns [degree]N/A16201260
Rotation rate [deg/sec] ω 353535
Completion-time [sec] τ N/A202.58191.99
Energy consumption [KJ] Ξ t o t a l N/A185.07178.53
Table 12. CPP path provided in Ref. [16] vs. our CPP.
Table 12. CPP path provided in Ref. [16] vs. our CPP.
(a) O-F(b) E-F(c) Our Work
Route length ⊤ in meters556.98511.42467.33
UAVs speed [m/s] υ 101010
Turns [degree]225022951800
Rotation rate [deg/sec] ω 303030
Completion-time [sec] τ 130.69127.64106.73
Energy consumption [KJ] Ξ t o t a l 103.7699.2385.54
Table 13. CPP path provided in Ref. [16] vs. our CPP.
Table 13. CPP path provided in Ref. [16] vs. our CPP.
(a) O-F(b) E-F(c) Our Work
Route length ⊤ in meters582.84566.27509.38
UAVs speed [m/s] υ 101010
Turns [degree]202520251674
Rotation rate [deg/sec] ω 303030
Completion-time [sec] τ 125.78124.12106.74
Energy consumption [KJ] Ξ t o t a l 102.87100.9488.25
Table 14. CPP path provided in Ref. [34] vs. our CPP.
Table 14. CPP path provided in Ref. [34] vs. our CPP.
(a) Ref. [34](b) PPS-L
Route length ⊤ in meters1575.561517.02
UAVs speed [m/s] υ 1010
Turns [degree]10,8903420
Rotation rate [deg/sec] ω 3030
Completion-time [sec] τ 520.56265.70
Energy consumption [KJ] Ξ t o t a l 371.79235.75

Share and Cite

MDPI and ACS Style

Ghaddar, A.; Merei, A.; Natalizio, E. PPS: Energy-Aware Grid-Based Coverage Path Planning for UAVs Using Area Partitioning in the Presence of NFZs. Sensors 2020, 20, 3742. https://0-doi-org.brum.beds.ac.uk/10.3390/s20133742

AMA Style

Ghaddar A, Merei A, Natalizio E. PPS: Energy-Aware Grid-Based Coverage Path Planning for UAVs Using Area Partitioning in the Presence of NFZs. Sensors. 2020; 20(13):3742. https://0-doi-org.brum.beds.ac.uk/10.3390/s20133742

Chicago/Turabian Style

Ghaddar, Alia, Ahmad Merei, and Enrico Natalizio. 2020. "PPS: Energy-Aware Grid-Based Coverage Path Planning for UAVs Using Area Partitioning in the Presence of NFZs" Sensors 20, no. 13: 3742. https://0-doi-org.brum.beds.ac.uk/10.3390/s20133742

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

Article Metrics

Back to TopTop