In this paper, the purpose is to cover the known map area based on the boustrophedon method, which avoids the large amount of calculation but has the disadvantage that is not conducive to subsequent task assignment due to the large number of units to be divided. Therefore, this part establishes the basic model and basic constraints of the CPP in non-obstacle areas, and then expands the constraints to improve the strategy of the CPP when obstacles exist in later sections. It is assumed that the flying height of the UAV is constant, and the limitation of battery life is not considered during the flight. Then, we can solve the optimal path of each UAV when the shortest total time is selected as the optimization objective.
3.1. Determination of Converage Flight Direction
Firstly, the coverage direction needs to be determined. In order to ensure the quality of coverage operations, UAVs often need to fly out of the area for turning. The increase in the number of turns often corresponds to the increase in the total path length [
50]. In order to reduce the operating time of the UAVs, the turning times must be as small as possible.
Only when the total operation time is considered as the optimization objective, could the direction be chosen that minimizes the number of turns is set as the best coverage flight direction. In the convex polygonal area, the direction perpendicular to the minimum height is the direction with the least number of turns of the polygon.
In order to determine the direction of coverage flight, the minimum width direction of the area to be covered is selected through traversal. The minimum width direction is found by rotating the polygon representing the area to be covered on a two-dimensional coordinate system and measuring its height. Then, the optimal coverage flight direction is determined, that is, the angle from the
x axis of the coordinate system to the optimal coverage flight direction. The search process is shown in
Figure 2.
The area to be covered can be divided into lines to prepare for the subsequent coverage task assignment when the coverage flight direction is determined. It is assumed that the minimum width of the area to be covered is
, and the coverage operation width of the UAV is
, and then the number of rows
of the coverage operation of the UAV can be obtained.
Then, the coverage width is corrected as:
3.2. The Optimization Model of the Coverage Path Based on Undirected Graph Search
In this paper, the optimization model of the coverage path is established based on the undirected graph search method. First, a set of parallel lines with a spacing of
is intersected with the boundary of the area to be covered to obtain a set of intersection points
. Then, the node set
is composed of this set of intersection points and the take-off nodes in the undirected graph
of the UAV, as shown in
Figure 3.
Then, each node is numbered in the set, and the number of all nodes is
. The take-off node is set to number 1, the nodes related to the first covered row are numbered 2 and 3, the nodes related to the second covered row are numbered 4 and 5, and so on. In the end, each covered row is related to its corresponding even and odd nodes. The edge set
in an undirected graph
is composed of all the line segments connecting
nodes in the graph, thus a completed undirected graph is formed. The undirected graph is shown in
Figure 4.
The undirected graph can be represented by a cost matrix of . Moreover, the element represents the Euclidean distance between node and .
In the optimization model of the coverage path based on undirected graph search, the task of several UAVs at the take-off nodes is to traverse the area to be covered divided into rows. The task can be further described as search the edges in the undirected graph using UAVs to ensure that it accesses all nodes in the undirected graph according to the direction of the covered flight. That is, it accesses all edges in the undirected graph that represent the rows to be covered. According to the optimization objective, the objective model is defined. It forces the UAV to fly according to certain rules in the route by defining the constraint conditions, and finally ensures that each row to be covered has a responsible UAV. The optimal order of each UAV is obtained to access the node by solving the equation set representing the optimization problem, that is, the optimal route of each UAV can be finally obtained. The solution process is shown in
Figure 5.
Then, according to the objective function and the constraint equation in the optimization model, it can be solved by the mathematical method of mixed integer linear programming. First, the constants and variables involved in the problem are defined. Among them, the element represents the distance between two nodes in the cost matrix , that is, the covered flight cost of the edge . The binary variable represents whether the kth UAV flies from node to node . means that the kth UAV cannot fly from node to node , means the kth UAV which flies from node to node . The constant is the speed of the kth UAV which fly from node to node . It is assumed that the speed of each UAV is equal and constant. represents the number of the UAVs participating in the coverage task.
Based on the definition of the above variables, the operating time of the
kth UAV can be calculated as:
In this section, the single objective of the shortest total operation time is taken as the optimization objective, that is, ensuring that the UAV with the longest flight distance according to the optimal path working in the shortest time (the total time to complete the mission). In this problem, an additional variable
is introduced to represent the operating time of the UAV with the longest path, which is shown in Equation (30):
In Equation (31), the left side of the equation represents the operating time of the kth UAV, and the variable is used to constrain the operating time of each UAV. As shown in Equation (30), the objective function can be expressed as a linear min-max problem. The constraint equation is defined to restrict the UAV from flying according to certain rules.
Constraint 1: The constraint in Equation (32) indicates that each node except the take-off nodes can only be accessed once by one UAV.
Constraint 2: The constraint in Equation (33) ensures that the UAV that arrives at a node is the same as the UAV that leaves the node.
Constraint 3: Each UAV is to take off at take-off node 1 and return to the take-off node. It is ensured that there is no internal sub-circulation path in this path. Equation (34) represents the standard sub-circulation removal constraint where .
Constraint 4: The UAV can fly in the best coverage direction and each coverage line can be covered by the UAV. Constraint Equation (35) also needs to be defined.
The constraint of the Equation (35) guarantees that the UAV which accesses one node of a certain coverage row will access the other node of the coverage row. Considering the numbering order of the nodes, the constraint is realized to force the UAV which accesses an even node to access its corresponding next odd node. The UAV which accesses an odd node will access its corresponding previous even node. Therefore, this constraint is crucial to make this method a feasible solution to the coverage path optimization problem.
Constraint 5: The UAV does not pass through the area to be covered along a side that is not parallel to the coverage direction. Two optional constraints need to be added to the optimization model to prevent turning sharply, as shown in Equations (36) and (37).
The solution can be obtained by solving the objective function in Equation (30) and the constraint equations from Equations (31)–(37). That is, a given number of the UAVs can traverse the area to be covered in the undirected graph in the shortest time.
In addition, it should be considered that the object in the objective function (30) is to ensure that the maximum flight distance of the UAV is as short as possible on the premise of completing the mission, so as to reduce the total time consumption. Therefore, if the longest path of the UAV is found, the path of other UAVs will not be minimized. In order to ensure that the path length of all UAVs is minimum, the following iterative solution is designed here. This method uses multiple iterations to ensure that the path of each UAV is optimal. First of all, in the first iteration, the original undirected graph is used to solve the optimization problem mentioned above. In the second iteration, we remove the UAV assigned to the longest path in the first iteration and all nodes belonging to the path except the take-off node. After updating the parameters, the method in the first iteration is used to solve the problem. It will be stopped until all nodes are traversed. Through the iterative method, it can be ensured that the path of each UAV is optimal. That is, if the objective function is unchanged, the total cost of the coverage task will be reduced to the lowest possible amount.
3.3. Consider the Optimization Model of Take-Off Operation Time
In the previous section, the optimal path was solved under the single objective of the shortest total operation time. The precondition is that all UAVs take off at the same time. However, when the UAV takes off, it needs a certain operation time, including the installation of the UAV battery module, the start-up of the navigation module, and the time for take-off operation. This section considers the impact of take-off time, the number of operators, and the number of the UAVs.
The new constants and variables need to be defined before describing the optimization model of the UAV take-off time.
represents the total number of available UAVs.
represents the best number of the UAVs in a coverage operation. The constant
represents the take-off operation time of each UAV. The variable
represents the preparation time for launching the
kth UAV, including the take-off operation time of the
kth UAV and the waiting time before the operator operates the UAV. Then, the time
of launching the
kth UAV can be calculated, as shown in Equation (38).
The total time
of the
kth UAV in the coverage operation and the objective function for updating can be calculated as shown in Equations (39) and (40).
The take-off operation time of the kth UAV is described a cost except for covering the flight cost in Equation (38). This part includes the time cost for the take-off operator to prepare for the take-off mission, the take-off operation, and the waiting time. When there is only one operator, the take-off time of each UAV is superimposed. In an operating system with two UAVs, when the operator operates the first UAV to take off, the second UAV is in the waiting state. The operator can operate the second UAV only after the first UAV takes off. When , it means is null, and the kth UAV has not left the take-off node 1. That is, the kth UAV is not used in this operation. The following is an example to illustrate the effect of take-off time on the total operation time.
It is supposed that the number of available UAVs is M = 3, the number of operators is O = 1, and the take-off operation time of each UAV is . In addition, it is assumed that the task is to cover a rectangular area, which is divided into eight coverage lines, and the time required to cover each line is 2.5 min. The additional time cost of each UAV can be calculated as follows: ; ; . It can be seen that the cumulative take-off operation time of the third UAV is , which is equal to the total time required for one UAV to cover the area. This shows that it is unnecessary to use three UAVs in this mission. In this case, it is not the best solution of using three UAVs. According to the objective function and constraint equations, we can solve the optimal number of the UAVs and the optimal path of each UAV.
3.4. Simulation Experiment
According to the optimization model built above, the simulation experiments are carried out for the two cases with and without considering the take-off operation time after assuming the experimental conditions. In this paper, the simulation experiment was carried out in MATLAB 2018b, which was configured to run memory 4 GBram. The CPU was Intel corei5, and it was solved by Yalmip toolbox.
3.4.1. Simulation Experiment without Considering Take-Off Operation Time
First of all, it was assumed that the operation site was , and the operation time was 09:00 a.m. on 1 May 2020. Moreover, it was supposed that the coverage width of the UAV is . When the angle of attack of the UAV is , the velocity can be calculated as .
According to the shape of the area to be covered, the experiment without considering the take-off operation time was divided into two groups. In the first group of simulation experiments, the coordinates of the boundary of the operation area to be covered were (−2204, −170), (−533, −1227), (92, −453), (11, −283), (72, 76) and (−1691, 390), the coordinates of the UAV take-off node were (−300, −400). In the second group of simulation experiments, the coordinates of the boundary in the operation area to be covered were (1196, −1021), (188, −565), (51, −184), (−238, 877), (1622, 763) and (1504, −523), the coordinates of the UAV take-off node were (−300, −400). Both of the maps of the area to be covered are shown in
Figure 6. Different colors represent different paths of the UAVs. The main parameters for evaluating simulation results are listed in
Table 3.
When
, the optimal path of each UAV is shown in
Table 4.
Table 4.
Results of Experiment 1 of single objective optimization.
Table 4.
Results of Experiment 1 of single objective optimization.
Map | m | Tk (min) | t (min) | Optimal Path |
---|
The first group of simulation experiments. | 2 | 14.43, 14.43 | 14.43 | As shown in Figure 7a. |
3 | 10.73, 11.07, 10.92 | 11.07 | As shown in Figure 7b. |
4 | 9.39, 6.08, 6.75, 9.39 | 9.39 | As shown in Figure 7c. |
The second group of simulation experiments. | 2 | 16.37, 16.73 | 16.73 | As shown in Figure 8a. |
3 | 12.92, 12.05, 12.74 | 12.92 | As shown in Figure 8b. |
4 | 9.73, 10.49, 10.38, 10.71 | 10.71 | As shown in Figure 8c. |
Figure 7.
Experiment 1 of single objective optimization without considering : (a) The optimal path of the UAV when m = 2; (b) the optimal path of the UAV when m = 3; (c) the optimal path of the UAV when m = 4. Among them, the different colors lines present different optimal path for different UAVs.
Figure 7.
Experiment 1 of single objective optimization without considering : (a) The optimal path of the UAV when m = 2; (b) the optimal path of the UAV when m = 3; (c) the optimal path of the UAV when m = 4. Among them, the different colors lines present different optimal path for different UAVs.
Figure 8.
Experiment 2 of single objective optimization without considering : (a) The optimal path of the UAV when m = 2; (b) the optimal path of the UAV when m = 3; (c) the optimal path of the UAV when m = 4. Among them, the different colors lines present different optimal path for different UAVs.
Figure 8.
Experiment 2 of single objective optimization without considering : (a) The optimal path of the UAV when m = 2; (b) the optimal path of the UAV when m = 3; (c) the optimal path of the UAV when m = 4. Among them, the different colors lines present different optimal path for different UAVs.
In the first group of experiments, it was obtained that the optimal coverage flight direction of the UAV was , the modified coverage width was . In the second group of experiments, it was obtained that the optimal coverage flight direction of the UAV was , the modified coverage width was .
Then, according to the equations in
Section 2, the energy production power
and energy consumption power
were calculated for the solar UAV. Thus, the energy flow efficiency flow
could be obtained.
It was assumed that the power consumption was set as
of the UAV in the coverage operation, the energy production power
and energy consumption power
of each solar powered UAV could be calculated as
3.4.2. Simulation Experiment Considering Take-Off Operation Time
It was assumed that the coverage width of the UAV was set to
, and other experimental conditions were the same as previous experiments. The main parameters for evaluating simulation results are listed in
Table 5.
The coordinates of the boundary in the operation area to be covered were (1196, −1021), (188, −565), (51, −184), (−238, 877), (1622, 763) and (1504, −523), the coordinates of the UAV take-off nodes were (−300, −400). When
is different from
, the results of the comparison experiment considering
is shown in
Table 6. Among them, different colors represent different paths of the UAVs.
Table 6.
Results of comparison experiment considering .
Table 6.
Results of comparison experiment considering .
| Condition | | | | t | m | Optimal Path |
---|
M = 2 | O = 1, ts = 0 | 0, 0 | 20.78, 20.94 | 20.78, 20.94 | 20.94 | 2 | As shown in Figure 9a. |
O = 1, ts = 6 | 6, 12 | 23.11, 17.79 | 29.11, 29.79 | 29.79 | 2 | As shown in Figure 9b. |
O = 2, ts = 6 | 6, 6 | 20.94, 20.78 | 26.94, 26.78 | 26.94 | 2 | As shown in Figure 9c. |
M = 3 | O = 1, ts = 6 | 6, 12, 18 | 20.94, 14.39, 9.47 | 26.94, 26.39, 27.47 | 27.47 | 3 | As shown in Figure 10a. |
O = 1, ts = 10 | 10, 20 | 25.15, 15.29 | 35.15, 35.29 | 35.29 | 2 | As shown in Figure 10b. |
O = 1, ts = 6 | 6, 6, 12 | 17.66, 17.66, 10.59 | 23.66, 23.66, 22.59 | 23.66 | 3 | As shown in Figure 10c. |
M = 4 | O = 1, ts = 6 | 6, 12, 18 | 21.86, 14.44, 9.17 | 27.86, 26.44, 27.17 | 27.86 | 3 | As shown in Figure 11a. |
O = 2, ts = 6 | 6, 6, 12, 12 | 16.56, 16.43, 9.47, 10.10 | 22.56, 22.43, 21.47, 22.10 | 22.56 | 4 | As shown in Figure 11b. |
M = 5 | O = 2, ts = 6 | 6, 6, 12, 12 | 16.49, 16.56, 10.10, 10.59 | 22.49, 22.56, 22.10, 22.59 | 22.59 | 4 | As shown in Figure 12. |
Figure 9.
Considering take-off operation time experiment of single objective optimization without considering when M = 2: (a) The optimal path of the UAV when O = 1, ts = 0; (b) the optimal path of the UAV when O = 1, ts = 6; (c) the optimal path of the UAV when O = 2, ts = 6. Among them, the different colors lines present different optimal path for different UAVs.
Figure 9.
Considering take-off operation time experiment of single objective optimization without considering when M = 2: (a) The optimal path of the UAV when O = 1, ts = 0; (b) the optimal path of the UAV when O = 1, ts = 6; (c) the optimal path of the UAV when O = 2, ts = 6. Among them, the different colors lines present different optimal path for different UAVs.
Figure 10.
Considering take-off operation time experiment of single objective optimization without considering when M = 3: (a) The optimal path of the UAV when O = 1, ts = 6; (b) the optimal path of the UAV when O = 1, ts = 10; (c) the optimal path of the UAV when O = 1, ts = 6. Among them, the different colors lines present different optimal path for different UAVs.
Figure 10.
Considering take-off operation time experiment of single objective optimization without considering when M = 3: (a) The optimal path of the UAV when O = 1, ts = 6; (b) the optimal path of the UAV when O = 1, ts = 10; (c) the optimal path of the UAV when O = 1, ts = 6. Among them, the different colors lines present different optimal path for different UAVs.
Figure 11.
Considering take-off operation time experiment of single objective optimization without considering when M = 4: (a) The optimal path of the UAV when O = 1, ts = 6; (b) the optimal path of the UAV when O = 2, ts = 6. Among them, the different colors lines present different optimal path for different UAVs.
Figure 11.
Considering take-off operation time experiment of single objective optimization without considering when M = 4: (a) The optimal path of the UAV when O = 1, ts = 6; (b) the optimal path of the UAV when O = 2, ts = 6. Among them, the different colors lines present different optimal path for different UAVs.
Figure 12.
Considering take-off operation time experiment of single objective optimization without considering when M = 5, O = 2, ts = 6. Among them, the different colors lines present different optimal path for different UAVs.
Figure 12.
Considering take-off operation time experiment of single objective optimization without considering when M = 5, O = 2, ts = 6. Among them, the different colors lines present different optimal path for different UAVs.
It can be seen that when the take-off operation time of the UAV is considered, the operation time of each UAV increases, and the total operation completion time also increases. Therefore, it affects the optimal number of the UAVs. That is, when the take-off operation time is enough, the number of the UAVs needed is reduced. It is shown that if the number of operators increases, the number of available UAVs will increase and the total operation time will reduce. However, it is not the case that the more UAVs are used, the more reasonable the results.