1. Introduction
Unmanned Aerial Vehicles (UAVs) (also referred to as drones or flying robots) are quickly becoming more and more important in numerous real life applications [
1], including ground traffic surveillance [
2,
3], precision agriculture and inspection of agricultural fields [
4], aerial goods delivery [
5,
6,
7], infrastructure monitoring and inspection [
8,
9,
10,
11], 3D surface reconstruction [
12], providing wireless communication [
13,
14,
15,
16,
17,
18,
19,
20,
21], natural disaster areas surveillance [
22], rescue missions, and ground monitoring for security purposes [
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33]. A significant class of such UAV problems consists of various drone placement problems. For infrastructure monitoring, the fundamental problem is the coverage path planning, i.e., the drones can completely inspect the infrastructure during the movement along their trajectories [
8]. For providing wireless communication, the question of where to locate UAV base stations to guarantee communications to users in either natural disaster areas or during popular celebration type events so that the users can receive acceptable communication service is an important issue [
16]. For surveillance and monitoring, an important problem is where to place aerial surveillance drones to monitor all points of a region of interest [
22].
In surveillance applications, a typical situation is that a fleet of drones, carrying some specific sensors such as ground-facing cameras, monitors some ground objects for the purpose of surveillance. The cameras can see a disc on the ground, and the altitude of the drone, as well as the visibility angle, have significant impacts on this visible region. In this kind of application, a significant technical problem is to deploy the minimum number of drones to cover a given area of ground completely. This important problem attracts both researchers and industry practitioners since this number is closely related to the system total cost.
The above problem of minimization of the number of drones for monitoring is addressed in the current manuscript. We develop a method of deployment a number of drones so that every point of a given ground region is seen from at least one drone. Moreover, we prove that the proposed deployment is asymptotically optimal in the sense that the ratio of the number of drones deployed and the minimum possible number of drones needed to cover the ground region converges to 1 as the area of the ground region tends to infinity. This theoretical result is derived from the so-called Kershner’s theorem [
34], a powerful and elegant tool of combinatorial geometry. Furthermore, the proposed algorithm is based on constructing a triangulation of the ground plane consisting of congruent equilateral triangles, and not all but most of the drones are deployed at the vertices of triangulation. This makes the proposed method easily understandable and very computationally efficient. Moreover, the proposed algorithm results in a deployment in which positions of drones are separated from each other, which greatly reduces the danger of collisions. To the best knowledge of the authors, there are no other publications presenting such an efficient method to deploy drones to fully cover a given region that lead to placement of drones in a regular triangular pattern.
The rest of the manuscript is structured as follows. The problem statement is given in
Section 2. The developed deployment algorithm and the main results characterizing asymptotic optimality of the algorithm are stated in
Section 3. Mathematically rigorous proofs of the main results are also presented in
Section 3.
Section 4 contains illustrative examples of applying the proposed UAV placement algorithm, together with comparisons with another UAV placement algorithm. A summarizing conclusion is given in
Section 5.
2. Problem Statement
Let
be Cartesian coordinates on the ground plane and
z be the coordinate axis perpendicular to the ground plane, where the equation
describes the ground plane itself. Moreover, let
be a given bounded and Lebesgue measurable region [
35] of the ground plane
with piecewise smooth boundary. Our objective is to deploy a number of drones to monitor the corresponding area of the ground region
. Also, let
and
be the minimum and maximum altitudes for drone deployment,
. Assume that each drone can be deployed only at some points
such that (Equation (
1))
Moreover, drones have a given observation angle
, which defines the visibility cone of each drone, so that a drone with the coordinates
can only see points
of the ground that are inside of the circle of radius (Equation (
2))
centred at
. A point
P on the terrain is visible from a drone if
P is inside of the visibility cone of the drone, see
Figure 1.
Definition 1. Deployment of a number of drones is said to be covering if the constraints (1) are satisfied and every point on the ground regioncan be seen by at least one of the drones. It is obvious that when we increase the altitude of a drone, its visibility cone is increasing. Therefore, if there exits a covering deployment at some altitude then there exists a covering deployment at any altitude z such that . In this paper, the goal is to place the UAVs at the lowest possible altitude to reduce the distances between the UAVs and the points of the monitored ground area.
Problem Statement: Let
N be the number of drones, and
be a given drone’s altitude satisfying (
1). Our aim is to construct, if possible, a covering deployment, i.e., to deploy
N drones at the altitude
so that any point of the ground region
is seen by at least one drone. Moreover, we want to find the minimum altitude
for which there still exists a covering deployment with
N drones.
Remark 1. Many publications consider various problems of path planning for drones where the objective is to get information about some area of interest, see, e.g., [11,32]. The difference with the problem studied in this paper is that we consider a problem of deploying drones in steady positions to achieve constant surveillance of each point of an area of interest. Remark 2. A very effective tool for many drone placement problems is convex programming, see, e.g., [36]. In this paper, we consider the problem of finding the minimum number of drones that cover some given bounded ground area. The conic visibility sector of each drone is indeed convex. However, the union of visibility sectors of several drones is non-convex. Furthermore, the ground area to be covered may be non-convex as well. Therefore, the problem under consideration is non-convex. 3. Deployment Algorithm
On the plane
that is parallel to the ground, we will consider triangulations consisting of equilateral triangles with the side
where
r is the radius (
2), see
Figure 2. Any such triangulation
is defined by the angle
and the parameters
that are the Cartesian coordinates of some point inside a rhombus with the side
consisting of two equilateral triangles. Here,
is the angle between the coordinate axis
x and one of the directions of the triangulation
, and
are the coordinates of one of the vertices of this triangulation, see
Figure 2. Moreover, for an equilateral triangle, we will consider its centre
C and three congruent Voronoi cells consisting of points of the triangle for which a certain vertex of the triangle is closer than the other two vertices [
37], see
Figure 3.
The proposed deployment algorithm of deployment drones on the plane consists of the following steps.
Step A1: We choose some and construct the triangulation .
Step A2: We deploy drones at all vertices of the triangulation that belong to the ground region .
Step A3: We consider any triangle of the triangulation such that it has some overlap with the ground region but not all the three vertices of the triangle are inside , i.e., some of its vertices were not occupied by drones in Step A2. Let l be the number of such unoccupied vertices of , .
Step A4: Consider the Voronoi cell of corresponding to some unoccupied vertex of . If this Voronoi cell contains some point of that is not covered by any drone deployed in Step A2, we deploy a drone at the point that is closest to the triangle centre C among all the points of this Voronoi cell belonging to .
Step A5: If , we consider the Voronoi cell of corresponding to some unoccupied vertex of other than considered in A4. If this Voronoi cell contains some point of that is not covered by any drone deployed in Steps A2, A4, we deploy a drone at the point that is closest to the triangle centre C among all the points of this Voronoi cell belonging to .
Step A6: If , we consider the Voronoi cell of corresponding to the third unoccupied vertex of . If this Voronoi cell contains some point of that is not covered by any drone deployed in Steps A2, A4, A5, we deploy a drone at the point that is closest to the triangle centre C among all the points of this Voronoi cell belonging to .
Remark 3. It is obvious that for any triangle fromA3, we deploy no more than l new drones at its vertices.
Proposition 1. Let an altitudebe given,. Then the deployment algorithmA1–A6is covering.
Proof. It is obvious that the distance between any two points in a certain Voronoi cell of a certain equilateral triangle with side length
is no greater than
r, see
Figure 3, where
r is defined by (
2). Hence, if for any point of the ground region
, there exists a drone located at some point of the same Voronoi cell of our triangulation to which this point of
belongs to, then point is covered by this drone. It is obvious that the deployment algorithm
A1–
A6 is placing a drone at some point of any Voronoi cell that contains at least one point of the region
. This completes the proof of Proposition 1. □
We will also analyse optimality of the algorithm
A1–
A6. Let
be some number. Introduce the region
obtained from the region
by the linear transformation that maps any point
to the point
, see
Figure 4. So the region
is similar to
but larger. It is also obvious that (Equation (
3))
where
denotes the area of a planar region.
Furthermore, consider some family of covering deployments of the regions for all . Let be the number of drones in the deployment . Let be the minimum possible number of drones in all covering deployments of the region . It is clear that since the region increase as is increases, both and tend to infinity as tends to infinity.
Definition 2. A familyof covering deployments of the regionsis said to be asymptotically optimal, if (Equation (
4)
) In other words, a covering deployment is asymptotically optimal, if as the ground region becomes larger, the number of drones in this deployment becomes close to the minimum possible number of drones for any covering deployment.
Proposition 2. Let an altitudebe given,. Letbe the family of covering deployments of the regionsconstructed by the deployment algorithmA1–
A6. Thenis asymptotically optimal. Moreover, (Equation (
5)
) Proof. Indeed, let
be the number of vertices of the triangulation
constructed in Step
A1 such that there is at least one triangle of this triangulation with its vertex intersecting with the region
. Then it is obvious that (Equation (
6))
Furthermore, covering a ground region by the minimum number of drones deployed at altitude
is equivalent to covering the minimum number of discs of radius
r, where
r is defined by (
2). Introduce the variable
. It is obvious that
as
. Therefore, the problem of covering the region
by the minimum number of discs of radius
r as
is equivalent to the problem of covering the region
by the minimum number of discs of radius
as
. Therefore, (
5) and Kershner’s theorem [
34] imply the statement of this proposition. This completes the proof of Proposition 2. □
Let N be the number of drones we can deploy. Now we present our deployment algorithm that includes a search for the minimum altitude .
Step B1: We start with the altitude . We make some search in the space of parameters where the angle and the parameters that are the Cartesian coordinates of some point inside a rhombus with the side consisting of two equilateral triangles, and apply the deployment algorithm A1–A6 to the triangulation . We take a triangulation that gives a minimal number of drones.
Step B2: We decrease the altitude by some small value : and repeat step B1.
Step B3: We stop when we either reach the minimum altitude or failed to find a triangulation at the current altitude for which the algorithm A1–A6 requires no more than N drones.
Remark 4. InB1, we conduct a complete search for all the feasible configurations of. As the triangles in the triangulation are all similar, we can discretise the area into grids with a given resolution and only consider the grids falling into one triangle. At each grid, the angle λ can take value in the range. Setting another resolution for λ, a full set of configurations ofis obtained. Given the triangle side, the number of the initial configurations depends on the selection of the two resolutions.
Remark 5. The algorithmB1–B3is a recursive algorithm. It will check a lower altitude if the current altitude enables the full coverage with N drones. In the worst case, this algorithm repeats fortimes.
Remark 6. It should be pointed out that the proposed algorithmsA1–
A6andB1–
B3result in deployments in which not all but most drones are placed at vertices of a triangulation consisting of congruent equilateral triangles. This means that the positions of drones are usually sufficiently separated from each other. Such a separation prevents collisions between UAVs, which is crucial for real life UAV systems, see, e.g., [38,39,40]. Remark 7. A very practically important extension of the obtained results would be the case of complex ground structures, e.g., environments with high-rise buildings causing blocking of view from some drones to certain fragments of the ground area that are inside of drones’ visibility cones. In [29], some method for complete coverage over such complex environments was suggested. However, the method of [29] does result in complete coverage, but does not guarantee optimality in the sense of the current paper. A very important direction of future research will be to combine the method of [29] with optimality approach of the current paper. However, this is a very difficult problem, because it would require obtaining a 3D analogue of Kershner’ theorem [34]. Remark 8. The reason why we need to place drones in a triangular formation is as follows. We state our problem as finding the minimum number of drones that cover each point of a bounded ground region of interest. Proposition 2 shows that the optimal solution of this problem is a triangular formation. More precisely, it is an almost triangular formation as not all but most of the drones need to be placed at vertices of a triangular grid. Of course, there are many other problem statements which lead to other deployment patterns. Those problem statements may have their advantages in certain real life problems. However, in our problem statement, a triangular deployment is the optimal solution which has been proved in a mathematically rigorous way in Proposition 2.
4. Simulation Results
In this section, computer simulation results and comparisons with [
19] are presented to demonstrate the performance of the proposed approach. Consider a region
in a 1000 m by 1000 m square, see
Figure 5. We take
120 m,
30 m (
https://bit.ly/2HfWUC4), and
.
Firstly, the proposed approach is applied to find the minimum number and the positions of drones. Starting from
in Step
B1, 3400 configurations of
are randomly generated (the resolution for
takes
and that for
and
takes 5 m), and then the algorithm
A1–
A6 is applied to each of them. The deployment which corresponds to the minimum number of drones is recorded. In Step
B2,
is set as 1 m. With the decrease of
, the number of drones keeps 19; while when
turns to 108 m, the number of drones increases to 20, see
Figure 6. Therefore, to fully cover
, 19 drones are required and their lowest altitude is 109 m. The corresponding deployment of the 19 drones at the altitude 109 m is demonstrated in
Figure 7.
For comparison, the method proposed by [
19] is applied to the same case. Given a number of drones, the paper [
19] presents a Voronoi cell based approach to maximize the coverage quality, which is modelled as minimizing the weighted distance from the points in the region to drones. To make this method work for the current scenario, the points inside
are given the weight 1, while others are given the weight 0. For the altitude
m, the proposed approach requires 19 drones to completely cover
. For the compared method,
N is first set as 19 and the method [
19] is used to compute the corresponding deployment. The drones are deployed at the centres of the Voronoi cells. To completely cover a Voronoi cell, the coverage range of a drone should be a circle and the radius equals the distance from the farthest point in the cell to the centre. Therefore, to cover all the cells at the same altitude, the coverage radius of drones should be the maximum one among all the radii of the Voronoi cells. For
, 20 sets of simulations with different initializations are conducted and the smallest radius is 114 m, which corresponds to the altitude 114 m (as
). Comparing this with
Figure 7 it can be seen that there are more overlaps between circles in
Figure 8a than in
Figure 7, which results in the fact that to cover the same area with the same number of drones, the method of [
19] needs larger radius (i.e., higher altitude) than the proposed approach. Now, the number of drones is decreased by one and the above procedures are repeated. The deployment as shown in
Figure 8b is obtained where the coverage radius is 108 m (which is comparable to 109 m), so as the altitude of drones. Therefore, in covering a given area
at the same (similar) altitude, the proposed method outperforms [
19] in terms of the required number of drones.
Now, Proposition 2 is illustrated through the following simulations. The area of
is about 0.41 km
2. By setting the altitude
as 109 m, the right hand of Equation (
5) is 13.2. The parameter
takes values from 1 to 10. For each
, 20 configurations of
,
, and
are randomly generated. For all these configurations, the triangulations are constructed and the drones are deployed following the algorithm
A1–
A6. For each
, the deployment that has the lowest number of drones is recorded. The relationship between
and
is shown in
Figure 9. Notice that with the increase of
, the region
becomes larger. For a fixed altitude
, the coverage radius of the drones
r is fixed, so as
. Thus, the number of vertices in the constructed triangulation increases significantly with
, which increases the simulation time dramatically. So, the simulations are conducted only for
up to 10. It can be seen from
Figure 9 that
converges to 13.2, as predicted by Proposition 2. For comparison, the method of [
19] is also applied to the cases with different
. Again, the deployments which have the smallest numbers of drones among 20 simulations for each
are recorded. The corresponding
versus
is shown in
Figure 9 as well. Clearly, the proposed approach outperforms the deployment algorithm of [
19] in terms of number of drones.