Abstract
In recent times, Unmanned Air Vehicles (UAVs) are being deployed for several tasks of terrain coverage such as surveillance, photogrammetry, smart irrigation, civil security, and disaster management. In these applications, one of the most vital issues to be addressed is, covering the area under observation with minimum traversal for the UAV. So, the problem addressed in this paper is as follows: For a given geographic area and the given parameters describing the UAV’s coverage capacity, the problem is to find an optimal route that covers the given geographic area. In this paper, an optimal path planning algorithm for the area under observation, given as a closed curve, is proposed. The algorithm partitions the given area of interest into multiple non-uniform rectangles while considering other parameters such as the flying altitude of the UAV and obstacles that could be encountered during its flight. The problem is transformed into Traveling Salesman Problem by constructing a graph from the rectangular partitioning. Effective approximate solutions are provided to this problem, using the Minimum Spanning Tree (MST) approximation algorithm and Ant Colony Optimization (ACO). The experimental results show that ACO outperforms the MST based algorithm as it does not get stuck in local minima.
Keywords
Introduction
Unmanned Aerial Vehicles (UAVs) are becoming very popular and are being widely used by most of the countries across the globe. They are being deployed in numerous applications such as wildlife monitoring, disaster management, target tracking, area patrolling, and more [1]. The UAVs comprise of aerial platforms that are manually and remotely controlled by humans, though they are pre-programmed to perform some automated functions. Autonomous flying could be carried out using smart methods incorporated with onboard receptors.
Area Coverage Problem in UAVs is one of the most vital problems that is being continuously researched. The problem is to cover the area under observation by the UAVs in minimum duration of time considering various other constraints such as the number of obstacles, climatic conditions, battery life of UAVs, and lot more. An optimal solution for any given application must minimize the duration of the traversal covering the entire area of interest [2].
In this paper, an application of covering the given geographic area under surveillance by a single UAV is considered. It could be any application for which the UAV is deployed. The ultimate goal of the proposed work is to cover the entire area with a minimal cost of traversal. The path should be planned in such a way that it originates from a particular point and ends at the same point covering all the regions within the given area of interest. In Fig. 1, a single UAV deployed in an urban environment is illustrated. The area enclosed within the red dotted line indicates the current region that is being surveyed by the UAV. The rest of the regions enclosed within the green dotted lines indicate the other regions of interests yet to be covered.

Drone deployed Environment.
Some of the preliminaries of Graph Theory are discussed in the following subsection before specifying the problem and the methodology.
Given a complete weighted graph G(V, E), where V is a set of n vertices and E is a set of edges between all the pair of vertices in V, a spanning tree is an acyclic subgraph G| (V, E|). There might be many spanning trees, but Minimum Spanning Tree (MST) is a spanning tree with minimum total weight [5].
Traveling Salesman Problem (TSP) is one of the widely investigated problems that are majorly used in numerous applications such as Bio-Informatics, Logistics, and also in path planning. Given a complete weighted graph G(V, E), the Travelling Salesperson Problem finds the shortest simple cycle covering all the vertices in graph G and with a minimum cost of traversing [6].
Problem specification
For a surveillance UAV, an area under study/interest will be given. The UAV has to start at a given point on the boundary of the given geographic area, at a specific altitude. It has to traverse over the given area covering the entire region using the shortest path and come back to the starting point on the boundary. In this paper, this problem is transformed into a Travelling Salesperson problem for which two alternate solutions are proposed. A comparative study of these two algorithms is made in the context of UAV path planning.
Methodology outline
A bounding polygon for the geographic map of the area under observation is constructed by finding Convex Hull using the Graham Scan Algorithm [3]. A Rectilinear Partitioning Algorithm is designed to partition the coverage area into a set of n Rectangles, R = {R1, R2, . . . . . R n }. The sizes of the rectangles may vary depending on the altitude and the obstacles at that altitude and the like. The rectangular decomposition is done in such a way that they are non-overlapping. This tends to minimize the frequency of visiting the same area more than once.
The proposed algorithm finds the centroids of every rectangle. These centroids are considered as vertices of a complete graph with straight-line distances between the vertices as edge weights [4]. The Prim’s MST algorithm is used to provide an approximate solution to the TSP by constructing a path using Depth First Search. Ant Colony Optimization (ACO) [7] is also used to provide a solution for the TSP with efficient measures. A comparison is carried out on the minimal routes obtained using MST and ACO. The use of particular algorithms is done as they tend to work well with undirected-weighted graphs. The difference in the optimal route found while changing the various parameters such as the total number of iterations and the number of ants used to perform ACO are evaluated. The entire architecture of the proposed method is given in Fig. 2.

The architecture of the Proposed Method.
The rest of the paper is organized in the following way: Section 2 discusses various existing systems used for optimal path planning, Section 3 elaborates on the methodology behind the proposed work, Section 4 lists various experiments conducted along with the results obtained and the paper is concluded with some suggestions that could be experimented as future works.
UAVs are used in various applications and each application has its drawbacks while making use of them. It is been widely used in remote sensing [8], coastal engineering [9], agriculture [10], disaster management [11], smart city management [12], and various other fields as stated in [13]. Some of the limitations of using UAVs is mentioned by Mottola, L. in [14].
UAV path planning has emerged as a separate area of research as it is considered as a major component for designing autonomous UAVs. Some of the most common constraints that need to be considered for UAV path planning are energy-related constraints such as its battery life and its constant communication with the base station. An optimal path planning is required by a UAV to traverse with minimum energy consumption and optimally traversing the entire area of interest. An energy-aware path planning algorithm designed by Kouroshnezhad, S. [15], claimed to employ Linear Programming(LP) for planning trajectories for given sensors by making use of localization algorithms. With the help of Heuristic Optimization Methods, a novel framework was claimed to be proposed with optimum coverage [16]. A genetic algorithm developed in [17], stated to minimize the total operational cost of the drones used in parcel delivery. A survey by Zhao, Y. [18] provides a complete review of various computational intelligence algorithms for various path planning techniques. A solution for Multi-UAV path planning problem is suggested in [19], and Geometric Reinforcement Learning(GRL), claimed to discover an optimal path for UAVs, by using a reward matrix [20].
Collision avoidance is another major problem that needs to be considered while planning a path for UAV. A sampling-based path planning method, suggested by Yucong Lin [21], stated to avoid collision with any moving obstacles. With the help of an optimal control method, the path of UAV is designed in such a way that it could solve the dead point problem with great efficiency [22]. The collision avoidance problem becomes very crucial when multiple UAVs are deployed for one particular application. Peng Yao [23], constructed a cooperative path planning model for multiple UAVs, which could be effectively used in target tracking applications.
Covering the entire target area, by a UAV is essential for any given application. Problems on area coverage are solved by various area partitioning algorithms. In [24], the author has effectively decomposed the coastal regions by making use of Constrained Delaunay triangulation. With the help of the coordination variable, an entire area was divided into r x c shape by making use of a distributed algorithm, where r refers to row, and c refers to columns of the respective grids [25]. Another distributed coverage algorithm proposed in [26], covers the entire area using Voronoi partitioning method, with non-overlapping regions. DARP algorithm claimed to divide the areas into several equal partitions by allocating them to a specific autonomous robot, where a complete area coverage is guaranteed [27].
While deploying MST in UAV path planning, it produces a subset of all paths, connecting every node(region) that needs to be visited. In [28], the author has used an image segmentation method for finding the MST using a clustering-based algorithm. Pop, P. C. has discussed the general formulation of MST based problems and various heuristic approaches to solve them [29].
The idea behind solving the TSP problem in area coverage applications is to find a minimum route that traverses all the given regions with the same starting and ending points [30]. TSP belongs to a family of NP-complete problems where the total computational complexity increases exponentially with the increasing number of nodes [31]. Numerous algorithms are in use to solve this problem effectively. Some of the major contributions in solving TSP to obtain an optimal path for UAVs can be found in [32, 33]. The research works highlight various perspectives in deploying a path for a UAV.
Methodology
The problem under consideration is to find an optimal path of a UAV, to cover a given geographic region. The steps in the methodology broadly are as follows: Find a bounding polygon for the geographic map under observation Find rectilinear partitioning of the polygon based on the information about obstacles, like trees, at the flying altitude and the coverage area of the surveillance Mark the centroids of each of the rectangular partitions and construct a complete graph with these centroids as vertices and the distance or energy consumption by UAV as weights Identify the starting vertex of the UAV and find the shortest cycle covering all the vertices of the graph using MST approximation and Ant Colony Optimization
Rectilinear partitioning algorithm
Let us consider a UAV flying at an altitude h, over a fixed polygonal area A, comprising of a camera installed onboard. The area that is being captured by this UAV at a particular instance of time is called the Field of View (FoV). Let W be the width and L be the length of the area covered by FoV. The angle enclosed between this area is represented by η and θ as shown in Fig. 3. The rectilinear partitioning is carried out by considering these parameters in different areas of the traversal.
The dimensions W and L of the camera’s FoV can be calculated by Eq. (1) and Eq. (2).

Field of View(FoV) – UAV.
where W: FoV’s total width L: FoV’s total breadth h: Altitude of flying η: enclosed vertical degree θ: enclosed horizontal degree
Convex Hull for the area of interest is found by grouping points with outermost values, as shown in Fig. 4. The most prominent characteristic of this technique is to use the adjacency information of points to find the outermost points. Graham Scan algorithm is used in applications making use of information visualization algorithms that tend to use images.
The algorithm produces a minimal set of bounding polygonal vertices, for the area of interest. It makes use of the angle between two related lines that originates from the same source point to determine the outermost position of lines. Graham Scan algorithm initializes by determining the starting point from any set of points (in this case, vertex) and in Fig. 4 the starting vertex is V1.

Graham Scan Algorithm.
The relation between two adjacent lines is determined based on whether it follows the pattern of “turn right” (clockwise) or of “turn left” (counterclockwise). A vertex falling at the line that follows the pattern “turn left”, is to be removed from the sequence of Convex Hull if there exists no other pattern pertaining to “turn right”. The idea of the algorithm is explained with the help of Fig. 4. In this figure, it can be noted that vertices V1 and V2 form a pattern of “turn right”. Vertex V4 is eliminated from the entire Convex Hull sequence as, when the line from V3 goes to V4, it will form a pattern of “turn left” and there is still another “turn right” pattern that leads to V5 such that the next convex hull line is at vertex V5, and not V4.
In Fig. 6, it can be noted that the number of vertices on the boundary of the polygonal area is decreased from Fig. 5 after computing the Convex Hull of the polygon using the Graham Scan algorithm on a sample Geographic area. Table 1 summarizes various parameters that are evaluated while computing the Convex Hull of the polygon for a model geographic map.

Before Convex Hull – 26 vertices.

After Convex Hull – 12 vertices.
Comparison of parameters for a sample geographic area
Given a polygonal area, the minimum area of the enclosure is found using the Graham Scan Algorithm. Now it is necessary to partition the area enclosed within the polygon to find an optimal area coverage strategy in such a way that the UAV covers the entire polygon. It is assumed that the UAV flies at an altitude h which varies with many external factors. One such important factor is an obstacle that could be encountered while traveling over the given area.
In this work, we have taken static obstacles particularly buildings, transmission line towers, and trees over which the UAV needs to fly. In the case of particular applications such as disaster management, the drones must capture images in low altitudes and fly to higher altitudes when it finds a building or any other static obstacles. When the altitude of the UAV changes, it’s FoV also changes as it is completely dependent on the altitude of the flight. In other terms, it could be stated that the area coverage of the UAV is directly proportional to the altitude at which it is flying. The more the UAV altitude is, the more is the area covered by it. It is not mandatory to make the UAVs fly always at higher altitudes, as the images captured by it might have lower resolutions. Some applications make the UAVs to fly at lower altitudes to get better clarity of images.
A rectangular part of the polygonal area is used for experimental purposes to reduce the complexity of the problem. A rectangular region is sub-divided into numerous rectangular partitions using RPA. It is assumed that the UAVs maximum altitude H’ is about 400 feet, and the coordinates of the buildings (x and y) within the area of interest A is known. The minimum altitude of the UAV is considered to be 50 feet such that the images captured by the UAV have a good resolution. The initial altitude of UAV is H and each static obstacle in A is considered as an obstacle o, which when encountered during the flight of the UAV, changes its altitude from H to reach H’. Following is the listing of the algorithm used.
Inputs: Maximum Altitude H’, Minimum Altitude H Area of Interest – A
X,Y coordinates enclosing the area A
x,y coordinates of static obstacles in A
Output: Set of Rectilinear Partitions R = {R1, R2, … R
n
} Compute O, a set of p obstacles in A with known x,y coordinates: O = {o1, o2, o3, …, o
p
} where o
i
is i
th
obstacle At altitude H, compute the FoV using
Compute coordinates of the m initial rectangular partitions R1,R2 … R
m
based on FoV, in row major order Repeat Steps 5 & 6 for each i = 1 . . . p
For the obstacle o
i
find the partition R
k
in which the obstacle is present Compute the FoV for altitude H’ using Step 2. Find the neighbouring partitions that have to be joined with R
k
, considering R
k
as at the center .
RPA algorithm initially starts with an assumption of minimum height H. It then computes a set of points of obstacles O, which consists of all static obstacles within the area A using the coordinates of the obstacles. When there are no obstacles the height of the UAV is H and the FoV is calculated for this altitude by using Equations 1 and 2. The FoV is a rectangular partition as we obtain the width and length of the rectangle. All the partitions are obtained at H and for each of the obstacle from O, the altitude of the UAV is changed from H to H’. An FoV is calculated for this new altitude H’. The computation of FoV iterates until all the obstacles are taken care.
The final output obtained would be a set of rectangular partitions R. Figure 7 shows a rectangular area A partitioned into n number of rectilinear partitions.

Rectilinear Partitioning.
The centroid of each rectilinear partition is computed. Each of these is taken as a point to be visited in an optimal path planning algorithm, such that visiting the centroid of every partition will cover the entire area enclosed within the partition. The centroid C, of a partition with (X, Y) as the lower left corner coordinates, is found out using the formula

Centroid of a rectangle.

Centroids of each partition.
The distance matrix is constructed using the Euclidean distances between pairs of centroids in C. The assumption is that a path exists between every pair of centroids as in Fig. 10, and hence the graph is complete. Each centroid in C is considered as a unique vertex, which would be visited once for getting an optimal path for the UAV.

All possible paths between all centroids.
Now the problem can be posed as a Travelling Sales Person Problem. This paper computes an optimal solution for TSP using Minimum Spanning Tree and Ant Colony Optimization techniques. Comparisons are done on various parameters to evaluate the efficiency of the algorithms.
The TSP can be defined as follows: given a complete graph G=(V, E) where V denotes the set of vertices and E denotes the set of edges connecting all pairs of vertices. An edge (i, j) ∈ E, from the graph used, is assigned a cost d ij , to traverse between vetices i and j. The problem is to find the cycle starting at a given vertex, connecting all the vertices, with minimum total cost.
In our problem, each centroid is taken as a vertex and a distance matrix is calculated using Euclidean distance d
ij
. It is calculated as in Eq. (3).
In this work, the distance matrix D m for the graph constructed with centroids, is computed by making use of the x and y coordinates centroids and the cost between a pair of vertices gives the actual distance between them.
Before going to the details of the solution for the problem, an illustration of finding MST using Prim’s algorithm is shown below: Given a graph G as in Fig. 11, let us consider A to be the starting vertex, and the traversal initiates by taking the smallest edge cost first.

Graph G.
An MST is found as shown in Fig. 12. Then the Depth First Traversal on the MST is conducted. In DFS, the vertices are traversed from its root node and explore the tree as far as possible along every branch before backtracking and moving to the next branch. Let us consider T as shown in Fig. 13, to be the MST of the given graph G which is used for finding the route of traversing all the vertices. If a route is constructed between the vertices of tree T, it would yield to a path consisting of the traversal T1. In case, of using DFS for the tree T, the repeated nodes can be removed assuming Triangular Inequality property for Euclidian distances. Hence a new optimal path is obtained which follows the traversal T2.

Iterations for finding MST.

Tree T.
T1 - A,C,D,C,B,C,A T2 - A,C,D,B,A
The traversal T1 and T2, clearly shows the minimization of complexity in finding the optimal route, hence providing an optimal solution to the Travelling Salesman Problem. Pictorial representation of the traversals is depicted in Fig. 14.

Depth First Search in MST.
The Ant Colony Optimization(ACO) is stimulated by the foraging characteristic of ants in the eco-system. The ants are very much capable of finding the shortest path from the source of food to its nest without any visual clues and is called as stigmergic communication between ants. The ants tend to deposit some amount of chemical substance (called a pheromone) on the ground while walking in search for the food source. This pheromone acts as memory preservation, to come up with the shortest path. As the density of the pheromone increase, it is useful in increasing the probability of other ants to follow the same path. As the number of ants walking on a trail increases, the more is the amount of pheromone deposited on the ground which increases the number of ants to follow the trail. With the help of this mechanism, ants will find the shortest path. When it comes to solving a TSP, the algorithm initializes n ants where n is the number of vertices that need to be visited. Each ant initially visits a random vertex (two or more ants cannot have the traversal to the same vertex) and traverses to the next vertex and in the same way, tries to visit all the vertices in the given graph G. The ant updates its local pheromone value as it traverses through the vertices in each iteration. All the ants in the system also communicate with each other to update its Global Pheromone value which is used to find the shortest route for the given graph G. This algorithm gives an effective solution for the TSP and reduces the time complexity of the application to a greater extent. The traversals performed by the ACO algorithm for solving the TSP of a given graph G is shown in Fig. 15.

Ant Colony Optimization.
The entire experimental analysis revolves around partitioning a given area of interest into n number of rectilinear partitions and traversing all the partitions with minimum cost. The implementation is performed with QGIS – Desktop version 3.10.0.
The implementation is initialized by taking a set of vertices V’ that encloses a polygonal area. The area enclosed within the vertices V’ is assumed to be a’ The Convex Hull is computed for V’ using the Graham Scan Algorithm that resulted in the minimization of vertices and also minimized the total enclosed area denoted as A’. Table 1 summarized the results obtained while using the Graham Scan Algorithm. To reduce the complexity of the algorithm, a rectangular area A is selected from A’, and the rectilinear partitioning algorithm is used to partition it into various rectangles R n . Some of the parameters considered for partitioning A’ is UAV’s altitude and the coordinates of the obstacles within A. In the experiment conducted we have taken maximum altitude of the UAV as 400 feet which are minimized gradually to enclose all the unvisited areas in A. The centroids of each rectangular partition are computed that are used for computing an optimal solution for TSP. Each centroid is considered as a vertex of a graph G1. for which an MST is computed. The distance matrix is computed for G1, where the distance of traversing from any particular vertex to another in G1 is obtained. A sample distance matrix obtained from one particular vertex to all other vertices is shown in Fig. 16. MST of the given centroids is depicted in Fig. 17, where the weight of the graph is 7.254 km ≈ 7254 m. It can be noted that all the vertices of the graph are covered with minimal overall distance for traversal.

Distance Matrix.

Minimal Spanning Tree.
The MST computed graph is further used for finding an optimal solution for TSP. In MST a particular vertex might be visited more than once whereas, TSP provides a minimal computation cost where a particular vertex is not visited more than once. This solution reduces the computation cost to a greater extent.
In Fig. 18, an optimal solution for the MST computed for the weighted graph is given, where the weight of the graph is about 5.423 km ≈ 5423 m. In this computation, it could be noted that the overall cost of traversal is reduced as the vertices are visited only once. The weight obtained for both MST and TSP is the minimum distance for traversing all the vertices in G1 and is validated using the distance matrix.

Solution for TSP using MST.
The value of the solution for TSP by using MST is compared with the solution obtained while solving TSP using Ant Colony Optimization for the graph G1. constructed from centroids of the rectilinear partitions Rn. Some of the constant parameters initialized while performing ACO where the pheromone exponential weight α=1 and heuristic exponential weight β=1 with an evaporation rate ρ of 0.5. In Fig. 19, the optimal solution obtained while using ACO is depicted.

Solution for TSP using ACO.
Some of the parameters were not taken as constant values and were gradually changed to obtain an optimal solution. The best cost for the given set of vertices in graph G1 using ACO is 878.2476. Experiments were carried out by changing the number of ants nAnts and the maximum number of iterations MaxIterations to obtain various results such that the optimal solution could be obtained.
The efficiency graphs while using 40 ants are depicted in Figs. 20, 21 and 22 with MaxIterations ranging from 50 to 200. The efficiency graphs while using 60 ants are depicted in Figs. 23, 24 and 25 with MaxIteration ranging from 50 to 200.

Efficiency Graph for MaxIterations = 50 nAnts = 40.

Efficiency Graph for MaxIterations = 100 nAnts = 40.

Efficiency Graph for MaxIterations = 200 nAnts = 40.

Efficiency Graph for MaxIterations = 50 nAnts = 60.

Efficiency Graph for MaxIterations = 100 nAnts = 60.

Efficiency Graph for MaxIterations = 200 nAnts = 60.
The overall comparison chart is summarized in Fig. 26. The table clearly shows us that the best optimal solution obtained is at iteration 43 with nAnts = 60. The increase in the population of ant can lead to obtaining the best cost with a minimal number of iterations. The overall work helps us in finding an optimal path in a drone deployed environment. The current work provides an optimal solution as it partitions the area into rectilinear partitions, where static obstacles are taken into account with efficient use of MST and ACO algorithms.

Comparison of parameters.
Area coverage is one of the most vital problems that need to be solved while making use of autonomous UAVs in an application. The problem is to cover an entire given area of interest for a particular application, with minimal cost of traveling. To obtain this minimal traversal cost, we have proposed a method of using a Rectilinear Partitioning Algorithm. The algorithm partitions the given area of interest into multiple non-uniform rectangles while considering several other parameters such as the altitude of flight of UAV and obstacles that could be encountered during its flight. The problem is transformed as a Traveling Salesman Problem and effective solutions are provided by computing an approximate solution via Minimum Spanning Tree (MST) and Depth First Search. The minimum cost obtained for a given graph G1 by solving TSP using MST is 5.423 km ≈ 5423 m. The optimal solution of TSP was also obtained using Ant Colony Optimization (ACO. The optimal solution was obtained by changing various parameters such as several ants and the number of maximum iterations. The comparison proved that ACO outperforms MST without being stuck at local minima as a change in the parameters in ACO could avoid them being stuck at the local minima. Other factors such as the evaporation rate and several ants used for performing the iterations, also have a huge impact on obtaining the best cost. Comparative analysis proves that both the number of iterations and the number of ants used to find the optimal solution is indirectly proportional to the best cost achieved. Future work can include the construction of Steiner points on the region of interest and hence could be used for developing Steiner Trees, to achieve an optimal solution. Steiner Tree problem would help return the minimum cost of the entire traversal in an undirected weighted graph. This will deploy some unused nodes called Steiner points that would minimize the entire traversal of the UAV.
