Abstract

Using an unmanned aerial vehicle (UAV) to collect data from wireless sensor networks deployed in the field, one of the key tasks is to plan the path for the collection so as to minimize the energy consumption of the UAV. At present, most of the existing methods generally take the shortest flight distance as the optimal objective to plan the optimal path. They simply believe that the shortest path means the least energy consumption of the UAV and ignore the fact that changing direction (heading) can also consume the UAV’s energy in its flight. If the path can be planned based on the UAV’s energy consumption closer to the real situation, the energy consumption of the UAV can be really reduced and its working energy efficiency can be improved. Therefore, this paper proposes a path planning method for UAV-assisted data collection, which can plan an energy-efficient flight path. Firstly, by analyzing the experiment data, we, respectively, model the relationship between the angle of heading change and the energy consumption of the UAV and the relationship between the distance of straight flight and the energy consumption of the UAV. Then, an energy consumption estimation model based on distance and the angle of heading change (ECEMBDA) is put up. By using this model, we can estimate or predict the energy consumption of a UAV to fly from one point (or node) to another (including the start point). Finally, the greedy algorithm is used to plan the path for UAV-assisted data collection according to the above estimated energy consumption. Through simulation and experiments, we compare our proposed method with the conventional method based on pure distance index and greedy algorithm. The results show that this method can obtain data collection path with lower energy consumption and smoother path trajectory, which is more suitable for actual flight.

1. Introduction

It is an effective solution to use an Unmanned Aerial Vehicle (UAV) as a mobile sink for data collection in wireless sensor network [18]. At present, this technology has been preliminarily applied in crop monitoring, disaster rescue, and so on [911].

Battery-powered UAVs are the most convenient and inexpensive. However, the energy of battery-powered UAV is limited and can only provide a short flight time. Therefore, for a large monitored area where the nodes to be visited are distributed, we hope that the UAV can finish as many tasks as possible in the duration of flight. How to reduce the energy consumption of the UAV and make it collect data from as many sensor nodes as possible in the duration of flight? That has become an important challenge which UAV-assisted data collection methods have to confront in practical applications.

If the energy efficiency of the UAV can be improved, more tasks will be completed and more sensor nodes will be visited in the duration of flight. This can also reduce the number of UAVs and the cost of input in an application scene where multiple UAVs alternately or collaboratively collect data. Conversely, if the energy efficiency of the UAV is not high, the recharge cycles of the UAV will increase and data collection will be delayed, which results in not only collecting data not in time but also losing data (e.g., for a sensor node, the new sensed data can erase the old data that has not been collected).

Improving the energy efficiency of a UAV has important practical significance in other aspects. For example, when the UAV is used to search and rescue the trapped people in an earthquake and other disaster sites, it can make the UAV visit as many search-and-rescue points as possible in the duration of flight and save the search-and-rescue time and more lives.

At present, in the use of UAVs for data collection from wireless sensor networks, the main method that most researchers apply to improving the energy efficiency of the UAV is to plan a sequence of visiting target nodes, so that the flight distance of the UAV is the shortest in this order [1214]. The shortest distance means the least energy consumption and the highest energy efficiency. But it implies a hypothesis that the energy consumption of flying the same distance is also the same. However, for UAVs, in the case of collecting data while flying (this requires a small amount of data to be transmitted by each target node; e.g., the nodes only sense some simple data such as temperature, humidity, or soil pH) [3, 15, 16], the shortest flight path does not mean the least energy consumption. Because the paths having the same distance do not necessarily have the same flight trajectory, their energy consumption is also different. For instance, if there are two flight trajectories (one is serrated and the other is straight) having the same distance, their energy consumption is quite different. We have verified it through an experiment, where we used a DIY quad-rotor UAV (the flight controller is APM8, the electric motor is SUNYSKY X2212-980kv, and the electronic speed control is HOBBYWING 30A). In this paper, all the experiments used this UAV. The experiment design is shown in Figure 1. If BC = BC′ = 27 m, AB = 4 m, and θ = 60°, there is no wind or the wind effect can be ignored, and the flight speed of the UAV is  = 4.5 m/s; then the actual energy consumption of the UAV on the path ABC′ is about 0.188 W·h, while the actual energy consumption of the UAV on the path ABC is about 0.235 W·h. In fact, when the UAV can really maintain a uniform motion, the instantaneous energy consumption is almost constant. But, during turning, the flight speed is bound to change, which leads to the change of the instantaneous energy consumption. This can also be analyzed clearly with the knowledge of mechanics. Therefore, in the scenario where a UAV collects data while flying, it is impractical to plan an energy-efficient path for the UAV only by taking distance as a measure of energy cost that the UAV consumed during flying between nodes. The shortest distance does not mean that the energy consumption is also the least.

According to the above discussion, in the path planning for a UAV to collect data, we need a more practical estimation model of flight energy consumption between two nodes. This estimation model must reflect the real energy consumption or approximate real energy consumption of the UAV. Only in this way is it possible for us to get an optimal path with lower energy consumption. Generally, sensor nodes are not deployed in a straight line, so the UAV needs to change direction during flight when it collects the data from these nodes. Therefore, in a real flight, the energy consumption of heading change must be considered. Then, in this paper, we propose an energy consumption estimation model based on distance and the angle of heading change (ECEMBDA), which can be used to estimate the energy consumption of a UAV to fly from one node to another. Based on this model, we further propose a path planning method for UAV-assisted data collection, which can plan an energy-efficient flight path to improve the energy efficiency of the UAV and make it complete more data collection tasks in a working cycle (or in its duration of flight).

In this paper, through the experiment, we first verify that the larger the angle of heading change is, the more energy a UAV will consume. Then, under a specific flying speed, we establish a relationship model between the heading change angle of the UAV and the energy consumption and also propose a relationship model between the linear flight distance of the UAV and the energy consumption. Based on the two models, we put up an energy consumption estimation model, ECEMBDA, which is related to the heading change angle and the flight distance of the UAV and can be used to estimate the energy consumption of a UAV to fly from one node to another. Then, by using ECEMBDA, the path planning for UAV-assisted data collection is abstracted as a 0-1 integer programming problem, and the path optimization model is established. A greedy algorithm is used to solve the programming problem and an energy-efficient path is gotten. At last, a lot of simulation and real experiments were done. Under the different random deployment and the different number of nodes, we compared our method (is also called ECEMBDA method) and the conventional method only taking the flight distance as the energy consumption measurement to combine a greedy algorithm to plan the path (the method is also called Energy Consumption Estimation Based on Distance (ECEBD)). In any case, the results all show that the paths planned by our method almost have smoother trajectories and can effectively reduce the energy consumption of the UAV and increase the energy efficiency of the UAV.

The contributions can be summarized as follows:(1)An energy consumption estimation model based on distance and the angle of heading change (ECEMBDA) is proposed, which can estimate the energy consumption of a UAV to fly from one node to another.(2)A path planning method for UAV-assisted data collection is proposed, which uses ECEMBDA to establish a path optimization model and take the lowest energy consumption of the UAV as the optimization objective, and then a greedy algorithm is applied to solve the model and get the path.(3)Compared with the conventional method only taking the flying distance as the energy consumption measurement to combine a greedy algorithm to plan the path (ECEBD), our method (ECEMBDA) can get a better and energy-efficient path. The simulation results show that when 30, 40, 50, 60, and 70 target nodes are respectively and randomly deployed in a 300 m × 300 m area, the paths planned by our method can save the energy consumption of the UAV. The energy-saving is about 9.22% averagely, and the path trajectories are all smoother and more suitable for actual flight. In the real environment, the path for visiting 24 target nodes was planned. The result still shows that the path planned by our method is more energy-efficient and smoother, which can save about 12.21% of the energy consumption of the UAV compared with the conventional method.(4)For the flight path planning that considers the energy consumption of the UAV in the case where target positions or path points are known, we give a new idea about the energy consumption optimization of UAV.

In this paper, we first describe the overview of E2PP in Section 3.1. Then in Sections 3.2 to 3.7 we analyze and establish an energy consumption estimation model: ECEMBDA. In Section 3.8, we use the model ECEMBDA to establish the path optimization model and we design an algorithm to solve this path optimization model in Section 3.9. In Section 4.1, we simulate and evaluate the proposed path planning method, and in Section 4.2 we verify the effectiveness of the method through real flight experiments.

At present, in the field of UAV-assisted data collection, a lot of researchers usually find the shortest path for the UAV to visit nodes [1, 1721]. This idea is based on the assumption that the shortest flying path consumes the least energy of the UAV. So they always take the shortest path as the planning objective. These path planning methods can be divided into three categories.

2.1. Planning the Shortest Flight Path for Visiting All the Sensor Nodes in a Sensing Area to Reduce the Energy Consumption of the UAV

In this kind of methods, each deployed sensor node is used as the target node for data collection. In [17, 2225], the authors use multiple UAVs to work collaboratively and, respectively, plan the path for each UAV to visit the set of nodes that it is responsible for. For each UAV, the process of visiting each node that it collects is abstracted as a TSP and a greedy algorithm is adopted to plan the visiting path. In [18], for a large-scale wireless sensor network with uniform deployment, a fast path planning with rules (FPPWR) is proposed. The algorithm divides the sensing area into a number of grids and then changes the planning of the global flight path into the planning of the local flight path in each grid, and it finally combines all the local paths in every grid as the planned global flight path. While ensuring a certain precision, this method reduces the complexity of solving the TSP and improves the efficiency of path planning. This kind of methods is mainly aimed at exploring and studying the algorithm for the shortest path for traversing all sensor nodes.

2.2. Decreasing the Number of Target Nodes for Data Collection to Reduce the Energy Consumption of the UAV

The main idea of this kind of methods is to cluster the sensor nodes first and select a sensor node as the cluster head in each cluster according to certain rules. The cluster-head nodes are taken as the target nodes. The no-cluster-head nodes in a cluster first transmit data to the cluster-head node through a single hop or multiple hops. A UAV or UAVs collect data by traversing these cluster-head nodes. In [17], the nodes in a cluster periodically transmit data to the cluster-head node. The cluster-head nodes are responsible for communicating with a UAV to transmit the data. In order to avoid the high energy consumption of the cluster-head nodes, the authors dynamically change the cluster-head node by rotation, which results in that the UAV updates the traveling path with the replacement of the cluster-head nodes. Ho et al. [20] used Low Energy Adaptive Clustering Hierarchy (LEACH) [26] to choose the cluster-head nodes as the waypoints and proposed Particle Swarm Optimization (PSO) as an optimization method to find the optimal path. To further reduce the energy consumption of the UAV, this kind of methods is mainly aimed at researching clustering algorithms and path planning algorithms for searching the shortest path to traverse the cluster-head nodes.

2.3. Using the Communication Range of Sensor Nodes to Reduce the Energy Consumption of the UAV

The main idea is to determine the waypoints. At the waypoints, the UAV can communicate with a number of nodes in the single-hop communication range and collect data. Generally, the number of waypoints is less than the number of sensor nodes; thus the energy consumption of the UAV can be reduced. In [1], the authors use a fast circle fitting algorithm [19] to cluster the nodes and identify the center position of each cluster so that the nodes in a cluster can transmit data to the UAV by a single-hop manner. The center positions of clusters are the identified waypoints. Then the path planning for the UAV to collect data is abstracted as a TSP. When the UAV reaches the cluster center, it collects data of each node in the cluster in a certain predefined order. Wang and Chang [21] proposed a path planning scheme having four steps: initialization, rotation, optimization, and smooth to shorten the length of the UAV’s path while satisfying the communication constraints of the sensor nodes. This kind of methods is mainly aimed at the study of how to determine the waypoints, which requires that not only the waypoints be able to cover all the sensor nodes but also its number be as small as possible. Then the shortest path to traverse all the determined waypoints is to be found to further reduce the energy consumption of the UAV.

The paths planned by the above methods have reduced the energy consumption of the UAV to varying degrees. These methods are effective for UAVs to hover and collect data over target nodes (or points) or waypoints. However, in the case that the UAV collects data while flying, the energy consumption of the UAV is not necessarily the lowest if it flies along the paths planned by the above methods, because they all ignore the phenomenon that, under the same flight distance, if the UAV flies along a zigzag line, it will consume more energy than when it flies along a straight line.

When the UAV changes the direction during the flight, there is a process including deceleration, changing direction, and acceleration, which will cause the UAV to be in a nonuniform motion state. Under the circumstance, it will consume more energy than when it flies the same distance in a uniform linear motion state. Considering this phenomenon, in this paper, we put up an energy consumption estimation model, ECEMBDA, which can be used to estimate the energy consumption of a UAV to fly from one node to another, establish a path optimization model, and take the lowest energy consumption of the UAV as the optimization objective, and then a greedy algorithm is applied to solve the model and get the energy-efficient path for data collection. We have done a lot of simulation experiments. In each simulation, we selected the different number of target nodes and randomly deployed them in a 300 m × 300 m sensing area and then, respectively, used our proposed method ECEMBDA and the conventional method ECMBD to plan the path. It is found that the paths planned by the former can save about 9.22% of the energy consumption of the UAV averagely compared with the ones planned by the latter. In addition, the paths our method planned are much smoother. In the real environment, the path for visiting 24 target nodes was planned. The result still shows that the path planned by our method is more energy-efficient and smoother, which can save about 12.21% of the energy consumption of the UAV compared with the conventional method. These all show that the proposed method can not only effectively save the energy of the UAV and improve its energy efficiency but also meet the actual flight needs. This method has a better practicability.

3. Problem Analysis and Modeling

3.1. Overview

The path planning method for UAV-assisted data collection in this paper not only considers the influence of flight distance on the energy consumption of the UAV but also takes into account the influence of heading change angle on the energy consumption of the UAV. The energy consumption estimation model ECEMBDA which can estimate or predict the energy cost of the UAV flying from one node to another is put up and is close to the real situation. Therefore, this method is an effective and practical method for path planning for UAV-assisted data collection.

The method contains the following steps:(i)Step 1. Through the real experiments, at a specific speed, a relationship model of the direction change angle and the energy consumption of the UAV and a relationship model of the straight-line flight distance and the energy consumption of the UAV are established. Then an energy consumption estimation model ECEMBDA of the UAV (predicting the energy cost of the UAV flying from one node to another) is built. How to model ECEMBDA will be described in Sections 3.2 to 3.7.(ii)Step 2. Use the model ECEMBDA in Step 1 to establish the path optimization model according to the coordinate information of the target nodes in a specific application (Section 3.8).(iii)Step 3. The greedy algorithm is applied to solve the path optimization model in Step 2 and plan the energy-efficient path for data collection (Section 3.9).

3.2. Problem Description

In this paper, in the scenario of UAV-assisted data collection for a wireless sensor network (as shown in Figure 2), a data collection process is as follows: UAV starts from the starting point (such as a service station), visits all the stationary deployed target nodes, collects the data while flying, and finally returns to the starting point to prepare for the next round of data collection. These target nodes are deployed in the sensing area according to the monitoring needs. Generally, they are not completely in a straight line. In what order to traverse these target nodes and how to plan the data collection path such that the UAV can consume the least energy are two of the key problems to be solved in UAV-assisted data collection for a wireless sensor network and are also the problems that we need to solve in this paper. If the UAV consumes less energy, in its battery duration, it can visit more nodes, complete more tasks, achieve high energy efficiency, reduce the number of charges, and shorten the average time of data collection.

3.3. Problem Analysis

In the previous literature [1, 1214, 1719], researchers only took the flight distance as the core measure to plan the UAV’s data collection path. They believed that the shorter flight distance, the less energy consumption. Therefore, the path planned by them is the shortest path to traverse all the target nodes. However, when the traversed target nodes are not completely in the same straight line and the UAV collects data while flying, there will be heading changes during flying. Heading change will make the UAV consume more energy. This has been verified by the experiment (in Section 6), and the results show that the greater the angle of heading change, the more the energy consumed. Therefore, the energy consumption of the UAV is related not only to its flight distance but also to its angle of heading change. It is not accurate enough to only use the flight distance to estimate the energy consumption of the UAV. We need a more realistic and accurate model to predict the energy cost of the UAV flying from one point to another, based on the predicted energy consumption between any two points to establish the path optimization model with the lowest energy consumption of the UAV and plan the energy-efficient path for the UAV’s data collection.

3.4. Modeling Energy Consumption Estimation Model

For considering the energy consumption of the UAV to plan the path for the UAV-assisted data collection, determining the visiting order of the target nodes is related not only to the distance needed to fly but also to the angle needed by heading changes. Any heading change angle is determined by three key points: the precursor point, the turning point, and the successor point. For example, in Figure 1, on the flight path ABC, the UAV first flies from A to B in a straight line and then changes the direction (heading) at the point B, and then it flies to the next target point C, where the precursor point is A that has just been visited, the turning point is B, and the successor point is C that will be visited next. The locations of the points A, B, and C determine the size θ of the heading change angle ∠C′BC; that is, θ = 180° − ∠ABC. When we determine the visiting order of the nodes and plan the path, except the starting point, any point is a turning point, which can form an angle with any other two points and can be a segment of the path determined by the three points. Therefore, the path planning based on the effect of the heading change angle and flight distance on the energy consumption of the UAV is related not only to the distance between any two points (nodes) but also to the angle composed of any three points (nodes) (except the angle where the starting point is as the turning point). This is very different from the path planning only considering the effect of the flight distance on the energy consumption of the UAV and involving the distance between any two nodes. In the path planning considering the energy cost brought about by changing direction, it is complicated to express the energy consumption of the UAV to fly from one point (node) to another. We believe that the UAV’s energy consumption to fly from the current point to the next target point is related to the last energy consumption of heading change (turning at the current point) and the distance from the turning point (the current point) to the next target point. Therefore, we give an energy consumption estimation model, ECEMBDA, which can predict the energy consumed by the UAV flying from one point to another:where denotes the estimated energy consumed by the UAV on the path segment j ⟶ k in the process that the UAV flies from the point i to the point k through the point j (as shown in Figure 3). The energy consumed includes two components: the energy consumption of the UAV for changing direction at the point j and the energy consumption of the UAV for straight line flying on the path segment j ⟶ k (i, j, and k are the numbers of the starting point and nodes. 0 is the number of the starting point; 1, 2, …, n denote the numbers of the nodes). denotes the energy that the UAV would consume when it changes from the direction i ⟶ j to the direction j ⟶ k (i.e., the angle where the heading change is) at the desired flight speed ; denotes the energy that the UAV would consume when it flies in a straight line on the path segment j ⟶ k at the desired flight speed . The energy consumption is basically proportional to the distance (from j to k). The longer the distance is, the greater the energy consumption is. In particular, since the UAV starts from point 0, traverses all the nodes for data collection, and finally returns to point 0, there is no need to consider the energy consumption of the heading change at point 0; that is, ; hence, .

3.5. Energy Consumption and Angle of Heading Change

The relationship between the angle of heading change and the energy consumption is studied by real measuring of the flight state of the UAV. It is found that the larger the angle of heading change, the greater the energy consumption under the same conditions. Through analyzing the real experiment data, under a specific flight speed (4.5 m/s), a relationship model of the angle of heading change and the energy consumption is established.

The experiment is described as follows: In the actual flight experiment, we find that the instantaneous energy consumption of the UAV is almost stable when it flies at an nearly uniform speed in a straight line. But there is deceleration and acceleration in the process of heading change; thus the instantaneous energy consumption would fluctuate or change in the process. We set a desired speed  = 4.5 m/s for the UAV to make it fly in a straight line along the direction A ⟶ B and then change the direction at point B (the angle of heading change is selected as in turn) and then continue to fly in a straight line along the direction B ⟶ C as shown in Figure 1. Under the desired speed, in order to make the energy consumption of changing the direction at the different angles comparable, it is required to ensure that, under each turning angle, the UAV’s flight speeds at point A and point C are all the desired speed (4.5 m/s) (point A and point C are, respectively, the start point and end point of calculating the energy consumption). In addition, it is necessary that the distances of the path ABC at the different angles of heading change be of the same length. To satisfy the above two requirements, the method for selecting the locations of point A and point C is described as follows: for , we, respectively, get the critical points A0, A30, A60, A90, A120, A150, and A180, where the UAV just starts to decelerate, and the critical points C0, C30, C60, C90, C120, C150, and C180, where the UAV just reaches the desired speed (4.5 m/s) (the UAV starts to accelerate at point B). Then we select the longest distance from {A0B, A30B, A60B, A90B, A120B, A150B, A180B} as the distance of AB and the longest distance from {BC0, BC30, BC60, BC90, BC120, BC150, BC180} as the distance of BC. Finally, based on the experiment data, AB = 4 m and BC = 27 m (rounded up).

Under the desired speed  = 4.5 m/s, we measured the total energy consumption of the UAV flying along the straight line on the A ⟶ B direction for 4 m, changing direction at point B (the angle of heading change is set, respectively, as ), and then flying along the straight line on the B ⟶ C direction for 27 m. The energy consumption is shown in Figure 4 (the relationship between the angle of heading change and the energy consumption). The composition of the total energy consumption can be approximately regarded as the energy consumed by the 31 m straight-line flight and heading change of the UAV. In this experiment, the energy consumption of the UAV’s 31 m straight-line flight (i.e., the angle of heading change is ) is about 0.188 W·h. By subtracting the energy consumption of the straight-line flight from the total energy consumption, we can get the energy consumption of the UAV for changing the different angles under the desired speed  = 4.5 m/s. In Figure 4, it is obvious that the larger the angle of heading change, the greater the energy consumption. By fitting the data with MATLAB, it is found that the quadratic polynomial fits better than the linear function. The third and higher-order fitting expressions are too complex to be calculated in application. Therefore, we choose the relationship expression obtained by quadratic fitting, and the quadratic coefficient is through MATLAB fitting; the primary coefficient is , and the constant term is . The constant term here is very small and close to zero, so the constant term can be ignored. This is also consistent with the fact that there will be no steering energy consumption when there is no steering. Then the relationship model between the angle of heading change and the energy consumption is obtained as follows:

3.6. Energy Consumption and Distance of Straight-Line Flight

When the UAV flies along a straight line at the expected speed  = 4.5 m/s, we, respectively, measured its energy consumed by about 1 m, 2 m, …,31 m straight-line flight (as shown in Figure 5). It is shown that the energy consumption is almost proportional to the distance of straight-line flight. Then, by calculating the average energy consumption of one-meter straight-line flight in these 31 cases, the relationship model between the distance of straight-line flight and the energy consumption is obtained when the UAV’s expected speed is = 4.5 m/s. The model is

3.7. Energy Consumption Estimation Model

In summary, we substitute equations (2) and (3) into equation (1), and then we can get the energy consumption estimation model of the UAV for flying from one point to another at the expected speed  = 5 m/s:where , because point 0 is the start point and it is not necessary to change direction at the start point. The coefficients in equation (4) are the corresponding coefficients in equations (2) and (3).

3.8. Path Optimization Model

From the above analysis, we further describe the path planning problem for UAV-assisted data collection as follows: Firstly, it is assumed that the UAV flies at a certain constant altitude. The set of nodes consisting of the start point and the target node to be visited is {0, 1, …, n}, where 0 is the number of the start point (i.e., the service station) and 1∼n are the numbers of the target nodes. The goal of the path planning is to find a sequence to visit target nodes. The visiting sequence starts from the start point and at last returns back to it. Besides, the sequence can make the total energy consumption of the UAV be the least. In the sequence , is the start point 0, and is an arrangement of the numbers of the target nodes. Therefore, the problem can be abstracted into a 0–1 integer programming problem and we can get a path optimization model with the least energy consumption of the UAV, and the mathematical expression is as follows:

Equation (5) is the concrete expression of the objective function. The constraints in equations (6)–(8) ensure that the start point and each target node are passed through only once in the path. The constraint in equation (9) guarantees that there is one and only one loop in the path, where is an arbitrary subset of the vertex set, is the number of vertices in the set , and is the number of edges in the loop. From equations (6)–(8), the degree of each vertex is less than or equal to 2. Only when the degree of each vertex in the loop is equal to 2 are the numbers of edges and vertices equal. So only when  =  is there a loop in the vertex set. However, equation (9) restricts the number of edges in the set formed by any proper subset of vertex set to be less than the number of vertices, so that the set formed by any proper subset of vertex set is not a loop. in equation (10) represents whether a certain corner of the task point (whose precursor vertex is and the following vertex is ) is selected as a part of the total path or not. The value of is 0 or 1, where 1 indicates that the corresponding corner is selected, and 0 indicates that it is not selected.

3.9. Path Planning Algorithm

From the above analysis and definition for the problem, it can be seen that the problem is very similar to a TSP [27, 28]. The difference between them is that the TSP only involves the distance between any two points, but this problem needs to consider not only the distance between any two points but also the angle formed by any three points (including the start point), which is more complex than a common TSP. It is a variant of the common TSP and also belongs to an NP-hard problem. So, we use the greedy algorithm to solve it. Since the greedy algorithm is a local optimization algorithm, in order to further reduce the impact of its locality on the path planning, we, respectively, take the real start point and each target node as the start point in the algorithm and use the greedy algorithm to plan the data collection path. Then the n+1 candidate loop paths will be gotten. We use the real start point as the start point and predict the total energy consumption of the UAV to fly on each candidate loop path based on ECEMBDA. Finally, the path with the least total energy consumption is selected as the ultimate planned path. The path planning algorithm is as shown in Algorithm 1.

(1)get the coordinates of each node in S
(2)calculate and construct C with the formula (7)
(3)for all nodes, m (m = 0, 1, …, n) do
(4) take the node m as the starting node (only assumed, not necessarily true)
(5)P[m][0] = m; % path[m][ ] records the optimal path starting from the node m
(6) find the node q which is the closest to the node m and take it as the next node to be visited
(7)P[m] [1] = q; % record the node q as the first node that will be visited
(8)i = m
(9)j = q; % be ready to find the next node to be visited
(10)  for (l = 2; l ≤ n; l++)
(11)   find the subscript k which makes C[i][j][k] minimum in the array C[i][j][ ]
(12)   P[m][l] = k;   % record the next node that will be visited
(13)   i = j;
(14)   j = k;   % be ready to find the next node to be visited
(15)  end for
(16)end for
(17)for (m = 0; m ≤ n; m++)
(18) get Path[m][] by setting the starting node as the node 0 in the loop path P[m][];
(19) calculate EC[m];
(20)end for
(21)find the subscript s which makes EC[s] minimum in the arrayEC
(22)return Path[s][ ]% Path[s][ ]is the optimal loop path planned for data collection

The definitions of the symbols are as follows:(i)S is the set of target nodes and starting node(ii)C is the array of energy consumption; P[m] is the array of recording the optimal loop path starting from node m and coming back to node m; Path[m] is the array of recording the optimal loop path from node 0, along the loop path P[m] and back to node 0(iii)EC is the array of estimated (or predicted) total energy consumption(iv) EC[m] is the estimated total energy consumed by the UAV for flying from node 0 and along the loop path Path[m]

4. Simulation and Experiment

4.1. Simulation and Result Analysis

We simulated a 300 m × 300 m square sensing area, in which we specified (0, 0) as the location of the service station and randomly deployed n target nodes. The desired speed of the UAV was set as = 4.5m/s.

In this paper, for n = 30, 40, 50, 60, and 70, we, respectively, used our method (ECEMBDA) and the conventional method (ECEBD) to plan the path for visiting the target nodes and estimated and compared the energy consumption of the UAV to fly on the planned paths. The result is shown in Figure 6. As can be seen from the figure, regardless of what method is used, the more the target nodes, the higher the energy consumption of the UAV. On the whole, the paths planned by our method are more energy-saving than those planned by the conventional method, and the energy-saving ratios (energy-saving ratio = (the energy consumption on the path planned by the conventional method - the energy consumption on the path planned by our method)/the energy consumption on the path planned by the conventional method) are as shown in Figure 7. The average energy-saving ratio of the five cases is about 9.22%. At the same time, we can also see that, in the same size area, when the number of target nodes is small or large, the energy-saving ratios will all decline, because when the number of target nodes is small, the distance between any two target nodes is relatively large and the number of turning points is relatively small. Hence, the path on which the UAV maintains a uniform flight in a straight line is relatively long, and the proportion of the energy consumption of the straight-line flight is relatively large, which will reduce the proportion of the energy consumption of the heading change and weaken the energy-saving effect brought by reducing the energy consumption of the heading change. But, for more nodes, due to the limit that the distance between any two nodes is not less than 31 m, the distribution of these nodes is relatively uniform (in a 300 m × 300 m square sensing area) and more nodes will be almost in the same line. Therefore, the total angle of the heading change is relatively reduced, which will also weaken the energy-saving effect brought by reducing the energy consumption of the heading change. The above analysis shows that there is the number of target nodes with the best energy-saving effect in a given size area; that is, there is the density of target nodes with the best energy-saving effect (limited by the paper space, it is not discussed further in this paper).

Our method is mainly composed of two stages: calculating (or predicting) the possible energy consumption of the UAV to fly from any node (or point) to another and planning the path. The former estimates the energy consumption between any two nodes based on ECMMBDA and the latter plans the flight path of the UAV based on the calculation result of the former. For the calculation of energy consumption between any two nodes, it only needs to be done once. Subsequently, the users can use the calculation result of the energy consumption between any two nodes and select an appropriate optimization algorithm to solve the optimal path according to the actual situation (in this paper, the greedy algorithm is chosen). Similarly, the conventional method is also composed of two phases: calculating the distance between any two nodes and planning the path. In the path planning stage, the same greedy algorithm is used in the two methods, so the consumed time is almost the same. For n = 30, 40, 50, 60, and 70, the time consumption of the two methods in the path planning stages is compared, and the result is as shown in Figure 8. It is not difficult to see that, with the number of target nodes increasing gradually, the time consumed by the two methods is also significantly increased and the consumed time is almost the same. The average time consumed by our method is about 0.021 s and the average time consumed by the conventional method is about 0.018 s.

In addition, for n = 50, the optimal paths planned, respectively, by our method and the conventional method are given, as shown in Figures 9 and 10. It can be seen that the path planned by our method (Figure 10) is smoother and more suitable for flight and has lower energy consumption. However, the path planned by the conventional method (Figure 9) which only takes the shortest distance as the optimization objective has more large heading change angles, so the UAV flying on it would consume more energy.

Without loss of generality, we deployed 50 target nodes randomly ten times. For each deployment, the conventional method and our method were, respectively, used to plan the optimal path, and the estimated energy consumption on the planned paths was compared, as shown in Figures 11 and 12. Obviously, for each case, the path planned by our method is much better in energy-saving, and each energy-saving ratio is more than 8%, and the average energy-saving ratio is about 9.38%.

4.2. Experiment and Result Analysis

Furthermore, in order to illustrate the effectiveness and feasibility of our method, we set 24 target points in a real environment and then compared the paths, respectively, planned by our proposed method and the conventional method.

The experimental environment parameters are as follows:(i)Wind speed: <0.5 m/S(ii)PM2.5: <80 μg/m3(iii)PM10: <80 μg/m3(iv)Temperature: 15–23°C(v) Air pressure: 905–925 HPA

The experiment result is shown in Figure 13, where Figure 13(a) is the path planned by our method and Figure 13(b) is the path planned by for the conventional method. The numerical markers in the figure indicate the order of visiting the target points. Because the path is a loop, the end point that is marked as 25 is also start point 1. The yellow line is the planned optimal path and the blue line represents the actual flight path. Because of the influence of wind, the blue line does not coincide with the yellow line completely. As seen from the figure, it is not difficult to find that the trajectory of the path planned by our method is much smoother and has fewer sharp turning angles. Such a path can make the UAV maintain a relatively uniform motion state as far as possible in the course of flight and reduce the energy consumption. In this experiment, we, respectively, measured the UAV’s energy consumption on the two paths. The result indicates that our method can find a more energy-efficient path than the conventional method and the energy-saving ratio is about 12.21%. Through the flight diagram, we can see that the actual flight path is different from the planned path. These are mainly caused by the errors of GPS. However, because the error here is very small compared with the distance of wireless data collection, it will not affect the application.

5. Conclusion and Future Work

In this paper, we propose an energy-efficient path planning method for UAV-assisted data collection by modeling the near-real UAV’s energy consumption in its flight. The simulation result shows that when 30, 40, 50, 60, and 70 target nodes are randomly deployed in a 300 m × 300 m area, the paths planned by our proposed method can save about 9.22% of the energy consumption of the UAV on average, and the paths are much smoother and suitable for actual flight. Furthermore, the real experiment also shows that the proposed method can plan a more energy-efficient and smoother path.

However, in this paper, the flight of UAV is limited to two-dimensional plane. The actual UAV flight is in three-dimensional space, so the follow-up work of this paper is to further expand this energy-efficient path planning method to the three-dimensional path planning. In addition, through the experiments of this paper, it is found that when thenumber of task points increases to a certain extent, the planning energy-saving effect will decline. Therefore, the other follow-up work of this paper will be to solve the problem of decreasing the effect caused by the increase of task points through partition and cooperation of multiple UAVs.

Data Availability

The data used in this paper can be obtained directly by the real experiment according to the sentences and tables of the paper or generated by combining them with the algorithm. The core steps and algorithms of data processing method are introduced in the paper in detail, too.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.

Acknowledgments

This work was supported in part by the Key Research and Development Program of Shaanxi Province (Program nos. 2019GY-012 and 2018SF-369), the National Natural Science Foundation of China (Grant nos. 61702416 and 61902316), the Scientific Research Program Funded by Shaanxi Provincial Education Department (Program nos. 18JK0773 and 17JK0775), the Industrial Science and Technology Research Project of Henan Province (Grant no. 202102210387), and the Science Foundation of Northwest University (nos. 15NW32 and 15NW31).