**2. Background and Related Work**

This section presents the background and related work regarding the AOI decomposition techniques used for UAV CPP, coverage types, different types of the AOI used for coverage missions, geometric flight patterns, path optimization algorithms and application specific CPP methods. Cao et al. [29] defined the six requirements for coverage scenarios. In complex environments, it is not always possible to satisfy all six requirements. Therefore, in some cases, the priority is given to the mission completion with sacrifice on some of the requirements [30]. Prior research classified the CPP methods into two major categories: heuristic and cell decomposition-based methods. Heuristic based methods define procedures that should be followed during CPP [31,32]. In cell decomposition, the AOI is decomposed into non-overlapping cells of varying shapes and sizes. There exist several kinds of the AOI decomposition techniques in literature [30]. Boustrophedon decomposition [33] and trapezoidal decomposition [34] are two well-known exact cellular decomposition techniques that are widely used for coverage applications. Morse-based cellular decomposition is an advance form of the boustrophedon decomposition which is based on critical points of Morse functions [35]. The approximate cellular decomposition techniques divide the AOI into a set of regular cells. Grid-based methods are used over approximate areas to generate coverage paths for the UAVs [36]. Convex decomposition transforms the irregular shaped AOI into regular shaped cells in order to reduce the number of turns [37]. Each decomposition method varies regarding the cell sizes, cell shapes, degree of computational complexity, and path quality. A pictorial overview of the most widely used AOI decomposition techniques is given in Figure 1.

**Figure 1.** Most widely used areas of interest decomposition techniques for coverage path planning.

There are two types of coverage: simple and continuous. The shape of the AOI can be a rectangle, square, convex polygon, non-convex polygon, 3D cubes (i.e., buildings) or irregular for coverage missions. The most widely used geometric flight patterns for CPP are back and forth (BF), spiral (SP), zamboni, and hybrid patterns. Andersen et al. [38] compared different types of the geometric flight patterns in his work. The flight patterns are employed considering the UAV mobility constraints, shape of the AOI, coverage type, and application requirements. For example, the BF pattern is suitable when the AOI is rectangular and large in size. Jiao et al. [39] proposed an exact cellular decomposition based approach for concave area coverage. Initially, the concave shaped AOI is decomposed into the convex subareas using the minimum width sum approach [40], and then the BF motion pattern is applied to completely sweep the AOI. Xu et al. [41] proposed an optimal CPP approach for fixed wing UAVs with minimum overlapping and coverage guarantees. The proposed algorithm employs the boustrophedon decomposition to decompose the AOI into a set of cells. Later, the adjacency graph is constructed from the cells, and cells are swept using the BF motion patterns. The order of the cells visit follows the Eulerian circuit having start and end at the same vertex. The proposed approach is able to achieve the complete coverage of the AOI. However, in some cases, it will perform additional sweeps by not considering the sensor's footprint that will significantly affect the solution quality in the presence of complex geometry obstacles. Öst [42] proposed a CPP approach for concave shape AOI with sharp edges without sacrificing the guarantees on complete coverage.

In some scenarios, a UAV needs to visit several spatially distributed points of interests (POIs) in the target area to either collect data or provide wireless charging during the mission. In such cases, the CPP problem is divided into several small start-to-goal subproblems, where UAV needs to visit each POI only once while avoiding collision with the obstacles present in the AOI.Some authors considered the special cases of CPP in which AOI contains many interesting and non-interesting zones [43,44]. The interesting zones need careful coverage with higher resolution, so UAV covers such zones with low altitudes and vice versa.A new CPP approach for the aerial remote sensing in agriculture was proposed by Barrientos et al. [45]. The proposed approach decomposes the AOI based on the vehicle's capabilities. UAV has to fly at a certain constant height in order to ensure a specific resolution and CPP is performed using a wavefront planner [46]. The existing studies used several path optimization algorithms for UAV CPP. The ant colony optimization (ACO) [47], Genetic algorithm (GA) [48], wavefront algorithm [49], A∗ algorithm [50], theta∗ algorithm [51], particle swarm optimization (PSO) [52], and their improved versions, among other, are the most widely used path optimization algorithms for CPP.

A number of studies have explored a closely related method used for UAV CPP with coverage guarantees, the boustrophedon cellular decomposition based hierarchal CPP approach (BCDH-CPP) [53], and the related coverage alternatives-based CPP (CA-CPP) algorithm [54]. The BCDH-CPP [53] is a cellular decomposition based CPP approach for the UAVs and it is a promising method for CPP in known environments inhabiting arbitrary obstacles. The proposed approach decomposes the AOI into cells, compute a Eulerian circuit traversing through these cells, and finally joins each cell in using seed spreader motion pattern to find a coverage path. The proposed approach determines the coverage path with excessive overlapping in some parts by not considering the UAV sensor/camera footprints as coverage unit. CA-CPP algorithm [54] introduced the four coverage alternatives to perform efficient coverage in both convex and non-convex areas. The proposed approach can reduce the number of turns and path length considering the appropriate directions and optimal line sweep. The proposed approach has very high computational cost. Meanwhile, the authors devised a method to reduce the overheads by enforcing adjacencies. However, due to extensive evaluation of various permutations, the proposed algorithm complexity varies exponentially with problem size. Furthermore, the decomposition-based CPP approaches discard the useful global information about the free spaces geometry which can lead to the excessive number of turns in the path.

The contributions of this research in the field of UAV global CPP can be summarized as follows: (i) it proposes a new coverage flight path planning algorithm that has potentials to obtain the minimum length path that ensures the perfect coverage of the target area with reduced computational time, number of turns, and path overlapping; (ii) it evaluates and selects the best coverage direction(s) by analyzing the span of the AOI, and exploiting free spaces geometry information to reduce the number of turns in the path; (iii) it introduces a novel footprints' sweeps fitting method in which an entire free space of a certain AOI can be swept with fewer and longer sensor/camera footprints' sweeps; (iv) it determines the visiting sequence of the footprints' sweeps in the form of closed path to reduce the global path length; (v) it generates a sparse waypoint graph by connecting the footprint sweeps' endpoints with neighbours' sweeps by taking into account their visiting sequence, UAV maneuverability constraints, and obstacles effect; (vi) it finds a coverage path that fully scan the desired area located in 3D urban environments.

#### **3. The Proposed Coverage Flight Path Planning Algorithm**

This section explains the conceptual overview of the proposed CPP algorithm and outlines its procedural steps. Figure 2 shows the conceptual overview of our proposed global CPP algorithm.

To find a path that covers an entire free space of a certain region of interest *Q* of a 3D urban environment of known geometry, we used the seven principle steps. Brief discussion about each principle step with the equations, procedures and examples are explained below.

#### *3.1. Modelling of the UAV Operating Environment*

After getting the coverage mission specification, the proposed algorithm models the UAV operating environment. Environment modelling usually refers to the classification of free spaces (*Qf ree*) and obstacles regions (*Qobstacles*). *Qobstacles* refers to the parts of the AOI *Q* where the UAV cannot fly due to the presence of obstacles. In contrast, *Qf ree* refers to those parts of *Q* where UAV can operate without collision with obstacles. The obstacles' regions are represented with the geometrical shapes (i.e., squares, cubes, circles, and cylinder, etc.). In this work, we model the UAV operating environment from the raw environment containing the elevation data about the urban environment buildings and apartments, etc. with a set of 3D convex obstacles by calculating the convex hull. Each obstacle has random width, length and altitudes depending upon the real environment geometry. Each obstacle has eight vertices and six faces. The obstacle vertices *u* in the modelled environment can be represented with three co-ordinates values, *u* = (*x*, *y*, *z*). All eight vertices of the *i*th obstacle along with their numerical values can be mathematically expressed as following matrix.


The source location is represented with a 3D point *p*, where *p* = (*xs*, *ys*, *zs*) and destination location is represented with a point *q*, where *q* = (*xt*, *yt*, *zt*). In some coverage mission, the source *p* and destination *q* are the same because the UAV returns to the starting location after completing the mission. The objective of the proposed algorithm is to find a coverage path *ζ* that guarantees the perfect coverage of *Q*. The path *ζ* consists of nodes set which can be defined as, *ζ* ∈ *Qf ree* and *ζ* ∩ *Qobstacles* = ∅.

**Figure 2.** Conceptual overview of the proposed coverage flight path planning algorithm.
