Next Article in Journal
The Evaluation of Creditworthiness of Trade and Enterprises of Service Using the Method Based on Fuzzy Logic
Previous Article in Journal
OTSU Multi-Threshold Image Segmentation Based on Improved Particle Swarm Algorithm
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

OADC: An Obstacle-Avoidance Data Collection Scheme Using Multiple Unmanned Aerial Vehicles

Department of Electrical, Electronic and Computer Engineering, University of Ulsan, Ulsan 44610, Republic of Korea
*
Author to whom correspondence should be addressed.
Appl. Sci. 2022, 12(22), 11509; https://doi.org/10.3390/app122211509
Submission received: 18 October 2022 / Revised: 7 November 2022 / Accepted: 8 November 2022 / Published: 13 November 2022

Abstract

:
Unmanned aerial vehicles (UAVs) are used widely for data collection in wireless sensor networks (WSNs). UAVs visit the sensors to collect the data. UAV-aided data collection is a challenging problem because different paths of a UAV, i.e., visiting orders of sensors, affect energy consumption and data delivery times. The problem becomes more difficult when there are obstacles in the path of the UAV. Thus, the UAV needs to take a detour to avoid them, resulting in different travel distances and times. Therefore, this study formulated the obstacle-aware path planning problem of UAVs, i.e., the obstacle-constrained distance minimization (OCDM) problem, as an integer linear programming problem (ILP) to minimize the total traveling distances of all UAVs while considering the UAVs’ flight time constraints. First, a possible detour-points-selection algorithm called vector rotation-angle-based obstacle avoidance (VRAOA) is proposed to find the detour points around each obstacle in the environment. Then, a genetic algorithm with VRAOA (GA w/VRAOA)is developed to find the trajectories of the UAVs, using the VRAOA and Dijkstra algorithm to find a detour path if there is an obstacle between any two sensors. Finally, simulations were performed for algorithm variants, where GA w/VRAOA outperformed others.

1. Introduction

Wireless sensor networks (WSNs), combined with the IoT, are being widely used in numerous applications, such as smart grids, home and industry automation, landslide detection, and military operations [1,2,3]. In these applications, a sink is usually installed to collect the data from the sensor node, which usually forwards the data to the sink in a multiple-hop fashion. However, multi-hop transmission is not always practical because there may be no infrastructure to install the sink or gateway in remote places or in emergencies. In addition, forwarding data via the multi-hop method results in an energy-hole problem; it decreases the network’s lifetime, as relay nodes near the sink run out of battery faster than other nodes, and it increases the data transmission delay [4,5]. Therefore, unmanned aerial vehicle (UAV)-aided WSNs have been proposed in recent years. UAVs collect data from the sensors and send them to the base stations [2,6,7].
On the other hand, collecting data using UAVs is challenging because UAVs need to visit the sensors to collect the data. Different visiting orders or UAV trajectories lead to different total traveling distances and data transmission times. Several studies have examined UAV trajectory or path planning in UAV-aided data collection in WSNs [2,8,9,10,11,12,13,14,15]. However, these studies did not consider the existence of obstacles in the paths of UAVs, whereas there can be many obstacles (e.g., buildings, mountains, big trees, and no-fly zone areas) in a UAV’s trajectory that need to be avoided when it flies from one sensor to another. Although some studies considered obstacles in the UAV trajectories [16,17,18,19,20,21], they did not consider the UAV path as the Hamiltonian path, which is impractical because UAVs are battery-constrained devices and need to return to the base station (BS) to recharge their batteries after a given period of data collection.
Therefore, this paper proposes an obstacle-avoidance data-collection (OADC) scheme, where multiple UAVs collect data from a group of sensors deployed in an obstacle-constrained environment. Each UAV flies to the sensors assigned to it only once and collects the data before returning to the BS to deliver the data, which is a Hamiltonian cycle. If there is an obstacle between any two sensors, UAVs must take a detour by visiting some borderline points around the obstacles; otherwise, they can directly visit the next sensor on the path. The borderline points are the points around an obstacle where UAVs can fly to make a detour. Note that the Hamiltonian graph in this paper only considers sensors as vertices. In addition, the flight time is also considered because UAVs are battery-constrained and can only fly for a given amount of time. The considered problem is formulated as an integer linear programming problem (ILP) problem which is NP-hard, and hence it is very challenging to solve. Therefore, to address the problem, we first designed a detour-points-selection algorithm, namely, the vector-rotation angle-based obstacle avoidance algorithm (VRAOA), which selects points for detouring from the borderline points of an obstacle by making a convex polygon with the shortest traveling distance (which has the shortest traveling distance if a tour starts from a borderline point of an obstacle and returns to that borderline point after covering the whole obstacle). The VRAOA algorithm is applied to each obstacle in the environment. Then, a genetic-algorithm-based obstacle-aware path planning scheme for UAVs called the genetic algorithm (GA) with VRAOA (GA w/VRAOA) is proposed, where VRAOA, along with the Dijkstra algorithm, finds a detour path between any two sensors when there is an obstacle. The performance of GA w/VRAOA is validated by conducting simulations with various parameter values.
The contributions of the paper are summarized below:
  • The proposed OADC scheme addresses an obstacle-aware path-planning problem named obstacle-constrained distance minimization (OCDM) for multiple UAVs in a WSN data gathering scheme. The OCDM problem is formulated as an integer linear programming (ILP) problem that considers the UAV flight time constraint. The objective of the problem is to minimize the total traveling distance of all UAVs.
  • First, an algorithm has been developed for selecting detour points around an obstacle to take a detour named the vector rotation angle-based obstacle avoidance (VRAOA) algorithm. VRAOA converts the shape of each obstacle in the environment into a convex polygon by selecting detour points from the borderline points of an obstacle such that the total distance traveling around the obstacle is minimized.
  • Second, a genetic algorithm with VRAOA (GA w/VRAOA) is designed to determine the UAVs near-optimal paths. In GA w/VRAOA, The detour path between any two sensors when there is an obstacle is obtained by combining the VRAOA and a source-to-destination-based Dijkstra algorithm.
  • Finally, simulations are performed and analyzed under different scenarios, where GA w/VRAOA shows its efficiency in terms of total traveling distance, total energy consumption, and average data delivery latency.
The remaining paper is organized as follows. The related works are discussed in Section 2. The proposed system model and problem formulation are presented in Section 3. Section 4 outlines the proposed algorithms. The experimental settings and performance analysis are demonstrated in-depth in Section 5. Finally, in Section 6, this study is concluded.

2. Related Works

UAV-aided data collection without considering obstacles: Recently, there have been many studies on UAV-aided data collection in WSNs focusing on different scenarios and objectives. Some of them used a single UAV for data collection. For example, one study [8] focused on reducing unwanted data transmissions among sensor nodes and the UAV and increasing the throughput of their considered system. Another study [9] determined the best trajectory of a UAV to gather data from devices while guaranteeing that each device uploads the bare minimum of data. In [10], The authors proposed an energy-efficient data-gathering approach for WSNs to minimize the total transmission power with the minimal UAV trajectory length. In [11], The UAV sends mobile agents (MAs) to the area of interest, and each MA collects the data from sensor nodes by moving into this area. The UAV uses MAs with data to obtain the information it needs, ensuring the system is more time- and energy-efficient.
Another group of studies on data collection considered the use of multiple UAVs. For instance, the work [2] focused on solving a TSP problem using a modified genetic algorithm while considering the clusters of sensors with the objective of fast data gathering and reducing the total energy consumption of UAVs. Huiru et al. [12] studied a cloud-aided data collection technique for UAVs in the WSN area. They aimed to minimize the energy utilization in the network and improve the data-collection duration. Safwan et al. [13] focused on minimizing average data collection time with the minimal cost in the system between the UAVs and the cluster heads. The authors of [14] aimed to find the shortest path for UAVs to collect data from various roadside sensors and minimize the total UAV traveling time and total length of UAV paths in the network. Furthermore, reference [15] focused on tackling the flight-selection problem as a Hamiltonian path problem that requires visiting all the cluster heads in a given wireless sensor network. However, none of the above studies considered the obstacles in their environment. By contrast, The proposed study considered the existence of obstacles in the environment, where the UAV data collection tour will finish within a given flight time with a minimum traveling distance while avoiding obstacles. Thus, The proposed OADC scheme cannot use these preceding approaches directly.
UAV data collection considering obstacles: There are some studies on UAV-aided data collection in WSNs where the researchers considered obstacles when planning the UAV path. For example, in [16], The authors considered a single UAV to collect data while avoiding obstacles. They combined various evolutionary procedures to produce a non-collision path for the UAV. They concentrated on lowering the path length and angle, while minimizing delay and energy consumption. The limitation of this work is that they have used only one UAV for the data collection operation, which can cause more time and energy consumption for the UAV. One study [17] considered trajectory optimization of UAVs to maximize the data collected with task completion deadlines, kinematic restrictions, and collision escape mechanisms. They considered source-to-destination-based data collection using UAVs. Another study [18] designed UAV path planning based on emergency demands. They examined UAV flight time and energy consumption minimization. Ghdiri et al. [19] focused on lowering energy use to gather the most data in a network of IoT devices. They considered that UAVs have sensors that enable obstacle avoidance at a specific safe distance when the UAVs fly at their top speed. In [20], The authors suggested a data collection method for WSNs that can tolerate delays. They used a UAV, which was self-trained, to gather data from sensors within a time frame. The goal of this work was data-collection-time minimization and finding the optimal route in an obstacle-containing system. Wu et al. [21] focused on minimizing the task-termination time of a UAV while keeping in mind the sensor’s communication link limits and avoiding obstacles in the system. However, this work did not analyze the UAV data collection trajectories, supporting a large and widely distributed ground sensor. Although the above studies considered UAV-aided data collection and obstacle avoidance, they did not consider the UAV path as a Hamiltonian cycle. On the other hand, in the proposed OADC scheme, after finishing a data collection tour, The UAV battery was fully recharged from the sink, which is a Hamiltonian tour that prepares the UAV for the next tour.
UAV obstacle avoidance without considering data collection: Several studies in different fields from WSN that used UAVs considered an obstacle in the path of UAVs in their environment. For instance, one study [22] considered an algorithm called rapidly exploring random trees (RRTs) for planning the path with the kinematic constraints of UAVs. They focused on finding the optimal routes for the UAV from starting points to destination points while encountering consistent and moving obstacles. Huan et al. [23] focused on UAV route planning to avoid obstacles from the source to the goal position. The authors developed a method where a graph with elliptic tangents is used that ensures obstacle avoidance. The study presented in [24] proposed collision-idle optimal or quasi-optimal paths for UAVs in a 3D urban area, considering the obstacles and focusing on time complexity reduction. In [25], The authors focused on various task allocation and trajectory planning procedures for multiple UAVs while avoiding obstacles and arriving at the targets. The work in [26] focused on finding the flying paths for UAVs with obstacle avoidance using an enhanced RRT algorithm. In their proposed approach, all the UAVs reached their destinations at the same time. Furthermore, the authors of [27] designed the UAV path for two modes: with and without obstacles. A modified Grossberg neural network (GNN)-based algorithm was developed to detect where there are obstacles and avoid them. The other mode depends on the optimal formulation. However, their considered scenario was much different from the OADC scheme, and they considered the UAV path without any cycle.
In contrast, in the proposed work, each UAV trajectory is a TSP tour where data are delivered to the base station (BS) within a given flight time in an obstacle-contained environment. In each TSP tour, The sub-tour between every two sensors is the shortest path between them while avoiding the obstacles. Furthermore, this paper considers multiple UAVs to ensure fast data delivery to the BS because using only one UAV to collect data from a large area can be time-consuming, and the UAV needs more energy to collect more data. Moreover, to the best of the authors’ knowledge, no previous study examined multiple UAVs that collect data from various groups of sensors while avoiding numerous obstacles, whereas the UAV sensor visiting order (UAV trajectory or path) is a Hamiltonian cycle.

3. System Model and Problem Formulation

This section presents the proposed system model and the problem formulation.

3.1. System Model

This study considered a WSN with N ( N = { 0 , 1 , . . . , n } ) sensors, where 0 represents the “BS (or sink)”. Sensor nodes are deployed in a square area at random places; the positions of the sensors are known a priori. Each sensor periodically generates data and stores them in its buffer until a UAV visits and collects it. Let M ( M = { 1 , 2 , . . . , c } ) be the set of UAVs in the network that collect data from the sensors. Each UAV is associated with the velocity v m and the flight time f m , in which a UAV needs to finish data collection from all the sensors assigned to it and come back to The BS.
In addition, assume that O ( O = { 1 , 2 , . . . , s } ) is the set of obstacles in the environment and the positions of the obstacles are known. If an obstacle is in the path of a UAV, i.e., between any two sensors that the UAV has to visit serially for data collection, it needs to take a detour to avoid the obstacle and reach the next sensor on The path.
 Definition 1. 
Obstacle-constrained distance minimization (OCDM): Assume that N is divided into c + 1 subsets, i.e.,  N 0 , N 1 , N 2 , , N c , where N 0 = { 0 } , N 1 N 2 N c = 0 and N 1 N 2 N c = N . Given c + 1 subsets of sensors, M UAVs, and O , find the UAV trajectories that minimize the total traveling distance of all UAVs. Each UAV needs to finish the tour of data collection before a given flight time f m while avoiding all the obstacles in its path.

3.2. Problem Formulation

An integer linear programming (ILP) optimization problem formulation is presented in this subsection.
Let us denote D i j and E i j as the traveling distances from sensor i to sensor j without and with an obstacle between the two sensors, respectively. To incorporate the obstacles into the problem formulation, a sensor–obstacle relationship matrix R is defined to describe the relationship between sensors and obstacles. That is,
R ( i , j ) = 1 , if there is an obstacle between the sensor i and j . 0 , otherwise
A binary decision variable w i j m is defined whose value is one when arc ( i , j ) is on the paths of the UAV m, m M , and otherwise zero:
w i j m = 1 , if arc ( i , j ) is on the path of UAV m ; i , j N , m M . 0 , otherwise
Table 1 lists the definitions for the rest of the symbols used in the problem formulation.
Therefore, The ILP OCDM problem can be formulated as follows:
minimize m M i N j N , j i ( D i j ( 1 R ( i , j ) ) + E i j R ( i , j ) ) w i j m
Subject to:
m M i N , i j w i j m = 1 , m M , j = 1 , , n
m M j N , j i w i j m = 1 , m M , i = 1 , , n
j N , j 0 w 0 j m = 1 , m M
i N , i 0 w i 0 m = 1 , m M
i N m j N \ N m N 0 w i j m = 0 , m M
i N j N , j i ( D i j v m ( 1 R ( i , j ) ) + E i j v m R ( i , j ) ) w i j m f m , m M
u 0 m = 1 , m M
u i m u j m + 1 ( | N m | 1 ) ( 1 w i j m ) , m M ; i , j N m \ { 0 }
Equation (3) represents the objective function of the OCDM problem, where the total traveling distance of all UAVs is minimized considering obstacles in the environment. Constraints (4) and (5) ensure that each sensor in N is visited exactly once by only one UAV except the BS. Equation (6) ensures sure that UAV m starts its journey from the BS to any other sensor j, and Equation (7) assures that UAV m returns to the BS from exactly one sensor i, so i N , i 0 w i 0 m = 1 . Constraint (8) ensures that UAVs do not travel among two nodes in N , which belong to two different groups or subsets. Equation (9) represents the UAV flight-time constraint, which assures that each UAV m will finish its tour within a given flight time f m . Equations (10) and (11) eliminate the sub-tour in the path of each UAV while visiting the sensor nodes, avoiding the obstacles in each group N m .
Since the multiple traveling salesman (mTSP) problem, which is NP-hard, is polynomial time-reducible to OCDM, OCDM is an NP-hard problem.
 Proposition 1. 
OCDM is NP-hard.
 Proof. 
It can be shown that an mTSP [28] is polynomial-time reducible to OCDM, i.e., mTSP p OCDM. Assume an mTSP instance with a set of n “cities” k 1 , , k n , c number of salesmen, a distance d ( i , j ) between each pair of cities i and j ( 1 i , j n ) , and an integer L. The corresponding OCDM instance has n sensor nodes, c UAVs, and assume that there are no obstacles between any two sensors. Each sensor node and UAV in the OCDM instance correspond to a city and a salesman in the mTSP instance, respectively, and the distance between two sensor nodes i and j is the same as d ( i , j ) . Then, it is clear that if the mTSP instance has c tours with a total tour length L, the total path length of the OCDM becomes L with c paths. Conversely, if the total length of c paths is L in OCDM, the total tour length of c tours becomes L in the mTSP. Since mTSP is an NP-Hard problem (mTSP is a generalization of the TSP, which is a well-known NP-Hard problem [29]), so is the OCDM.    □

4. Algorithms

In this section, to solve the OCDM problem, first, each obstacle in the environment is converted to a convex polygon with the shortest traveling distance by applying the vector rotation angle-based obstacle avoidance (VRAOA) algorithm. The convex polygon with the shortest traveling distance contains the points that make the shortest tour around an obstacle. Then, an algorithm for UAV path planning while avoiding obstacles is proposed, namely, a genetic algorithm (GA) with VRAOA (GA w/VRAOA). In GA w/VRAOA, two different strategies are used to find the paths of the UAVs. The sensor visiting order (in which order the sensors will be visited by a UAV for data collection) of UAVs is obtained using the GA, and the path between any two sensors is obtained using the Dijkstra algorithm [30] together with the VRAOA algorithm when there is an obstacle.
First, The VRAOA algorithm is explained with the aid of the graphical representation shown in Figure 1 and Figure 2 . The GA w/VRAOA framework is then described in detail.

4.1. Obstacle Avoidance Algorithm (VRAOA)

In the proposed OADC scheme, The vector rotation angle-based obstacle avoidance (VRAOA) algorithm is applied to determine the detour points. The input and output of VRAOA are the shape of the obstacle and a convex polygon, respectively, as shown in Figure 3. Algorithm 1 shows the pseudo-code of the VRAOA, which is explained using a graph representation and a vector representation shown in Figure 1 and Figure 2, respectively.
Assume an arbitrary obstacle shape ABCDEFGHIJKLMNA shown in Figure 1. In this graph, The coordinates are A, B, C, D, E, F, G, H, I, J, K, L, M, and N. The edges on the boundary are A–B, B–C, C–D, D–E, E–F, F–G, G–H, H–I, I–J, J–K, K–L, L–M, M–N, and N–A. Consider that the set E contains all the edges, and the set C contains all the coordinates which connect the edges. First, a starting point and an ending point P s is selected from C, which has the minimum coordinate value on the y-axis (line 1, Algorithm 1). For example, in Figure 1, The P s is the point A , which has the minimum value on the y-axis. In line 2 of Algorithm 1, P s is also set to the current visiting point P c . A unit vector u is considered for each P c . Two types of unit vectors in two cases were considered: (1) an x-axis unit vector < 1 , 0 > for when the x-axis coordinate x c of the current visiting point P c is greater than or equal to the x-axis coordinate x s of the n s ; (2) a y-axis unit vector < 0 , 1 > for when the x-axis coordinate x c of P c is smaller than x s (lines number 4–8).
Then, The vector values are calculated from the current visiting point P c to all other points in the polygon. When P c = P s , calculate the vector values for all points in C except P c (in lines 9–10). For example, in Figure 1, for point A, The vectors will be from A to points B, C, D, E, F, G, H, I, J, K, L, M, and N, which is shown in Figure 2 with the orange lines. Otherwise, in lines 11–12, The vector values for all points in C and P s are calculated except for P c . This step makes the VRAOA algorithm more efficient. The reason is as follows. There is no such possibility of visiting any previous point in C from any current visiting point P c because the right rotation angle is always considered while choosing the next visiting point. For example, in Figure 1, if L is the current visiting point, then there is no possibility of visiting any other previous point before L. In this case, only M and N can be visited to end the tour in A while considering the right rotation angle from the current visiting point L.
Subsequently, in line 15, for each current visiting point P c , calculate the rotation angles θ i between the unit vector considered for P c and the other vectors v i for all i in C. However, The equation used in line 15 to calculate the right rotation angles is not always correct. Recall that in VRAOA, The right-direction rotation angle from a unit vector is always considered for each current point. To have an accurate rotation angle, if the unit vector is in the y-axis direction and the x-axis vector value of the other vector is greater than or equal to zero, then the angle found from the equation should be subtracted from 360 . Similarly, when the unit vector is in the x-axis direction and the y-axis vector value of the other vector is less than zero, then to find the actual rotation angle, The angle obtained from the equation should be subtracted from 360 . Otherwise, The angle calculated from the equation in line 15 is the correct rotation angle (line numbers 16–22).
Finally, for each current visiting point P c , select the next point with the smallest angle and update P c (line numbers 23–24). The polygon is complete when P c returns to P s , as shown in Figure 1. The final polygon around the obstacle ABCDEFGHIJKLMNA (blue line) is ABDHJLNA (orange line).
Algorithm 1 Vector rotation angle-based obstacle avoidance (VRAOA) algorithm
Input: the coordinate and edge sets C and E
Output: A convex polygon
1:
select starting and ending point P s
2:
set current visiting point P c = P s .
3:
for each P c in C do
4:
    if  x c < x s then                    ▹ x c : x-axis coordinates of P c , x s : x-axis coordinates of P s .
5:
         u = < 0 , 1 >                     ▹ u : a unit vector which is in the direction of y-axis.
6:
    else
7:
         u = < 1 , 0 >                     ▹ u : a unit vector which is in the direction of x-axis.
8:
    end if
9:
    if  P c = P s  then
10:
         calculate vector v i from P c for all i in C except P c .                     ▹ Vector value v i = < v i x , v i y > , Where v i x = x i x c and v i y = y i y c . Here ( x c , y c ) and ( x i , y i ) is the coordinates of P c and any other point, respectively.
11:
    else
12:
        calculate vector v i from P c to all the other points in C and P s except P c and the previously visited points in the polygon.
13:
    end if
14:
    for each i in C do
15:
        Calculate the rotation angle θ i from u to other vectors v i . Rotation angle θ i = c o s 1 ( u · v i | u | + | v i | )                     ▹ Vector values of u and v i are < u x , u y > and < v i x , v i y > , respectively. Vector dot product, u · v i = ( u x v i x + u y v i y ) , magnitude of the vectors, | u | = u x 2 + u y 2 and | v i | = v i x 2 + v i y 2 , respectively.
16:
        if  u = < 0 , 1 > and v i x 0  then
17:
            θ i = 360 θ i
18:
        else if  u = < 1 , 0 > and v i y < 0  then
19:
            θ i = 360 θ i
20:
        else
21:
            θ i = θ
22:
        end if
23:
    end for
24:
    Choose the smallest θ i among all i.
25:
    Update the current visiting point P c with the point that has the smallest θ i .
26:
    If the updated P c = P s , then stop the algorithm.
27:
end for

4.2. A Genetic-Algorithm-Based Path Planning with VRAOA (GA w/VRAOA)

A genetic algorithm (GA)-based [31,32] path planning algorithm with the detour point selection algorithm VRAOA (GA w/VRAOA) is designed to solve the OCDM problem. In GA w/VRAOA, first, sensors are clustered using the K-means algorithm, where the number of clusters is the same as the number of UAVs; i.e., a UAV is assigned to a cluster of the sensor. Then, for each UAV, The near-optimal trajectory is obtained by applying a GA that uses VRAOA. GA is a meta-heuristic algorithm that consists of four main operations: population initialization, selection, crossover, and mutation.

4.2.1. Population Initialization

A population P m is the collection of chromosomes of UAV m, where a chromosome represents a possible solution. In the proposed OADC scheme, a chromosome C l m represents a possible traveling path that starts from the BS for a UAV. Each chromosome is a collection of genes, g 0 , , g i , , g B m , where i = 0 , , B m . B m is the number of sensors assigned to UAV m. Each gene, g i , represents an individual sensor, and g 0 is the BS. The initial population is generated by changing the positions of the genes randomly. Note that the position of the gene g 0 remains fixed in all chromosomes. The initial population P m can be represented as a n p o p × B m matrix, where n p o p is the number of the population and each row is an individual chromosome (i.e., row l corresponds to l t h chromosome C l m in the P m of UAV m). For example,
P m = C 1 m . . . C l m . . . C z m = g 0 g i g B m . . . g 0 g i g B m . . . g 0 g i g B m

4.2.2. Fitness Function Evaluation

The objective of the OADC scheme is to minimize the total traveling distances for multiple UAVs. In GA w/VRAOA, The fitness value for each chromosome is the total traveling distance of a UAV tour. The smallest fitness value for each chromosome illustrates the smallest distance of a tour, which also represents a good solution. At each iteration, a new chromosome is produced, and the fitness value F l for each chromosome can be represented as
F l ( C l m ) = i N j N , j i w i j m d i j
where i and j are the sensors in chromosome C l m , and 1 i and j B m . The value of w i j m is 1 when UAV m visits sensor j right after i in chromosome C l m ; otherwise, 0. Furthermore, d i j is the traveling distance from sensor i to sensor j and is calculated from the Dijkstra algorithm, which is explained below.

Calculating the Distance between Two Sensors:

In GA w/VRAOA, The Dijkstra algorithm, together with VRAOA, is used to calculate the distance between two sensors when there is an obstacle between them, as shown in Figure 4. Assume that there is an obstacle between sensors i and j, and the obstacle’s shape is converted to a convex polygon ABCDEFA using the VRAOA algorithm. Consider a graph G that has vertices i and j, and all the points in the polygon ABCDEFA, i.e., A, B, C, D, E, and F, where sensor i is the source node, and j is the destination node. The edges between the vertices of the convex polygon (A, B, C, D, E, and F) follow the shape of the polygon, as shown in the figure, i.e., A–B, B–C, C–D, D–E, E–F, and F–A. The source and destination sensor nodes i and j have edges with vertices in the sets G i ( G i G ) and G j ( G j G ) , respectively. G i and G j contain the points of a convex polygon that are directly connectable to the sensor, i and j, respectively. For example, in Figure 4, The points in G i are F, E, and D, whereas G j = { A , B } . In this graph G, applying the Dijkstra algorithm [33], The shortest path between two sensors i and j can be found. If there is no obstacle between two sensors, then graph G only contains vertices i and j with a direct edge between them, and the distance can be calculated using the Euclidean distance formula.

4.2.3. Selection, Crossover, and Mutation Operators

In GA, to produce new offspring in the next generation, a selection operator is used that selects the best individuals from the population based on the fitness value. Generally, there is an intuition that parents with good fitness values produce fitter children, and there is an opportunity to find an optimal or near-optimal solution for better-fitted children. On the other hand, chromosomes with lower fitness can also produce offspring with high fitness. Therefore, we used the roulette-wheel operator [33] to select chromosomes with a probability of P s . The best individuals are selected based on a ratio, which is the probability P s . According to this operator, The ratio of the fitness of each chromosome over the sum of the fitness of all chromosomes in the population P m is calculated for each generation, which can be presented as
P s ( C l m ) = F l ( C l m ) l P m F l ( C l m )
Here, F l ( C l m ) is the fitness value of chromosome C l m , and the sum of the fitness value of all chromosome is l P m F l ( C l m ) .
The crossover operation involves mating the chosen parents to produce a new generation of offspring, each of whom carries genes from both parents. The order-based crossover operator (OX2) [34] has been selected in the GA w/VRAOA algorithm. In OX2, random portions (a random number of genes) from the first parent are selected, and the selected portions are set to empty. Then, the empty spaces are filled with the ordered list of the second parent without duplication of the genes. In a similar manner, we swap the first parent’s and the second parent’s roles by using similar placements. For example, consider two candidate solutions (chromosomes) C a = [ 0 , 1 , 2 , 3 , 4 , 5 ] and C b = [ 0 , 4 , 5 , 3 , 2 , 1 ] with five sensors and a sink (0). In the OX2 operation, random several positions in C a are selected. Suppose positions three, four, and five are selected. Then, the selected positions are set to empty, i.e.,  [ 0 , 1 , , , , 5 ] . Finally, fills up the empty positions with the sensors in the same order as in C b , i.e.,  [ 0 , 1 , 4 , 3 , 2 , 5 ] .
The mutation operator in the GA brings diversity to the population and is essential for the convergence of the GA. We used a swap mutation operator [35], which is performed between random genes in the crossed-overed chromosomes for balancing the exploration and exploitation in the search space. The crossover and mutation operations occur once every generation with a certain probability. These operations repeat until the new offspring meets all the constraint requirements and reaches a predetermined number of iterations [36]. The crossover and mutation probabilities have been selected after various trials to provide the optimal solutions for the problem and avoid the premature convergence of The algorithm.
Algorithm 2 presents the pseudo-code of the GA w/VRAOA. The sensors in the environment are clustered into a number of groups, c, using the K-means algorithm (line number 1), where each cluster is assigned to a UAV. Then, in line numbers 2–15, for each UAV or cluster, The initial population is created, genetic operations (selection, crossover, and mutation) are performed, and the path for each UAV is obtained.
Algorithm 2 A genetic-algorithm-based path planning with VRAOA (GA w/VRAOA)
Input: Set of sensor nodes for m clusters.
Output: Set of tours for m UAVs with minimum traveling distances.
1:
apply K-means clustering algorithm to the senor node and made c clusters for c UAVs
2:
Set total number of chromosomes n p o p , crossover probability P c r , mutation probability P m u , selection probability P s , generation g 0 , g m a x .
3:
for each cluster m do                                               ▹m is the number of clusters
4:
    Randomly generate initial population.
5:
    Evaluate fitness for each chromosomes.
6:
    while  g m a x g  do
7:
         Select best fitted chromosomes with a probability P s .
8:
         Generate new chromosomes using the crossover and mutation operators with the probability of P c r and P m u .
9:
         If any constraint is violated, repeat line number 8 for a given number of times.
10:
        Evaluate the new fitness values for the new chromosomes.
11:
        Replace the worst chromosomes with the best new generated chromosomes in the population.
12:
         g g + 1
13:
    end while
14:
    return the best chromosome (tour) with minimum traveling distance.
15:
end for

5. Performance Evaluation

The performance of the GA w/VRAOA is evaluated by conducting simulations with different parameters and comparing them with multiple algorithms.
In this section, we first present the experimental settings and performance metrics. Then, descriptions of the compared algorithms and the UAV trajectories obtained by the proposed algorithm are presented. Finally, the performance results under different scenarios are explained in detail.

5.1. Experimental Settings

The simulations are performed over a 10 × 10 km2 square area, where sensors and obstacles are placed randomly, and the position of the base station (BS) is at (0,0). Obstacles are selected randomly from a pool of obstacles and deployed in the system, so they do not override each other. The sizes of obstacles is considered from a range of 1 to 2 km2. A UAV spends two seconds and consumes 10 watts [37] of power on receiving data, whereas the moving power consumption of the UAV is 3500 watts [37]. The total energy consumption of UAVs in the OADC scheme is the sum of the energy consumed for receiving the data and traveling to the sensors. For simplicity, it is assumed that each UAV finishes the data collection tour within 25 min with a velocity of 105 km h 1 . The experimental parameters are shown in Table 2.
The simulations have been conducted on a Python platform equipped with an Intel® Core™ i9-10900 CPU at 2.80 GHz with 64.0 GB of RAM. Simulations with five different seed values are conducted and averaged to provide fair results. Three performance metrics are considered for evaluating the results:
  • Total energy consumption of UAVs ( K J ) : the total energy consumption of each U A V m is the sum of the UAV’s traveling energy consumption E t m and data reception energy consumption E r m .
    E = m = 1 M ( E t m + E r m )
    where
    E t m = P t × T t m
    and
    E t r = P r × R t
    P t is the power consumed by a UAV for traveling, and T t m = D v m . D is the total traveling distance of the UAV data collection tour, and v m is the UAV velocity. P r is the power consumed by the UAV while receiving the data, and R t is the data reception time of the UAV.
  • Average data delivery latency ( s ) : The average value over the total time needed by all UAVs to collect data from all the sensors and deliver the collected data to the base station (BS) is the average data delivery latency ( L a v g ) in the proposed OADC scheme. Average data delivery latency L a v g is represented as
    L a v g = T c
    where T is the total time needed to deliver the data to the BS by the UAVs, and c is the number of UAVs.
  • Energy consumption gap among UAVs ( K J ) : A statistic that expresses how far apart the UAVs’ energy consumption levels are from one another, which expresses how much UAV energy consumption is balanced. The energy consumption gap V is represented as
    V = ( X i X ¯ ) 2 n
    where X i is the value of UAV energy consumption, X ¯ is the mean of the energy consumption of all UAVs, and n is the number of UAVs.

5.2. Description of the Compared Algorithms

The GA w/VRAOA algorithm was compared with five other baseline algorithms, which is described below.

5.2.1. Genetic Algorithm with COA (GA w/COA)

For GA w/COA, a circle-based obstacle avoidance (COA) algorithm has been developed to find the possible detour points. An arc-based distance calculation (ADC) algorithm that uses COA is designed to find the shortest path between two sensors if they have obstacles. The trajectories of the UAVs are obtained by applying the GA. In this subsection, first, the COA algorithm is explained, and then the GA w/COA is described using the ADC algorithm.

Circle-Based Obstacle Avoidance Algorithm (COA)

Given the connected edges of a polygon-shaped obstacle in a set E and all coordinates which connect the edges in a set C , the steps of COA are given below.
  • First, select two coordinates A ( x m i n , y m i n ) and B ( x m a x , y m a x ) , where x m i n , y m i n , x m a x , and y m a x are the minimum value in the x-axis, the minimum value in the y-axis, the maximum value in the x-axis, and the maximum value in the y-axis, respectively, in C .
  • Then, from these two points, calculate a midpoint M, where M = ( x m i n + x m a x 2 , y m i n + y m a x 2 ) . Calculate the euclidean distances from M to all other points in C , and from those distances, take the maximum distance as the radius r.
  • Finally, using M as the origin and the radius r, make a circle.
Figure 5 shows the sample inputs and outputs of the COA algorithm.

GA w/COA

The genetic algorithm with COA (GA w/COA) is similar to the GA w/VRAOA, which is described in the algorithm section. The only difference is in how the fitness value is obtained. In GA w/COA, the traveling distance d i j between the sensors i and j is determined by the arc-based distance calculation (ADC) algorithm when there is an obstacle between sensor i and j. Otherwise, d i j is the Euclidean distance from sensor i to sensor j. The ADC algorithm is explained below.
Arc-based distance calculation (ADC) algorithm for calculating the distance between two sensors: Arc-based distance calculation (ADC) uses COA to obtain the detour path of a UAV if an obstacle exists in the path from sensor i to j. The input of the ADC is as follows: origin O and radius r from COA, the source sensor node S (sensor i), and destination sensor node D (sensor j). The output of ADC is the path from S to D, which ensures that the UAV avoids the obstacle between two sensors, S and D. Figure 6 shows the output path for the ADC algorithm, where the path starts from i to j by visiting the arc L. Here, the arc L starts at point P s and ends at point P d . The steps of the ADC algorithm, according to Figure 6, are given below:
  • At first, consider a unit vector, u = < 1 , 0 > , from origin O. Calculate the angle from u to vector O S according to the equation θ = c o s 1 ( u · O S | u | + | O S | ) ; θ is in degrees. Here, O S is a vector from the origin O to the source–sensor–node S. Consider the coordinates of O and S are ( O x , O y ) and ( S x , S y ) , respectively. In this case, if O y S y , the actual angle will be P θ 1 = θ ; otherwise, P θ 1 = θ . From this P θ 1 , find the nearest point P s ( x , y ) in the circle from S, where x and y are determined from the equations: x = O x + ( r × c o s ( P θ 1 × ( Π / 180 ) ) ) and y = O y + ( r × s i n ( P θ 1 × ( Π / 180 ) ) ) , respectively.
  • Similarly, the other nearest point P d in the circle is obtained using two vectors ( u , O D ) . Here, O D is a vector from the origin O to destination–sensor–node D, and u is the unit vector. In Figure 6, P s and P d , are the two nearest points in the arc from S and D, respectively. The arc angle θ a = | P θ 1 | + | P θ 2 | in the origin (O) of the circle is calculated, where | P θ 1 | and | P θ 2 | are the positive angles from unit vector u to S and D, respectively. Generally, the total angle in an origin of a circle is 360 , and the remaining arc angle of the circle is θ r = ( 360 θ a ) . From the two arc angles, choose the smallest arc angle for planning the path; i.e., θ s = m i n ( θ a , θ r ) .
  • Then, calculate the smallest arc distance L a between P s and P d , where L a = ( Π × r × ( θ s / 180 ) ) .
  • Finally, the path from S to D, considering the arc, is found with the traveling distance, T d = S P s + L a + P d D . Here, S P s and P d D are the Euclidean distances from S to P s and P d to D, respectively, where L a is the smallest arc distance from P s to P d .

5.2.2. Greedy with VRAOA (Greedy w/VRAOA)

A greedy approach is proposed for UAV trajectory planning with a fitness function, F ( i , j ) = D i j . Here, D i j is the traveling distance from sensor i to j; i , j N . In Greedy w/VRAOA, for each group of sensors, at each step, the path with the smallest D i j is selected, whereas D i j is calculated from the Dijkstra algorithm together with VRAOA. Otherwise, D i j is the Euclidean distance between them. Here, the sensors are grouped using the K-means algorithm.

5.2.3. Greedy with COA (Greedy w/COA)

The greedy algorithm with COA is similar to the Greedy w/VRAOA. In the Greedy w/COA, the proposed fitness value between two sensors, i and j, is calculated from the ADC algorithm together with COA if there is an obstacle between them. Otherwise, the fitness value is calculated from the Euclidean distance formula.

5.2.4. ACO with VRAOA (ACO w/VRAOA)

The ant colony optimization (ACO) algorithm [38] is a probability-based approach where ants are randomly placed in cities. Each ant starts its tour by selecting a random city. The next city is chosen by the ant based on a pheromone, i.e., a probability, based on the length of the tour. The pheromone is updated for each visited city using the local pheromone updating rule [39]. The ant complete the tour by visiting one city after another. After each iteration, using a modified global pheromone updating rule [39], only the best ant is permitted to update the trails. The procedure continues until the algorithm has gone through the maximum iterations or the solutions have not changed in recent iterations. After finishing the tour, the ants move back to the starting city. In ACO w/VRAOA, first, we group the sensors using the K-means algorithm. Then, the ACO operation is performed for each group of sensors. We took the concept from ACO, where ants and cities are considered UAVs and sensor nodes, respectively, and the UAV starts and ends the tour to the base station. The tour lengths between two sensor nodes are calculated using the Dijkstra algorithm together with VRAOA when there is an obstacle between the sensors. Otherwise, the length between them is calculated using the Euclidean distance formula. In ACO w/VRAOA, the tour length is used while updating the pheromone for the visited sensors, where the pheromone is the reciprocal value of the tour length. Thus, the shortest edge with a large amount of pheromone is selected.

5.2.5. ACO with COA (ACO w/COA)

The ACO w/COA is similar to the ACO w/VRAOA. The only difference is that, when calculating the total tour length for each pair of sensor nodes, the distance between them is calculated using the ADC algorithm together with COA when there is an obstacle between the sensors. Otherwise, the tour length for each pair is calculated using the Euclidean distance formula.

5.3. UAVs Trajectories Obtained by Our Approach

In this subsection, the trajectories of UAVs obtained by GA with VRAOA (GA w/VRAOA) and GA with COA (GA w/COA) are presented for the proposed OADC scheme in a simple scenario.
The performance of GA w/VRAOA and GA w/COA is displayed in a 10 × 10 km 2 area in Figure 7, where six different obstacles (dark blue colored) and fifteen sensors in two different clusters (excluding BS) are considered.
For Figure 7a, the red convex polygon around each obstacle shape is generated using the VRAOA algorithm. On the other hand, for Figure 7b, the COA algorithm generated the red circle around each obstacle shape. Here, the red dot in each circle indicates the midpoint of each obstacle shape, which considers the origin, to draw the circle around the obstacle. In Figure 7a,b, the sky blue and green trajectories show the trajectories for two UAVs, which are obtained by GA w/VRAOA and GA w/COA, respectively. The UAVs’ total traveling distance results obtained by GA w/VRAOA and GA w/COA are 32.263 and 33.133 km, respectively, as shown in Table 3, indicating that the GA w/VRAOA performs better than the GA w/COA in terms of traveling distance.

5.4. Performance Evaluation by Changing the Simulation Parameters

In this subsection, we analyze the GA w/VRAOA’s performance compared with other baseline methods—i.e., GA w/COA, ACO w/VRAOA, ACO w/COA, Greedy w/VRAOA, and Greedy w/COA—using different simulation parameters, such as different numbers of sensors, UAVs, and obstacles.

5.4.1. Effects of the Different Numbers of Sensors

This study compares the performances of algorithms for different numbers of sensors, where the number of sensors varied from 20 to 100.
Figure 8a illustrates that the total energy consumption of UAVs increases consistently with the increasing number of sensors. This is because when the number of sensors increases, UAVs need to visit more places, which increases the traveling distance and energy consumption. Among all the algorithms, the GA w/VRAOA performs better for all cases. In Figure 8a, it is clear that if we consider the path planning algorithms, GA, ACO, and greedy, GA performs better than ACO and greedy with both obstacle avoidance algorithms. Considering the obstacle avoidance algorithms VRAOA and COA, VRAOA performs better than COA for all the path planning algorithms GA, ACO, and greedy. For example, the total energy consumption of UAVs with GA w/VRAOA is 6811.22 KJ when there are 60 sensors. On the other hand, in the solution obtained by other algorithms, UAVs consume more energy than GA w/VRAOA. For example, the total energy consumption of the UAVs in GA w/COA, ACO w/VRAOA, ACO w/COA, Greedy w/VRAOA, and Greedy w/COA are 7171.22, 7354.82, 8232.02, 9145.22, and 9660.02 kilojoules, respectively. Furthermore, the total energy consumption gap increases with the increasing number of sensors. For instance, when the number of sensors is 100, the energy consumption gap is the highest among all the cases of different numbers of sensors. The reason is that UAVs need to consume more energy to collect data when the pool of sensors is large.
Figure 8b shows that as the number of sensors increases, the average data delivery latency for all four algorithms increases. The reason is as follows. Each UAV needs to travel more when the number of sensors increases. In addition, the average latency gap becomes higher with the increasing number of sensors because UAVs spend more time collecting data from a larger pool of sensors. However, GA w/VRAOA performs better in all situations. For example, in GA w/VRAOA with 80 sensors, the average data delivery latency is approximately 2.92 % , 6.62 % , 8.05 % , 19.45 % , and 24.07 % lower than in GA w/COA, ACO w/VRAOA, ACO w/COA, Greedy w/VRAOA and Greedy w/COA, respectively.
Figure 8c shows the energy consumption gap (standard deviation) among UAVs, where the energy consumption between UAVs is more balanced in the case of GA w/VRAOA than in others. With an increasing number of sensors, the energy consumption gap changes when the number of obstacles is fixed. In the OADC scheme, the energy consumption of UAVs depends primarily on their travel energy consumption. Thus, the traveling energy consumption of UAVs depends on the sensor positions, obstacle positions and size, and the clustering of the sensors. Therefore, some UAVs need to travel more than others. In this case, the energy consumption between UAVs becomes unbalanced. For example, in the case of 100 sensors, the energy consumption gap trend shows higher values than other simulation values. However, in the proposed GA w/VRAOA, the energy consumption gap between UAVs is lower than in other comparing algorithms.

5.4.2. Effects of the Different Numbers of UAVs

The performance of GA w/VRAOA is analyzed for multiple UAV counts, ranging from 2 to 10. Figure 9a shows that the energy consumption of UAVs is higher with the increasing number of UAVs. When the number of UAVs increases, the total number of clusters in the environment also increases. Thus, the total traveling distance of all UAVs increases because each UAV starts and ends the tour to the BS, whereas the BS can be far away from the sensors. Among all the algorithms, the GA w/VRAOA consumes less energy than the others. For example, in the case of eight UAVs, GA w/VRAOA uses 3.68 % , 4.89 % , 10.00 % , 19.48 % , and 26.19 % less energy than GA w/COA, ACO w/VRAOA, ACO w/COA, Greedy w/VRAOA, and Greedy w/COA, respectively.
Figure 9b compares the average data delivery latency for all algorithm variants for various numbers of UAVs; the GA w/VRAOA shows better performance compared to the others. Here, the average data delivery latency decreases as the number of UAVs increases. When the number of UAVs increases, each UAV needs to travel less to collect data from the same number of sensors in the same number of obstacle-existential areas, which reduces the average data delivery latency. For instance, when there are four UAVs, the average data delivery latency of GA w/VRAOA is 475.20 s, which is lower than those of the others, whereas the values from GA w/COA, ACO w/VRAOA, ACO w/COA, Greedy w/VRAOA, and Greedy w/COA are 486.06, 512.38, 516.79, 538.51, and 568.67 s, respectively. Moreover, in Figure 9b, the average data delivery latency slope becomes moderate as the number of UAVs or clusters increases. The slope reduces gradually after four UAVs, whereas the slope is acute before four UAVs. When the number of UAVs increases (e.g., from 4 to 6, 4 to 8, or 4 to 10), the number of sensors visited by each UAV and the traveling distance between UAVs become close to each other, resulting in a moderate slope.
The energy consumption gap among UAVs is illustrated in Figure 9c, for which the number of UAVs is considered from 2 to 10. In Figure 9c, the energy consumption gap trend changes as the number of UAVs increases. The reason is that in the considered environment, there can be large-sized obstacles in some UAV paths, whereas the other UAVs may not need to avoid any obstacles or may avoid some small-sized obstacles. For this reason, some UAVs need to travel more to collect data from a given number of sensors than others, which causes some UAVs to consume more energy. However, the energy consumption gap among UAVs is lower in the case of the GA w/VRAOA among all the algorithms.

5.4.3. Effects of the Number of Obstacles

The effects of the number of obstacles for all algorithm variants are analyzed here. The considered obstacles in the environment are numbered 2, 4, 6, 8, and 10, while other simulation values are constant. Figure 10a shows that the energy consumption of UAVs increases as the number of obstacles increases. When the number of obstacles increases, UAVs need to travel more to cross the obstacles in the environment. Therefore, UAVs need more energy to collect data. For instance, when there are 10 obstacles in the environment, the total energy consumption levels for UAVs with GA w/VRAOA, GA w/COA, ACO w/VRAOA, ACO w/COA, Greedy w/VRAOA, and Greedy w/COA are 14,950.82, 15,517.22, 15,774.02, 16,273.22, 16,514.42, and 16,954.82 KJ, respectively. Furthermore, in all cases, the GA w/VRAOA outperformed the other algorithms.
In Figure 10b, the average data delivery latency is presented. The average data delivery latency becomes higher as the number of obstacles increases. If there are more obstacles in the UAVs’ trajectory, then the UAVs need to spend more time on data collection. Thus, the average data delivery latency increases as the number of obstacles increases. Furthermore, the GA w/VRAOA performs better than all algorithm variants. For example, in the case of eight obstacles, GA w/VRAOA requires 4.08 % , 5.33 % , 7.09 % , 11.55 % , and 19.88 % less average data delivery latency than GA w/COA, ACO w/VRAOA, ACO w/COA, Greedy w/VRAOA, and Greedy w/COA, respectively.
Figure 10c illustrates the energy consumption gaps among UAVs for a given number of obstacles, for the different algorithms. In the proposed OADC scheme, the size and shape of the obstacles can be very different, and the number of obstacles UAVs encounter also differs. Therefore, it is expected that the traveling distance and energy consumption of UAVs differ from each other, and the energy consumption gap among them increases, which can be seen in Figure 10c. The energy gap is lowest and highest when the number of obstacles is two or ten, respectively. For instance, in the case of GA w/VRAOA, when the number of obstacles is 2, the energy consumption gaps among UAVs are about 17.20 % , 18.17 % , 31.89 % , and 39.90 % lower than when the number of obstacles is 4, 6, 8, and 10, respectively. In addition, in the case of GA w/VRAOA, UAVs travel less than with the GA w/COA, which causes less energy consumption of the UAVs for GA w/VRAOA. Furthermore, in Figure 10c, the energy consumption gap between the greedy (Greedy w/VRAOA, Greedy w/COA), ACO (ACO w/VRAOA, ACO w/COA) and GA (GA w/VRAOA, GA w/COA) becomes higher as the number of obstacles increases. When the number of obstacles increases, the solution space for the problem also increases. The greedy method choose the local optimal solution at each step based on the current knowledge, which caused it to fall into a sub-optimal solution. On the other hand, algorithm variants based on GA obtain better solutions, as GA uses genetic operators (selection, crossover, and mutation) that mitigate the influence of the sub-optimal issue. Among the GA with VRAOA and COA, the GA w/VRAOA performs better. This is because the GA w/VRAOA selects the detour points by making a convex polygon around the obstacle and finds the shortest path among the detour points using the Dijkstra algorithm. On the other hand, the GA w/COA selects the route by making a circle around the obstacle based on an arc-based ADC algorithm, which leads to a longer traveling distance than GA w/VRAOA. Furthermore, the ACO combinations (ACO w/VRAOA and ACO w/COA) perform in the middle of GA and greedy algorithm variants by using the probabilistic technique.

6. Concluding Remarks

This study evaluated an obstacle-avoidance data collection (OADC) scheme, where multiple UAVs are appointed to collect data from the sensors. An optimization problem called obstacle-constrained distance minimization (OCDM) is formulated as an ILP problem. The problem aims to find the trajectories for UAVs that minimize the total traveling distances of UAVs in an obstacle-constrained environment, ensuring obstacle avoidance in their traveling paths. A possible detour-points-selection algorithm named VRAOA is proposed for when there is an obstacle in the path, which makes a convex polygon around each obstacle select the possible points for detouring. Then, the UAV trajectories are planned using a genetic algorithm with VRAOA (GA w/VRAOA) that ensures the UAVs’ obstacle avoidance with the convex polygons generated by the VRAOA algorithm. To the best of our knowledge, the proposed OADC scheme is much different from existing method, which do not consider that a UAV’s path is a Hamiltonian path, and there are also obstacles in the path. In our work, five baseline algorithms are also developed: GA w/COA, ACO w/VRAOA, ACO w/COA, Greedy w/VRAOA, and Greedy w/COA. Simulations are performed in different scenarios to show the effects of different parameters in the presence of obstacles in the environment and to analyze the performance of the proposed method GA w/VRAOA compared to other baseline algorithms under various scenarios. The simulation results show that the trajectory length of a UAV changes depending on the number of obstacles in its path; hence, the energy consumption of the UAV and data delivery latency also change. Therefore, the number of sensors a UAV can visit within the given flight time and the number of UAVs needed to visit all the sensors in the environment will vary depending on the number of obstacles. Furthermore, when the numbers of sensors and UAVs increase, the total energy consumption of UAVs tends to increase, whereas the average data delivery latency increases for an increasing number of sensors and decreases with an increment in the number of UAVs. Moreover, the GA w/VRAOA can achieve a lower traveling distance of UAVs while gathering data with obstacle avoidance compared to other baseline methods.
For future work, we plan to consider a machine-learning-based approach, i.e., a reinforcement learning-based method, expecting further minimization of the energy consumption of UAVs. We also plan to take 3D modeling of the obstacles and deadline for the data delivery of the sensors into account.

Author Contributions

Conceptualization, S.R., S.A. and S.Y.; methodology, S.R., S.A. and S.Y.; software, S.R.; validation, S.R.; formal analysis, S.R., S.A. and S.Y.; investigation, S.R., S.A. and S.Y.; resources, S.R., S.A. and S.Y.; data curation, S.R., S.A. and S.Y.; writing—original draft preparation, S.R., S.A. and S.Y.; writing—review and editing, S.R., S.A. and S.Y.; visualization, S.R., S.A. and S.Y.; supervision, S.Y.; project administration, S.Y.; funding acquisition, S.Y. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education under grant 2021R1I1A3051364.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Yick, J.; Mukherjee, B.; Ghosal, D. Wireless sensor network survey. Comput. Netw. 2008, 52, 2292–2330. [Google Scholar] [CrossRef]
  2. Nazib, R.A.; Moh, S. Energy-efficient and fast data collection in UAV-aided wireless sensor networks for hilly terrains. IEEE Access 2021, 9, 23168–23190. [Google Scholar] [CrossRef]
  3. Gomez, C.; Paradells, J. Urban automation networks: Current and emerging solutions for sensed data collection and actuation in smart cities. Sensors 2015, 15, 22874–22898. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  4. Wu, X.; Chen, G.; Das, S.K. Avoiding energy holes in wireless sensor networks with nonuniform node distribution. IEEE Trans. Parallel Distrib. Syst. 2008, 19, 710–720. [Google Scholar]
  5. Mahmood, M.A.; Seah, W.K.; Welch, I. Reliability in wireless sensor networks: A survey and challenges ahead. Comput. Netw. 2015, 79, 166–187. [Google Scholar] [CrossRef]
  6. Chen, J.; Yan, F.; Mao, S.; Shen, F.; Xia, W.; Wu, Y.; Shen, L. Efficient data collection in large-scale UAV-aided wireless sensor networks. In Proceedings of the 2019 11th International Conference on Wireless Communications and Signal Processing (WCSP), Xi’an, China, 23–25 October 2019; pp. 1–5. [Google Scholar]
  7. McArthur, D.R.; Chowdhury, A.B.; Cappelleri, D.J. Autonomous control of the interacting-boomcopter UAV for remote sensor mounting. In Proceedings of the 2018 IEEE International Conference on Robotics and Automation (ICRA), Brisbane, Australia, 21–25 May 2018; pp. 5219–5224. [Google Scholar]
  8. Say, S.; Inata, H.; Liu, J.; Shimamoto, S. Priority-based data gathering framework in UAV-assisted wireless sensor networks. IEEE Sensors J. 2016, 16, 5785–5794. [Google Scholar] [CrossRef]
  9. Samir, M.; Sharafeddine, S.; Assi, C.M.; Nguyen, T.M.; Ghrayeb, A. UAV trajectory planning for data collection from time-constrained IoT devices. IEEE Trans. Wirel. Commun. 2019, 19, 34–46. [Google Scholar] [CrossRef]
  10. Ebrahimi, D.; Sharafeddine, S.; Ho, P.H.; Assi, C. UAV-aided projection-based compressive data gathering in wireless sensor networks. IEEE Internet Things J. 2018, 6, 1893–1905. [Google Scholar] [CrossRef]
  11. Dong, M.; Ota, K.; Lin, M.; Tang, Z.; Du, S.; Zhu, H. UAV-assisted data gathering in wireless sensor networks. J. Supercomput. 2014, 70, 1142–1155. [Google Scholar] [CrossRef]
  12. Cao, H.; Liu, Y.; Yue, X.; Zhu, W. Cloud-assisted UAV data collection for multiple emerging events in distributed WSNs. Sensors 2017, 17, 1818. [Google Scholar] [CrossRef]
  13. Alfattani, S.; Jaafar, W.; Yanikomeroglu, H.; Yongacoglu, A. Multi-UAV data collection framework for wireless sensor networks. In Proceedings of the 2019 IEEE Global Communications Conference (GLOBECOM), Waikoloa, HI, USA, 9–13 December 2019; pp. 1–6. [Google Scholar]
  14. Binol, H.; Bulut, E.; Akkaya, K.; Guvenc, I. Time optimal multi-UAV path planning for gathering its data from roadside units. In Proceedings of the 2018 IEEE 88th Vehicular Technology Conference (VTC-Fall), Chicago, IL, USA, 27–30 August 2018; pp. 1–5. [Google Scholar]
  15. Saxena, K.; Gupta, N.; Gupta, J.; Sharma, D.K.; Dev, K. Trajectory optimization for the UAV assisted data collection in wireless sensor networks. Wirel. Netw. 2022, 28, 1785–1796. [Google Scholar] [CrossRef]
  16. Pravija Raj, P.; Khedr, A.M.; Al Aghbari, Z. EDGO: UAV-based effective data gathering scheme for wireless sensor networks with obstacles. Wirel. Netw. 2022, 28, 2499–2518. [Google Scholar] [CrossRef]
  17. Wang, X.; Gursoy, M.C.; Erpek, T.; Sagduyu, Y.E. Learning-Based UAV Path Planning for Data Collection with Integrated Collision Avoidance. IEEE Internet Things J. 2022, 9, 16663–16676. [Google Scholar] [CrossRef]
  18. Poudel, S.; Moh, S. Hybrid path planning for efficient data collection in UAV-aided WSNs for emergency applications. Sensors 2021, 21, 2839. [Google Scholar] [CrossRef]
  19. Ghdiri, O.; Jaafar, W.; Alfattani, S.; Abderrazak, J.B.; Yanikomeroglu, H. Offline and online UAV-enabled data collection in time-constrained IoT networks. IEEE Trans. Green Commun. Netw. 2021, 5, 1918–1933. [Google Scholar] [CrossRef]
  20. Bouhamed, O.; Ghazzai, H.; Besbes, H.; Massoud, Y. A UAV-assisted data collection for wireless sensor networks: Autonomous navigation and scheduling. IEEE Access 2020, 8, 110446–110460. [Google Scholar] [CrossRef]
  21. Wu, B.; Guo, D.; Zhang, B.; Zhang, X.; Wang, H.; Wang, H.; Jiang, H. Completion time minimization for UAV enabled data collection with communication link constrained. IET Commun. 2022, 16, 1025–1040. [Google Scholar] [CrossRef]
  22. Kothari, M.; Postlethwaite, I.; Gu, D.W. Multi-UAV path planning in obstacle rich environments using rapidly-exploring random trees. In Proceedings of the 48h IEEE Conference on Decision and Control (CDC) Held Jointly with 2009 28th Chinese Control Conference, Shanghai, China, 15–18 December 2009; pp. 3069–3074. [Google Scholar]
  23. Liu, H.; Li, X.; Fan, M.; Wu, G.; Pedrycz, W.; Suganthan, P.N. An autonomous path planning method for unmanned aerial vehicle based on a tangent intersection and target guidance strategy. IEEE Trans. Intell. Transp. Syst. 2020, 23, 3061–3073. [Google Scholar] [CrossRef]
  24. Majeed, A.; Hwang, S.O. Path planning method for UAVs based on constrained polygonal space and an extremely sparse waypoint graph. Appl. Sci. 2021, 11, 5340. [Google Scholar] [CrossRef]
  25. Bellingham, J.; Tillerson, M.; Richards, A.; How, J.P. Multi-task allocation and path planning for cooperating UAVs. In Cooperative Control: Models, Applications and Algorithms; Springer: Berlin/Heidelberg, Germany, 2003; pp. 23–41. [Google Scholar]
  26. Zhen, Z.; Gao, C.; Zheng, F.; Jiang, J. Cooperative path replanning method for multiple unmanned aerial vehicles with obstacle collision avoidance under timing constraints. Proc. Inst. Mech. Eng. Part G J. Aerosp. Eng. 2015, 229, 1813–1823. [Google Scholar] [CrossRef]
  27. Wang, X.; Yadav, V.; Balakrishnan, S. Cooperative UAV formation flying with obstacle/collision avoidance. IEEE Trans. Control. Syst. Technol. 2007, 15, 672–679. [Google Scholar] [CrossRef]
  28. Bektas, T. The multiple traveling salesman problem: An overview of formulations and solution procedures. Omega 2006, 34, 209–219. [Google Scholar] [CrossRef]
  29. Papadimitriou, C.H. The Euclidean travelling salesman problem is NP-complete. Theor. Comput. Sci. 1977, 4, 237–244. [Google Scholar] [CrossRef] [Green Version]
  30. Alyasin, A.; Abbas, E.I.; Hasan, S.D. An efficient optimal path finding for mobile robot based on dijkstra method. In Proceedings of the 2019 4th Scientific International Conference Najaf (SICN), Al-Najef, Al-Najef, Iraq, 29–30 April 2019; pp. 11–14. [Google Scholar]
  31. Mitchell, M. An Introduction to Genetic Algorithms; MIT Press: Cambridge, MA, USA, 1998; Available online: https://mitpress.mit.edu/books/introduction-genetic-algorithms (accessed on 7 November 2022).
  32. Whitley, D. A genetic algorithm tutorial. Statist. Comput. 1994, 4, 65–85. [Google Scholar] [CrossRef]
  33. Hoffman, J.R.; Wilkes, M.S.; Day, F.C.; Bell, D.S.; Higa, J.K. The roulette wheel: An aid to informed decision making. PLoS Med. 2006, 3, e137. [Google Scholar] [CrossRef] [PubMed]
  34. Umbarkar, A.J.; Sheth, P.D. Crossover operators in genetic algorithms: A review. ICTACT J. Soft Comput. 2015, 6. [Google Scholar] [CrossRef]
  35. Ryan, E.; Azad, R.; Ryan, C. On the performance of genetic operators and the random key representation. In Proceedings of the European Conference on Genetic Programming, Coimbra, Portugal, 5–7 April 2004; Springer: Berlin/Heidelberg, Germany, 2004; pp. 162–173. [Google Scholar]
  36. Akter, S.; Yoon, S. DaTask: A decomposition-based deadline-aware task assignment and workers’ path-planning in mobile crowd-sensing. IEEE Access 2020, 8, 49920–49932. [Google Scholar] [CrossRef]
  37. Wu, P.; Xiao, F.; Sha, C.; Huang, H.; Sun, L. Trajectory optimization for UAVs’ efficient charging in wireless rechargeable sensor networks. IEEE Trans. Veh. Technol. 2020, 69, 4207–4220. [Google Scholar] [CrossRef]
  38. Dorigo, M.; Birattari, M.; Stutzle, T. Ant colony optimization. IEEE Comput. Intell. Mag. 2006, 1, 28–39. [Google Scholar] [CrossRef]
  39. Dorigo, M.; Gambardella, L.M. Ant colony system: A cooperative learning approach to the traveling salesman problem. IEEE Trans. Evol. Comput. 1997, 1, 53–66. [Google Scholar] [CrossRef]
Figure 1. Graph representation for VRAOA algorithm.
Figure 1. Graph representation for VRAOA algorithm.
Applsci 12 11509 g001
Figure 2. Vector representation for point “A” of the VRAOA algorithm.
Figure 2. Vector representation for point “A” of the VRAOA algorithm.
Applsci 12 11509 g002
Figure 3. Sample inputs and outputs of VRAOA. (a) Input sample 1. (b) Output sample 1. (c) Input sample 2. (d) Output sample 2. (e) Input sample 3. (f) Output sample 3. (g) Input sample 4. (h) Output sample 4.
Figure 3. Sample inputs and outputs of VRAOA. (a) Input sample 1. (b) Output sample 1. (c) Input sample 2. (d) Output sample 2. (e) Input sample 3. (f) Output sample 3. (g) Input sample 4. (h) Output sample 4.
Applsci 12 11509 g003
Figure 4. Graph representation for the Dijkstra algorithm.
Figure 4. Graph representation for the Dijkstra algorithm.
Applsci 12 11509 g004
Figure 5. Sample inputs and outputs of COA. (a) Input sample 1. (b) Output sample 1. (c) Input sample 2. (d) Output sample 2.
Figure 5. Sample inputs and outputs of COA. (a) Input sample 1. (b) Output sample 1. (c) Input sample 2. (d) Output sample 2.
Applsci 12 11509 g005
Figure 6. Graph representation for the ADC algorithm.
Figure 6. Graph representation for the ADC algorithm.
Applsci 12 11509 g006
Figure 7. Trajectories of the UAVs. (a) Trajectory obtained by GA w/VRAOA. (b) Trajectory obtained by GA w/COA.
Figure 7. Trajectories of the UAVs. (a) Trajectory obtained by GA w/VRAOA. (b) Trajectory obtained by GA w/COA.
Applsci 12 11509 g007
Figure 8. Effects of the number of sensors: (a) effect on the total energy consumption of UAVs, (b) effect on average data the delivery latency, and (c) effect on the energy consumption gap (standard deviation) among UAVs.
Figure 8. Effects of the number of sensors: (a) effect on the total energy consumption of UAVs, (b) effect on average data the delivery latency, and (c) effect on the energy consumption gap (standard deviation) among UAVs.
Applsci 12 11509 g008
Figure 9. Effects of the number of UAVs: (a) effects on the total energy consumption of UAVs, (b) effects on average data delivery latency, and (c) effects on energy consumption gap (standard deviation) among UAVs.
Figure 9. Effects of the number of UAVs: (a) effects on the total energy consumption of UAVs, (b) effects on average data delivery latency, and (c) effects on energy consumption gap (standard deviation) among UAVs.
Applsci 12 11509 g009
Figure 10. Effects of the number of obstacles: (a) effect on total energy consumption of UAVs, (b) effect on average data delivery latency, and (c) effect on energy consumption gap (standard deviation) among UAVs.
Figure 10. Effects of the number of obstacles: (a) effect on total energy consumption of UAVs, (b) effect on average data delivery latency, and (c) effect on energy consumption gap (standard deviation) among UAVs.
Applsci 12 11509 g010
Table 1. List of notation.
Table 1. List of notation.
NotationDefinition
n number of sensors
c number of UAVs or clusters
s number of obstacles
N set of sensors, N = { 0 , 1 , , n }
M set of UAVs, M = { 0 , 1 , , c }
O set of obstacles, O = { 0 , 1 , , s }
D i j traveling distance in case of no obstacle between sensor i and j
E i j traveling distance in case of an obstacle between sensor i and j
v m velocity of UAV m
f m UAV flight time constraint
R a sensor-obstacle relationship matrix to define the relationships between sensors ( i , j ) and the obstacle among them
Table 2. Experimental parameters (underlined values are default values).
Table 2. Experimental parameters (underlined values are default values).
ParameterValue
Area size (km 2 ) 10 × 10
Number of sensors n 20 , 40 , 60 , 80 , 100
Number of UAVs c 2 , 4 , 6 , 8 , 10
Number of obstacles s 2 , 4 , 6 , 8 , 10
Velocity of the UAVs v m (km/h)105
UAV’s flight time in minutes f m (m)25
Power consumed by the UAV while traveling P t (watts)3500
Power consumed by the UAV while receiving data P r (watts)10
Data reception time of UAV in seconds R t (s)2
Table 3. Trajectory length of the UAVs.
Table 3. Trajectory length of the UAVs.
Unmanned Aerial Vehicles (UAVs)Trajectory Length (km) by GA w/VRAOATrajectory Length (km) by GA w/COA
UAV1 (Sky blue colored trajectory)18.35918.909
UAV2 (Green colored trajectory)13.90414.224
Total travel distance32.26333.133
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Rahman, S.; Akter, S.; Yoon, S. OADC: An Obstacle-Avoidance Data Collection Scheme Using Multiple Unmanned Aerial Vehicles. Appl. Sci. 2022, 12, 11509. https://doi.org/10.3390/app122211509

AMA Style

Rahman S, Akter S, Yoon S. OADC: An Obstacle-Avoidance Data Collection Scheme Using Multiple Unmanned Aerial Vehicles. Applied Sciences. 2022; 12(22):11509. https://doi.org/10.3390/app122211509

Chicago/Turabian Style

Rahman, Shakila, Shathee Akter, and Seokhoon Yoon. 2022. "OADC: An Obstacle-Avoidance Data Collection Scheme Using Multiple Unmanned Aerial Vehicles" Applied Sciences 12, no. 22: 11509. https://doi.org/10.3390/app122211509

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop