Two-Layer Path Planning for Multi-Area Coverage by a Cooperated Ground Vehicle and Drone System

—A novel two-layer path planning method for a cooperated ground vehicle (GV) and drone system is investigated, where the GV acts as the mobile platform of the drone and is used to conduct multiple area covering tasks collaboratively. The GV takes the drone to visit a set of discrete areas, while the drone takes off from the GV at potential nodes around each area and scans each area for collecting information. The drone can be recharged in the GV during the time when it travels between different areas. The objective is to optimize the drone’s scanning path for all areas’ coverage and the GV’s travel path for visiting all areas. A 0-1 integer programming model is developed to formulate the problem. A two-stage heuristic based on cost saving strategy is designed to quickly construct a feasible solution, then the Adaptive Large Neighborhood Search (ALNS) algorithm is employed to improve the quality of the solution. A simulation experiment based on the parks in Changsha, China, is presented to illustrate the application of the method. Random instances are designed to further test the performance of the proposed algorithm.


I. INTRODUCTION
N many situations, the detail information of a whole area is required, like agricultural monitoring, terrain mapping, mineral exploration, etc. Remote sensing is one of traditional methods to cover an area for collection information, e.g. monitor crop growth [1]. However, this method not only takes high cost, high risk and low time efficiency, but also is severely limited by the poor revisiting time and limited spatial variability [2]. Moreover, manned airborne platforms would also be applied, while not widely used due to high cost, complex operations and lengthy delivery of products [3]. These problems drive many researchers to look for more efficient ways and thus show great interests in area coverage with drones, also known as unmanned aerial vehicles (UAVs).
With the development of automation and artificial intelligence technologies, drones have shown their great superiority in area coverage. It is reported that drones have been applied in battlefield information collection [4] and agricultural information collection [5]. Compared with traditional area coverage ways, e.g. ground robots, drones have the advantages of short time-consuming, low cost and high precision. Besides, unlike satellite, the drone can fly at low altitudes and is less susceptible to weather. However, when they are used to cover multiple discrete areas or large areas, the efficiency may decrease due to its short endurance. It is also inappropriate to waste too much energy of the drone on transform between different areas.
A potential way to overcome the obstacle caused by the drone's limited endurance is employing the ground vehicle (GV) to work together with the drone. Liu et al. [6] established a mathematical model for cooperated GV and drone to perform Intelligence, Surveillance and Reconnaissance (ISR) missions on nodes, and showed that the efficiency of ISR tasks can be significantly improved. To enlarge the task range of the drone for covering multiple areas, the GV can be employed as the moving platform of the drone, which takes the drone from one area to another. The drone can be recharged in the GV when it travels between areas. The drone takes off from the GV when it arrives around the covered area, and returns to the GV when the drone completes the coverage of the area. The combination of GV and the drone can significantly increase coverage efficiency and reduce the operational cost. At the International Consumer Electronics Show (CES) in 2016, DJI and Ford Motor Company launched a new field search and rescue model [7], where the drone carried by the Ford vehicle is suitable for large-scale search and rescue operations in uninhabited areas due to their low cost and rapid deployment. The DJI drone can take off from a Ford F-150 truck, and land at it after completing the search of an area. The cooperation of GV and drone has shown significant advantages in the execution of such tasks.
Although the GV-drone mode has great advantages, it also brings new challenges to the path planning problem. First, there are two-layer paths where the drone's paths in the upper layer are connected with the GV's path in the lower layer in different nodes. The GV starts from and returns to the depot after visiting all areas, forming the lower layer path, which is close form. When the GV arrives around each area, the drone takes off from Y. Xia, C. Chen, J. Shi, Y. Liu and G Li are with the Science and Technology on Information Systems Engineering Laboratory, National University of Defense Technology, Changsha 410073, China (e-mail: xia_yang_sheng@163.com; changshacc@163.com; jianmaishi@gmail.com; liuyao13@nudt.edu.cn; gli2010a@163.com).

Two-Layer Path Planning for Multi-Area Coverage by a Cooperated Ground Vehicle and Drone System
Yangsheng Xia, Chao Chen, Jianmai Shi*, Yao Liu, Guohui Li I the GV and flies to scan the area, then return to the GV after the whole area is covered, which forms the upper layer paths. The flying time may quite different when different take-off and landing nodes of the drone are selected, which also impact the travel path of the GV. These two-layer paths are connected together and impact each other, which makes the problem more complex than traditional routing problems. Motivated both by the adaption of new technologies in practical industry, and the theoretical gap existing in the current literature, a novel problem named as Two-Layer Path Planning Problem for Multi-Area Coverage by cooperated GV and Drone (2L3P-MAC-G&D) is investigated. The problem can be viewed as a path selection problem on two connected networks. The upper network of the potential paths for the drone and the lower network of the potential roads for the GV are connected, as the drone has to take off and land at the GV frequently. We build a 0-1 integer programming model based on the characteristics of two-lager path planning problem. Then a two-stage heuristic based on saving strategies is proposed to construct the travel path of GV and the flying path of the drone. The adaptive large neighborhood search (ALNS) algorithm is designed to further improve the quality of the solution. Both practical case and random instances are used to test the proposed algorithms, and computational results show that our approach can efficiently solve the problem.
The paper is structured as follows. Section 2 presents the literature review, and Section 3 illustrates the problem and the model. Section 4 proposes the design of the two-stage heuristic, while Section 5 presents the ALNS algorithm. The experiments and results are reported in Section 6. At last, Section 7 concludes the work.

II. LITERATURE REVIEW
The area coverage issues by drones has great application prospects in real life, such as assessment of damage in disaster areas [8], observation of crop growth in agricultural production [9], and locate the position of all sensors in a certain area [10]. The problem usually consists of three types. The first type is path planning for full coverage, where all points in the area are visited at least once. For example, Carvalho [11] designed several template routes for the cleaning robot to completely clean the factory floor. When the robot encounters different situations, the appropriate template is used for path planning. The second type is path planning for partial coverage, where the drone collects as much information as possible in a limited time. The objective function is usually set as maximizing the coverage area within a limited time [12]. Another common objective function is to maximize the value of collected information [13]. The third type is to cover from stationary positions, which is continuous observation of certain areas or objects. When the observation object is a certain area, the fixed position is usually unchanged, like emergency response, environmental monitoring, traffic network monitoring and so on [14]. When the observation object is a moving object in the area, the fixed position needs to change in real time with the moving object to ensure the relative invariability. Pugliese et. al [15] investigated the drone's covering problem for tracking and monitoring of all moving or stationary objects in a given area.
The area coverage problem studied in this paper belongs to the first type. Considering the disadvantages of traditional area coverage methods, companies are currently using drone and sensor technologies to acquire information of ground regions and to reduce the time and costs of operations. The drone's path planning problem for area coverage is to plan the flight path to cover all points in an area at the lowest possible cost [16], therefore, drone's flight path planning methods for fixed target points have reference significance for drone's area coverage path planning. He and Zhao [17] compares the performance on online real-time path planning abilities for four algorithms in different applying situations of drones, and the computational results indicate that the Dijkstra algorithm performs the best, Guan et al [18] proposed a drone's path planning algorithm based on double ant colony, through using genetic algorithm to generate pheromone in the early stage, the convergence of ant colony algorithm was improved. Avellar et al [19] reviewed the civil applications of the drone and presented a comprehensive illustration on the covering problems by drones. In order to simulate a more realistic environment, the impact of the wind factor is taken into consideration in the path planning for area coverage by drones [20]. In the coverage mission, the drone has a deceleration adjustment process during the turn, which consumes extra time and power [21,22]. Therefore, the time spent in the turn process should also be considered for estimating the flying time. Ideally, the shortest path has the lowest number of turns [23]. In current area covering problems by the drone, most of them investigated a single area covered by only drones, which did not involve GVs. However, in many practical applications, it is often required to cover multiple areas, where the GV has to be introduced for improving the drone's operational range.
The cooperated GV and drone has a wide range of applications, such as intelligence collection, detection and surveillance of specific targets [24], delivery of goods [25], and power line inspections [26]. The area coverage issues by drone belong to the field of information collection, Tokekar et al [27] combined the advantages of ground vehicles and drones to design a system for collecting nitrogen content at specific points on the farm, which can help farmers effectively reduce fertilizer use. Ropero et al [28] presents an approach based on the coordination of a hybrid UGV-UAV system to explore a planetary surface. Liu et al [29] proposes a hierarchical UAV/UGV platform to detect wildfire. A set of useful strategies are obtained for the routing problem of cooperated GV and drone, but all these studies investigated how to efficiently access specific points instead of covering the entire area.
Until now, there is no literature studies how to use cooperated GV and drone to cover multiple areas. In this paper, the drone's scanning paths for multiple areas and the travel path of the GV are planned at the same time. Due to the differences in speed, endurance time and driving mode between GVs and drones, there is a complex reciprocal effect between the two kinds of paths in the planning process. Focusing on this difficulty, we propose a heuristic method to optimize the GV and drone's paths efficiently.

A. Problem Description
In the two-layer path planning problem for multi-area coverage by cooperated GV and drone (2E3P-MAC-G&D), one GV takes one drone to corporately complete the multi-area scanning mission. The road network and the regions of all areas for covering are known. The endurance of the GV is sufficient for the whole mission, while the drone's endurance is limited and not enough to scan all areas. The GV serves as the moving station of the drone, and can recharge and change battery for the drone. The drone can only take off and land on the GV when it stops at some predetermined nodes, noted as stopping nodes. The GV travels on the road network, and launches out the drone when it arrives around an area. The drone conducts a scanning task to fully cover the area, and return to the GV. Fig. 1 shows an illustration of feasible solution for an example of 2E3P-MAC-G&D. It can be seen that there are paths in two layers, which are the lower-layer path on the ground traveled by the GV and the upper-layer paths in the air traveled by the drone. In 2E3P-MAC-G&D, for completing the covering task, the GV starts from the depot, taking the drone, e.g. to scan the three areas, A, B, and C in Fig.1. After reaching around the vicinity of the area, the GV selects an appropriate stopping node according to the area scanning path of the drone and release it. Then the drone flies to the area and conducts the coverage task along the scanning path. At the same time, the GV can move to the next stopping node to pick up the drone when it completes the coverage task. After completing the whole mission, the GV and drone must return to the depot. The problem is to optimize the paths of the GV and the drone to complete the covering of all areas in a minimal time, while the drone's capacity constraints on battery are not violated.

B. Model Development
For modelling 2E3P-MAC-G&D, the notations used are summarized in TABLE 1.
, , and , kk ss ss , {0,1}, , , The objective function (1) minimizes the total time given by two main components, where the first one is the total time for the cooperated GV and drone to transfer among all areas and the depot, and the other is the total time for the drone to complete the coverage of all areas. In order to reduce the time of the first part, one of the criteria for selecting the stopping nodes around different covered areas is to choose the ones with shortest Floyd distances from each other. To reduce the time of the second part, on the one hand, we should choose the stopping nodes with shortest Floyd distance from each other around the same area, and on the other hand, we should choose suitable scanning pattern to make the drone's total flight distance shorter.
Constraints (2) ensure that the cooperated GV and drone start from and return to the same depot. Constraints (3) guarantee that the number of outgoing arcs equals to the number of incoming arcs at each stopping node, which ensure the connectivity of the GV's route. Constraints (4) restrict that the GV enters each area once and leave the area once, that is each area can only be visited once. Constraints (5) ensure that the drone can only take off at the node visited by the GV, while constraints (6) guarantee that the drone can only land at the node visited by the GV. Constraints (7) ensure that the drone take off once and land once at each area. Constraints (8) ensure the connectivity of the drone's flying path at each area, and together with (7) guarantee that only one scanning path be selected at each area. Constraints (9) ensure the flight time of the drone cannot exceed its endurance when it flies for scanning each area. Constraints (10) and (11) define the 0-1 variables.
F ij L represents the Floyd distance from point i to point j, which is calculated by Floyd algorithm. Floyd algorithm, also called interpolation method, is an algorithm that uses the idea of dynamic programming to find the shortest path between multiple source points in a given weighted graph, which is similar to Dijkstra's algorithm. The main procedure of Floyd algorithm is as follows： First the position information of all points is provided. Then the adjacency matrix of all points is computed in Line 1, and let dis(i , j) represent the straight line distance from point i to point j. If i = j, the distance is 0. If point i cannot be reached from point j directly, the distance is set to be infinity. Finally, we obtain the Floyd distance matrix through a triple loop (Line 2-10).

IV. TWO-STAGE HEURISTIC BASED ON SAVING STRATEGIES
Based on saving strategies, a two-stage constructive heuristic algorithm (TSH) is designed to obtain a better feasible solution for the problem. The first step is to plan the drone's scanning path in the targeted area. The second step is to plan the route of GV after the scanning path is determined.

A. Stage 1: Path Planning Algorithm for The Drone
When an area is given, the optimal scanning path of the drone can be optimized. First, we should check the shape of the areas, and the areas with concave shape be decomposed. Then the appropriate scanning pattern for the drone is selected. Finally, the scanning path of the area is calculated based on the performance of the drone. The main procedure of the drone's path planning algorithm is presented in Algorithm 2.
The geometric information of the covered area, the potential stopping nodes, and the flying speed of the drone are provided. Then the roundness of the area is calculated (Line 2). If the roundness of the area is greater than 0.86, the spiral pattern is adopted, and we obtain the scanning path (Line 4), the start and end points of the path (Line 5). The length of the scanning path is calculated in Line 6. If the roundness is lower, e.g. less than 0.86, the lawn mowing pattern is adopted. In this case, the concavity of the area is first checked (Line 9). If the covered area is a concave polygon (Line 10), we decompose it into a series of convex polygons by using the BCD method designed below (Line 11), and then plan the Boustrophedon path of the covered area. Starting along the direction parallel to the long axis, there are two scanning paths (Line 13), corresponding to two pairs of start and end points (Line 14). The lengths of the two paths are calculated (Lines 15-16).

1) Selection of Scanning Pattern
There are two main scanning patterns for the drone to scan an area. One is lawn mowing pattern [30] and the other is spiral pattern [31]. As shown in the Fig. 2, for the same area, the scanning paths with two scanning patterns are quite different. Spiral pattern: The drone starts from the center of the covered area and then spirally scans the entire area at a constant spiral pitch until the entire area is covered.
Lawn mowing pattern: The drone scans the area at equal intervals parallel to the long axis direction of the area until it covers the entire area.
For the spiral pattern, there is no need to consider the turning process of the drone, but there are many turning operations in the lawn mowing pattern where braking and acceleration have to be considered. Dubins path is the shortest curve that connects two points in a 2D plane with a constraint on the curvature [32], and thus we employ the Dubins path to plan the turning paths of the drone and estimated the flying time in the turning process. In the straight paths, the average speed is used to estimate the flying time.  Fig. 3 presents a detail illustration for a turning path in the lawn mowing pattern. In the research of this paper, the scanning width of the drone is larger than its turning radius, and thus all the turning trajectories are similar. Therefore, the scanning path of the drone is composed of the scanning line segments parallel to the long axis of the polygon and the turning trajectories with the similar shape. The minimum radius of the circle tangent to the drone's trajectory can be calculated as follows： where v D is the flying speed of the drone and  is maximum turn rate of the drone. For simplification, in other figures the detail turning processes of all paths in lawn mowing pattern are not shown.
Most of the literature uses lawn mowing pattern [33,34], and very few uses spiral pattern. So far, few works investigated how to choose different scanning patterns, while different scanning patterns have a great impact on the overall length of the scanning path. For example, in Fig. 2, in order to cover the area entirely, a large part of the flying path with the spiral pattern is outside the area, which makes this path significantly longer than that with the lawn mowing pattern. The more irregular the area is, the more time the lawn mowing scanning pattern can save. However, it is conceivable that the closer the area is to the circle, the better the spiral pattern is. Here we choose different scanning patterns depending on how close the area is to the circle. We usually describe how close a polygon is to a circle based on the degree of roundness. The definition and calculation method of a polygon's roundness have been studied in literatures [35][36][37]. Bai [37] proposed a method for calculating the roundness of traffic signs, which is suitable for the polygonal roundness calculation in this paper. Therefore, we use this method to calculate the roundness of the polygon, and the formula is as follows: Where S is the acreage of the area, and L is the circumference. If the area is closer to a circle, its roundness, C, is closer to 1.
The two typical scanning patterns are utilized to cover polygons with different roundness, and the scanning time of the two patterns is compared to analyze the relationship between polygon roundness and scanning pattern selection. Let the scanning width of the drone to 2 units, and the speed is 0.1 unit per second, set the maximum turn rate of the drone be 0.7. Set the acreage of all the polygons be 84 units. The scanning time of different polygons under the two scanning patterns is presented in TABLE 2. In TABLE 2, it can be seen that when the roundness of a polygon is small, the scanning time of lawn mowing pattern is significantly less than that of spiral pattern. As the roundness of the polygon becomes larger, the gap between them is getting smaller. The scanning time of the two patterns is basically the same when it is a regular pentagon. When the roundness of the polygon continues to increase, the time of spiral pattern becomes less than that of the lawn mowing pattern. When the roundness is close to that of the regular pentagon (C=0.86), both scanning patterns have similar effects. When the roundness of the area is smaller than 0.86, we choose the lawn mowing pattern. When the roundness is larger than the roundness of the regular pentagon, it better to choose the spiral pattern.

2) Judgment and Decomposition of Concave Polygon
When the spiral pattern is adopted, the concavity and convexity of the polygon has little effect on it. However, when the lawn mowing pattern is adopted, the influence is large. The previous lawn mowing pattern is based on the fact that the covered area is a convex polygon. In some situations, the area is a concave polygon, and then the concave polygon has to be decomposed into a set of convex subregions.
(1) Judgment of the concavity There are many ways to judge the concavity of a polygon. Here we use cross product of vectors to judge the concavity of an area. The principle is that every vertex of a convex polygon should have the same turning, that is, every vertex of a convex polygon should be a convex point. The one with different turning should be a concave point, that is, the polygon with concave points should be a concave polygon. Assume the polygon P have n vertices 1 2 ( , ,..., ) n v v v , and the concavity of P is determined by the concavity of each vertex belonging to P. P is shown in Fig. 4.
If all vertexes of the polygon P are convex vertex, then P is a convex polygon, otherwise P is a concave polygon.
(2) Decomposition of concave polygon There are many methods for decomposing concave polygons into convex polygons, such as trapezoidal decomposition [38], triangular decomposition [39], and approximate decomposition [40]. The path generated by lawn mowing pattern is usually called Boustrophedon path. Decomposing a concave polygon into a series of convex polygons, and then plan the Boustrophedon path for each convex polygon is called Boustrophedon Cellular Decomposition (BCD) [41]. In most literatures on BCD related methods, the trapezoidal decomposition is usually employed. Li et al [42] proposed an accurate BCD method based on trapezoidal decomposition with an algorithm complexity of O(n). In [18], the concave polygon's convex hull is used to expand BCD into external cell decomposition, which effectively reduces the number of decomposed convex polygons. The BCD method designed in this paper is also based on trapezoidal decomposition. Since the effect of decomposing concave polygons along different angles is different, in order to reduce the number of decomposing convex polygons and the number of turns of the drone, we decompose the concave polygons along the direction parallel to the long axis of the concave polygons.
The long axis of a convex polygon is defined as follows. For each side of a convex polygon, the distance from the other vertices that do not belong to the side is solved separately. Note the maximum of these distances as the span of this side. The spans of all sides are compared, and the corresponding side with the minimum span is the long axis of the convex polygon. In order to find the long axis of the concave polygon, we use the convex hull generation algorithm proposed in [43] to first generate a concave polygon's convex hull. A convex hull is the simplest convex polygon that contains all vertices of the concave polygon. The algorithm is summarized below.
1) Find the extremal points and delete all other points falling inside the polygon they form, break the remaining set of points into 4 regions.
2) Sort the remaining points on their x-coordinate in ascending order for regions 1 and 2, and in descending order for regions 3 and 4.
3) For each region, find the convex paths from one extremal point to the other.
Then the long axis of the convex hull is viewed as the long axis of the concave polygon. After the concave polygon is trapezoidal decomposed along the parallel with the long axis, the Boustrophedon path is generated by using lawn mowing pattern.
The figure enclosed by the solid line in (a) of Fig. 5 is an example concave polygon to be decomposed, and after adding the dotted line, it becomes a convex polygon, where the blue side represents the long axis of the convex polygon and is also the long axis of the concave polygon. Fig. 5(b) indicates that the concave polygon is trapezoidal decomposed in a direction parallel to the long axis of the concave polygon, while Fig. 5(c) presents the process that a series of convex polygons after trapezoidal decomposition are merged. When two adjacent convex polygons have one edge that coincide with each other and the long axes of the two are parallel to each other, they can be merged. This process can effectively reduce the number of convex polygons and avoid unnecessary transfer of the drone between different convex polygons. Fig. 5(d) shows the Boustrophedon path generated using the lawn mowing pattern.

B. Stage 2: Route Planning of GV
The scanning path of an area by the drone and its start and end points can be obtained by the above path planning algorithm. Based on these points, we further reduce drone's flight time by choosing the appropriate stopping nodes around the area. At the same time, the travelling route of GV is also optimized through saving strategies. Combining these two aspects we develop the path planning algorithm of GV as shown in Algorithm 3.
Compute Floyd distance matrix dis based on the position information of all the points (Line 1), then randomly select a scanning path for each area (Line 2). We obtain the start and end points of the path (Line 3). Two random stopping nodes are selected in each area, and then the distance for the drone from the stopping node for taking off to the start point of the scanning path and the distance from the end points of the scanning path to the stopping node for landing is calculated, and Dis is the sum of the two distance (Line 4-10). In every area we find the two stopping nodes corresponding to the shortest distance Dis as the selected stopping nodes (Line 12) to form the goal (Line 14), then calculate the saving value matrix (Line [15][16][17][18][19], and arrange it in descending order (Line 20). Starting from the maximum value, the corresponding two areas are connected until all areas are included, and the initial feasible solution is obtained (Line 21).

V. ADAPTIVE LARGE NEIGHBORHOOD SEARCH ALGORITHM
The two-stage heuristic can present a better feasible solution for the problem, which can be further improved. In this section, an ALNS algorithm is employed to optimize the problem based on the initial solution.
The ALNS algorithm has a good effect on solving the problem that the search field grows exponentially with the size of the searched data, which allows multiple neighborhoods to be searched and the neighborhood search operators to be utilized dynamically based on the quality of their obtained solutions. The algorithm has a good effect in solving the double-layer cooperative routing problem [44][45][46][47]. According to the special structure of the solution for 2E3P-MAC-G&D, some improvements were made to the traditional ALNS. The stopping nodes adjusted by the destroy and repair operators in each round of the calculation belongs to the same area. By choosing different paths of the drone, we can get different start and end points of the paths, which also affects the planning of the entire route. Based on these differences, we designed the ALNS algorithm as shown in Algorithm 4. s , the optimal solution is updated (Line 8-10). After each round of the iterations is finished, the weights of all neighborhood operators are updated according to their performance (Line 13). Based on the updated weight, the next round of calculation is performed until the termination condition is met.

A. Design of Neighborhood Operators
From Equation (1) we can see that there are two main aspects to optimizing the initial feasible solution. The first is to reduce the flying time of the drone. Here, it is mainly achieved by choosing different scanning paths and selecting the appropriate stopping nodes of GV that can reduce the distance of the drone from the GV to the start point of the scanning path and the distance from the end point of the scanning path to the landing node. The second is to reduce the travelling time of the GV, including the transfer time between different covered areas, the transfer time between covered area and the depot, and the transfer time between different stopping nodes around the same covered area. For reducing the second kind of time, it is mainly achieved by optimizing the route of the GV to visit all covered areas and the stopping nodes around each area. Based on the above observation, the neighborhood operators are designed through combining different destroy and repair operators. The destroy operator is to delete some nodes and/or covered areas in a feasible solution, while the repair operator is to reinsert these nodes and/or areas into the solution to generate a new feasible solution.
First, randomly selecting a covered area in the current feasible solution, there are two situations for the drone's path: Situation 1 where the drone takes off and lands at different nodes, and Situation 2 where the drone takes off and lands at the same node. The destroy and repair operators are designed as follows.
Destroy operators (a) Delete one of the stopping nodes in Situation 1.
(b) Delete the two stopping nodes in Situation 1.
(c) Delete the only one stopping node in Situation 2.
(d) For Situation 2, remove the taking off arc or the landing arc while keeping the stopping node in use.
To repair the drone's path destroyed by operator a, the following repair operators can be used.
(e) Generate a feasible path as Situation 2 for the drone using the remained stopping nodes.
(f) Randomly select one of the unused stopping nodes for the drone to take off/land.
(g) Select the node with the shortest Floyd distance among the unused stopping nodes for the drone to take off/land.
(h) Add one of the unused stopping nodes that is with the shortest Floyd distance to the previous area (or depot) visited by the GV.
(i) Add one of the unused stopping nodes that is with the shortest Floyd distance to the next area (or depot) visited by the GV.
(j) Add one of the unused stopping nodes that is with the shortest total Floyd distance to the previous and next areas visited by the GV.
To repair the drone's path destroyed by operators b or c, the following repair operators can be used.
(k) Randomly select an unused stopping node to generate a path as Situation 2.
(l) Select two stopping nodes among the unused nodes one by one through randomly employing repair operators f, g, h, i, and j.
To repair the drone's path destroyed by operator d, the repair operators f, g, h, i, and j can be used.
Considering the Constraints (4) in the model, a number of potential neighborhood operators can be obtained through combining the above destroy and repair operators.
For Situation 1, part of the adjustment process of the stopping nodes in the covered area by neighborhood operators can be shown in Fig. 6. It shows that we first delete one of the stopping nodes, then generate a feasible path as Situation 2 for the drone using the remained stopping nodes or add one of the unused stopping nodes. For Situation 2, part of the adjustment process of the stopping nodes in the covered area by neighborhood operators can be shown in Fig. 7. It shows that we first delete the only one stopping node, then add one or two unused stopping nodes. We can also remove the taking off arc or the landing arc while keeping the stopping node in use, then add one unused stopping node. Fig. 7. The adjustment process of the stopping nodes in the covered area by neighborhood operators for Situation 2 From the two-stage heuristic, we can know that choosing different scanning paths will obtain different start and end points, and thus affect the selection of stopping nodes. If the selected area has two scanning paths, we can also adjust the initial solution by choosing different scanning paths. Fig. 8 shows the change of the selected stopping nodes after selecting different scanning paths. This operation is also a neighborhood operator and can be used in the above two cases. To reduce the travelling time of the GV, the two and three exchange operators are utilized for changing the visiting sequence of all areas.

B. Update of Weights
The effects of the neighborhood operators may quite different in different search stages of the large neighborhood search process. The utilizing frequencies of these operators are adaptively adjusted in the iteration process. In the beginning, the same weight is set for these operators where h is the number of all neighborhood operators. Bring these operators into the ALNS algorithm to run them N times, and record the number of results that are better than the current optimal solution, which is set to n. Then the weights in the new round of iterations are adjusted according to the following equation.
Where  is the adjustment coefficient. If we'd like to avoid excessive adjustment of the existing weights, which would reduce the diversity of the operators, a smaller value of  should be adopted. If we prefer to gradually eliminate the poor operators and improve the efficiency of the search, we can take a larger  value.

VI. EXPERIMENTS AND RESULTS
In this section, a simulation experiment based on seven green parks and the road network in Changsha, a city in China, is first investigated, and used to illustrate the application of the truckdrone system and the proposed approach. Then, random instances are generated to further test the algorithms. All the computational experiments are conducted on a HUAWEI laptop, which uses Core i7 1.8GHz quad-core processor, 16GB of memory, Windows 10 operating system, and the algorithms are coded in Matlab R2018a.

A. Analysis of Practical Case 1) Case Description
In China, the government pay much attention to protect areas with green vegetations. In city of Changsha, there are seven main green parks as shown in Fig. 9, which are protected carefully. The planner would like to know the exact states of the vegetations in different periods. Thus, the GV-drone system is thought to be an efficient way to scanning all the parks and collect the information of the vegetations in them. The GV carries the drone starts from the depot and releases the drone to scan the area after arriving around the park. After the drone completes the coverage task, it returns to the GV, and then the GV departs for the next park. After all the parks are scanned, the GV returns to the depot. The objective is to find the optimal paths of the cooperated GV and drone to complete the scanning of all areas. Fig. 10 is the abstraction and simplification of the main research content in Fig. 9, where the polygon surrounded by the red border represents the park to be scanned, and the star on the side of the park represents the potential stopping nodes for releasing and recycling the drone. The blue lines indicate the main roads and streets that connect the parks. The red square represents the depot. In the experiments, the latitude and longitude coordinate information of all target points is obtained by open map systems, e.g. Baidu map. The employed drone is produced by DJI, PHANTOM 4 RTK, which is a small multi-rotor aerial survey drone with high-precision, and usually used for low-altitude photogrammetry. The average speed of the drone is 40km/h (Maximum speed is 50 km/h), the maximum turn rate of the drone is 0.7. Considering the height of the buildings and trees in the park, we set the flying height of the drone as 100m. Then the scanning width obtained under the accuracy requirements of GB/T 7930-2008 1: 500 topographic map aerial photogrammetry industry specification is 200m. Since these parks are located in the urban area, we set the average speed of the GV as 30km/h.
In the ALNS algorithm, N is set to 100, and  is set to 0.2.
After each round, the weight of each operator and the current optimal solution are updated. When there is no change in the current optimal solution for 3 consecutive rounds of operations, the iteration of the algorithm is stopped and the optimal solution is output.
First, the geometric characteristics of the seven areas are brought into formula (13) to calculate the roundness of different areas. In this case, the roundness of all the areas considered is less than 0.86, and thus the lawn mowing pattern is utilized. Areas 2, 5, and 6 are concave polygons, which are decomposed by the BCD method based on trapezoidal decomposition previously designed, and then a lawn mowing pattern was used to plan the Boustrophedon path for them.

2) Results and Analysis
The two-stage heuristic algorithm is used to construct an initial feasible solution. First, a set of stopping nodes are obtained, which are {3, 1;5,7;11,8;14;16,18;23,22;26,25}. After the calculation we get the visiting sequence of the seven areas, which is 7-4-6-5-3-1-2. Then, the visiting order of the stopping nodes is 26-25-14-23-22-16-18-11-8-3-1-5-7, and the total time for covering all areas by the GV and the drone is 324.12 minutes. Fig. 11 shows the stopping nodes used by the GV in different areas in the initial feasible solution. The green asterisks on the border of each area indicate the stopping nodes selected in that area. The start and end points of the scanning paths of each area are indicated by yellow circles.
Based on the initial feasible solution, the ALNS algorithm is employed to obtain better or optimal solution. In the final solution by ALNS, the visiting sequence of the seven areas is 3-4-5-6-7-1-2, and the visiting order of the stopping nodes is 10-11-14-18-16-23-27-26-1-6-7, which are illustrated in Fig.  12. The total time is 284.73 minutes, which is reduced by 12.15% compared to the time of the initial solution.

B. Experiments on random instances
In order to further verify the performance of the algorithms, random instances are designed and solved.

1) Problem Description
A 66  road network is generated on a plane, which divides the plane into 36 square grids. Set the side length of each square grid to 10 units. A certain number of grids are first randomly selected from the 36 grids. For each selected grid, a number of nodes are randomly generated in this grid, which are viewed as the vertices of the polygon. Then these vertices are connected in order, which forms the polygon in the grid. The lines dividing the plane into 36 grids are viewed as the main road network. For each generated polygon, three nodes are randomly selected in the boundary and connected to the main road to form the whole road network. Set the center of the plane as depot, where the GV carrying the drone starts to cover all areas and returns after completing the mission. The objective is to find the optimal routes of the cooperated GV and drone to complete the covering of all areas.
As shown in Fig. 13, eighteen grids are randomly selected and a random polygon is generated in each grid. The 18 polygons are numbered in order from left to right and bottom to top. A random stopping node is generated on each side of the polygon, which is indicated by a blue star. Finally, the road is connected with the polygon with line segments. The red square indicates the depot. The GV carrying the drone starts from the depot to cover the 18 areas, and returns to the depot after completing the mission. Find the optimal routes of the cooperated GV and drone to complete the covering of all areas.  The average speed of GV is set to 0.05 units per second, and the flight speed of the drone is set to 0.1 units per second. Set the maximum turn rate of the drone be 0.7. Set the scanning width of the drone to 1 unit. N is set to 100, and  is set to 0.2.
The roundness of the 18 covered areas is calculated and presented in TABLE 4.
It can be seen from TABLE 4 that the roundness of the areas 14 and 17 is obviously greater than 0.86, so the spiral pattern is adopted, and the remaining areas adopt a lawn mowing pattern. Areas 3 、 4 、 5 、 7 、 9 and 18 are concave polygons. Decompose them using the BCD method based on trapezoidal decomposition previously designed, and then a lawn mowing pattern was used to plan the Boustrophedon path for them.
It is the first time to employ the cooperated GV and drone for multi-area coverage, which generates a new variant of the routing problem. The algorithms presented are designed to solve this problem and there are no similar solution approaches in the literature. Thus, we only compared the initial solutions and final improved solutions to test the performance of the algorithm. In order to further test the performance of ALNS, an approximative path-planning algorithm, a multi-area coverage TSP path planning algorithm (MAC-TSP), designed and utilized to solve the ten instances.
The main process of MAC-TSP is as follows: (a) Each covered area is abstracted into a point at the center of the polygon, and the routing problem of GV is transformed into a classic TSP problem, which is solved by the commercial software CPLEX 12.6.3.
(b) For each polygon, the flying and scanning path of the drone is optimized.
(c) At last, the route of GV and the flying paths of the drone are combined to form a feasible solution.
The MAC-TSP algorithm is easy to conduct, while it ignores the interaction between the GV and the drone. Thus, the solutions obtained by MAC-TSP are upper bounds of the ten instances.
All the 10 instances are solved by the MAC-TSP algorithm, and the solutions are also presented in TABLE 5. From the  results in TABLE 5, it can be seen that the solutions obtained by ALNS is better than those of MAC-TSP over 12-13%.

VII. CONCLUSION
In this paper, for the first time, a study is conducted on the combination of the drone's area coverage problem and the cooperated GV and drone routing problem. we build a mixed integer programming model for the 2E3P-MAC-G&D problem. Then, a Two-stage Heuristic Based on Saving Strategies is proposed, which is used to obtain the initial feasible solution. And the ALNS algorithm was designed with destroy operators and repair operators to find better solution. Finally, the rationality and superiority of the algorithm are verified based on random instance and practical instance.
During the design of the drone's coverage path planning algorithm, a qualitative method for selecting the scanning pattern based on the roundness of the polygon is creatively proposed, where two scanning patterns are considered, and more patterns can be investigated in future research. This paper assumes that the drone's endurance can meet the coverage of each area, but this assumption should be relaxed when encountering large areas. At this time, the drone needs to fly back to the GV to recharge during the coverage process. It greatly increases the complexity of the problem, and the future work will be carried out on this aspect.