Next Article in Journal
Adaptive Relay Selection Scheme by Using Compound Channel
Previous Article in Journal
Experimental Study on Torsion Resistance of Foundation Ring Land-Based Wind Power Expanded Foundation Scale Model
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Path Planning and Real-Time Collision Avoidance Based on the Essential Visibility Graph

1
Department of Engineering, University of Campania Luigi Vanvitelli, 81031 Aversa (CE), Italy
2
Department of Science and Technology, University of Naples Parthenope, 80143 Naples, Italy
*
Author to whom correspondence should be addressed.
Appl. Sci. 2020, 10(16), 5613; https://doi.org/10.3390/app10165613
Submission received: 10 July 2020 / Revised: 31 July 2020 / Accepted: 10 August 2020 / Published: 13 August 2020
(This article belongs to the Section Aerospace Science and Engineering)

Abstract

:
This paper deals with a novel procedure to generate optimum flight paths for multiple unmanned aircraft in the presence of obstacles and/or no-fly zones. A real-time collision avoidance algorithm solving the optimization problem as a minimum cost piecewise linear path search within the so-called Essential Visibility Graph (EVG) is first developed. Then, a re-planning procedure updating the EVG over a selected prediction time interval is proposed, accounting for the presence of multiple flying vehicles or movable obstacles. The use of Dubins curves allows obtaining smooth paths, compliant with flight mechanics constraints. In view of possible future applications in hybrid scenarios where both manned and unmanned aircraft share the airspace, visual flight rules compliant with International Civil Aviation Organization (ICAO) Annex II Right of Way were implemented. An extensive campaign of numerical simulations was carried out to test the effectiveness of the proposed technique by setting different operational scenarios of increasing complexity. Results show that the algorithm is always able to identify trajectories compliant with ICAO rules for avoiding collisions and assuring a minimum safety distance as well. Furthermore, the low computational burden suggests that the proposed procedure can be considered a promising approach for real-time applications.

1. Introduction

In the last few years, improvements in technology have led to an increasing use of unmanned aerial vehicles, especially for the reduction of costs and human risks they can assure. Many researchers are currently focusing on the perspective of hybrid airspaces, in which both manned and unmanned aircraft share the environment and information, to prepare scenarios implementing effective and general purpose unmanned missions [1,2,3,4,5].
Unmanned Traffic Management (UTM) depends on the ability to ensure safe and efficient paths to every aircraft in the airspace [6]. In this context, the research on path planning becomes central, with the need for ever faster and more effective algorithms to be used in real-time applications.
Path planning has been studied using several approaches in the literature [7,8,9]. One of the most effective categories of path planning techniques is based on geometrical methods, which can be implemented in real time due to their low computational burden. The most famous approach is probably the one based on Dubins’ car [10,11,12,13,14], in which planned paths are made up as a sequence of straight lines and circular arcs.
However, pure geometrical approaches can be hardly used in the presence of obstacles without any amendment. In some cases, they are used to smooth trajectories generated with other methods, including graph based paths. Graphs are widely used in trajectory optimization thanks to their capability of discretizing and modeling the continuum by means of a certain number of nodes and arcs: probabilistic roadmaps [15,16], Voronoi diagrams [17,18,19,20], cell decomposition [21,22,23,24,25], and polynomial and spline parameterizations [26,27,28] are examples of methods based on graphs.
The Visibility Graph (VG) [29,30,31] can be a very effective approach in the case of polygonal obstacles. Several approaches based on VGs have been developed to reduce the computational burden, as the Reduced Visibility Graph (RVG) [32,33,34] and the Essential Visibility Graph (EVG) [34,35,36].
Other popular techniques in path planning make use of potential fields for both offline nominal trajectory optimization [37,38] and online collision avoidance [39,40,41]. More sophisticated approaches are specifically aircraft oriented, integrating flight dynamics constraints into the problem [42,43,44]. Trajectory optimization with constraints can be also based on nature inspired optimization techniques [45], but they are usually too burdensome to be implemented in real-time applications.
The available approaches for conflict resolution can be grouped into three different categories. Prescribed methods [46,47,48] are based on rules and protocols, and they are very effective in the case of integration in a preexisting airspace, but hardly capable of facing unexpected conditions. Optimization based methods [49,50,51,52,53,54,55] inherit several techniques from offline path planning and obstacle avoidance. Optimization makes these methods more versatile, but it increases the computational burden; for this reason, they are difficult to implement in real-time applications. Potential field based techniques [56,57,58,59,60,61] are based on the concept of considering aircraft as charged particles repelled by any other vehicle or obstacle. While the computational burden of these approaches are very low, sometimes they can result in non-feasible paths and possible deadlocks, limiting the capability to make optimal decisions independently. In the literature [62,63], some works exist that try to solve the problem of escaping from deadlocks and local minimums.
In order to optimize flight paths in real-time collision avoidance problems, in the presence of other aircraft or newly detected obstacles, this paper deals with the design of a reactive distributed guidance system. The proposed algorithm considers independent aircraft, sharing information only about position, speed, and direction within their communication/sensor range.
One of the original contributions of this work is the use of the Essential Visibility Graph (EVG). While the EVG was previously described in [34,36], in this paper, a complete proof of the optimality of the resulting path under some assumptions is presented. The EVG concept is extended in the presence of unknown or newly detected obstacles in both static and dynamic scenarios. Although the application of the velocity obstacles concept is shared with other papers [64,65,66,67,68], the applicability with obstacles of a general shape and the efficient use of the visibility graph concept coupled with Dubins’ paradigm in finding the optimum flyable path place the proposed approach a further step ahead in the field of aircraft collision avoidance algorithms; finally, the further implementation of the visual flight rules, compliant with the International Civil Aviation Organization (ICAO) Annex II Right of Way rules, makes our proposed collision avoidance strategy suitable for future applications in hybrid scenarios where both manned and unmanned aircraft share the airspace.
The article is organized as follows: In Section 2, the geometrical approach based on Dubins’ car is recalled, aimed at providing smooth trajectories compliant with the aircraft minimum turn radius constraint; in Section 3, a graph based approach based on the Essential Visibility Graph (EVG) is presented, with the proof of the optimality of the resulting path. The extension of such a method to dynamic scenarios with the implementation of the ICAO Right of Way rules is presented in Section 4. Finally, numerical results are shown and discussed in Section 5.

2. Dubins’ Path Generation in the Absence of Obstacles

Consider two points A = ( x A ; y A ) and B = ( x B ; y B ) , namely the starting and target point, and two heading angles ψ A and ψ B used to define the current starting point and the desired final direction, respectively.
To obtain a path compliant with aircraft performance limits, connecting A with B with given heading angles, the trajectory must be smooth and continuous with bounds on curvature to account for the minimum flight turning radius R m i n . The quality of the path is measured in terms of path length, in order to rate the fuel consumption.
In 2D unconstrained environments, Dubins’ algorithm [10] is able to provide optimal and smooth paths, which are composed of straight lines and circular arcs only. Optimality, in the absence of obstacles, is guaranteed under the assumption that the distance between A and B is more than 2 R m i n . Consequently the path is composed of three pieces: an arc of circumference with the radius equal to R m i n , a straight line, and another circular arc with the same radius.
The optimal path is obtained with the following geometrical construction.
  • Consider the circumferences, C A L e f t and C A R i g h t ( C B L e f t and C B R i g h t ), with radius R m i n to the left and right of the starting (final) point A (B) and having at this point a tangent described by ψ A ( ψ B ).
  • For each pair of circumferences ( C A R i g h t , C B R i g h t ), ( C A R i g h t , C B L e f t ), ( C A L e f t , C B L e f t ), and ( C A L e f t , C B R i g h t ), four common tangents can be used to connect one circumference to the other, but only one is compatible with the starting direction ψ A and the final direction ψ B .
  • Along the above tangents compatible with ψ A and ψ B , four feasible paths can be computed, namely RSR (Right Straight Right) for ( C A R i g h t , C B R i g h t ) , RSL (Right Straight Left) for ( C A R i g h t , C B L e f t ) , LSL (Left Straight left) for ( C A L e f t , C B L e f t ) , and LSR (Left Straight Right) for ( C A L e f t , C B R i g h t ) .
  • The optimal path is the shortest among RSR, RSL, LSL, and LSR.
Figure 1 provides an example of how Dubins’ concept is applied. Assuming A = (−1 km; −1 km) and B = (1 km; 1 km) with ψ A = 2 π / 3 rad and ψ B = π / 3 rad and a turning radius R m i n = 250 m it shows the four feasible paths, namely RSR, RSL, LSL, and LSR. In this case, the shortest one is the RSR path.

3. Obstacle Avoidance Using EVG

Consider the path planning problem between A and B described in the previous section. In the presence of obstacles, it is possible to convert the trajectory planning problem into a minimum cost path search within a so-called Essential Visibility Graph (EVG) as presented in [35], under the following main assumptions:
Hypothesis 1 (H1).
Obstacles can be approximated by polygons.
Hypothesis 2 (H2).
Minimum turn radius R m i n is much shorter than both the distance between any two obstacle vertices and the distance between any obstacle vertex and the A/B points.
Hypothesis 3 (H3).
Desired starting and ending heading ψ A and ψ B can be locally achieved by using Dubins’ circles with a negligible increase of the total path length.
The flight path optimization problem is then formulated as follows.
Problem 1.
Given starting and target points and directions, say A and B, and ψ A and ψ B , respectively, and N o polygonal obstacles, find the shortest piecewise linear path connecting A to B.
Let us denote with I l the set of vertices of obstacle P l ( l = 1 , , N o ) and build a graph whose node set is Ω = A , B , l = 1 N o I l .
Definition 1.
The set of visible vertices from a node V i is defined as:
C V i = V j Ω : V i V j
where V i V j means that there exists a segment r V j , V i connecting V i to V j , which does not intersect any obstacle.
Definition 2.
The set of obstacles reachable from V i is:
O V i = P l , l 1 , , N o : M P l , V i 0
where M P l , V i = I l C V i is the set of the l-th obstacle vertices reachable from V i .
Definition 3.
The set of transition nodes through the obstacle P l boundary, from a point V i , is:
T P l , V i = argmin V j I l Πl r V j , V i ; argmax V j I l Πl r V j , V i M P l , V i
Πl r V j , V i being the phase angle of vector r V j , V i assuming a reference null angle in correspondence with any obstacle node belonging to M P l , V i (see Figure 2).
Lemma 1.
Given two polygons P E and P I , with P I convex and P I P E , then Λ( P I )< Λ ( P E ), Λ( P k ) being the perimeter length of polygon P k .
Proof. 
Assume that P E and P I have m and n sides respectively and vertices X i (with i = 1 , 2 , , m ) and Y i (with j = 1 , 2 , , n ) respectively. By prolonging in sequence each side of P I , we can build a sequence of n polygons P 1 , P 2 , , P n 1 , P n with P I P n P n 1 P 2 P 1 P E characterized by a decreasing perimeter length, P k having k sides in common with P I .
If P I P E , P I has at least one side that is not coincident with any side of P E . Without loss of generality, we start prolonging this side, to intersect two sides of P E . With reference to Figure 3, let us consider the prolongation of sides Y 1 Y 2 that intersect the sides X 1 X 6 and X 2 X 3 of P E at points H 1 and H 2 , respectively. Polygon P 1 , defined by vertices { H 1 H 2 X 3 X 4 X 5 X 6 } in a clockwise sense, is such that P I P 1 P E .
Since d H 1 H 2 < d H 1 X 1 + d X 1 X 2 + d X 2 H 2 ( d X j X k is the length of segment X j X k ¯ ), then Λ ( P 1 ) < Λ ( P E ). With the same procedure, we can generate polygon P k + 1 P k prolonging the other sides of P I to intersect the sides of P k and demonstrate that Λ ( P k ) Λ ( P k + 1 ).
Therefore, we can build a sequence of n polygons such that Λ ( P 1 ) Λ ( P 2 ) Λ ( P n 1 ) Λ ( P n ) with P I P n . □
Theorem 1.
Shortest path connecting two points in the presence of one obstacle: Given two points A and B, B being not reachable from A, and one single obstacle P l , whose vertices are also nodes of the graph (set of nodes I l ), then the optimal path connecting node V ¯ 0 = A to V ¯ n + 1 = B is a piecewise linear path defined by the sequence of n + 2 nodes V ¯ 0 , V ¯ 1 , , V ¯ n + 1 with V ¯ i T P l , V i 1 T P l , V i + 1 , i = 1 , , n .
Proof. 
Let us prove by contradiction, assuming that there exists an optimal piecewise linear path defined by the sequence of nodes V ¯ 0 , , V ¯ i 1 , V ¯ i * , V ¯ i + 1 , , V ¯ n + 1 with V ¯ i * T P l , V i 1 T P l , V i + 1 .
Case 1. V ¯ i * I l .
Case 1a. V ¯ i * is reachable from nodes V ¯ i 1 I l and V ¯ i + 1 I l (Figure 4a).
Let us define triangular polygon Q 1 with vertices V ¯ i 1 , V ¯ i , V ¯ i + 1 and triangular polygon Q 2 with vertices V ¯ i 1 , V ¯ i * , V ¯ i + 1 . Segment V ¯ i 1 V ¯ i + 1 necessarily cuts the obstacle, otherwise the optimal sequence of nodes would have been V ¯ 0 , , V ¯ i 1 , V ¯ i + 1 , , V ¯ n , V ¯ n + 1 , then Q 1 Q 2 , and by virtue of Lemma 1, Λ ( Q 1 ) < Λ ( Q 2 ). Since Q 1 and Q 2 share one side, we have:
d V ¯ i 1 , V ¯ i + d V ¯ i , V ¯ i + 1 d V ¯ i 1 , V ¯ i * + d V ¯ i * , V ¯ i + 1
which implies that the length of the piecewise linear path through the sequence of nodes V ¯ 0 , V ¯ i 1 , V ¯ i * , V ¯ i + 1 , , V ¯ n + 1 is not shorter than the length of the piecewise linear path through nodes V ¯ 0 , V ¯ i 1 , V ¯ i , V ¯ i + 1 , , V ¯ n + 1 , contradicting the optimality of the first sequence.
Case 1b. V ¯ i * , V ¯ i + 1 * , , V ¯ i + p * is a sequence of nodes I l replacing V ¯ i , V ¯ i + 1 , , V ¯ i + m 1 I l , V ¯ i 1 , V ¯ i + m I l (Figure 4b).
Let us define polygon Q 1 with vertices V ¯ i 1 , V ¯ i , , V ¯ i + m 1 , V ¯ i + m and polygon Q 2 with vertices V ¯ i 1 , V ¯ i * , , V ¯ i + p * , V ¯ i + m . As for Case 1a, Q 1 Q 2 , and by virtue of Lemma 1, Λ ( Q 1 ) < Λ ( Q 2 ). We have:
d V ¯ i 1 , V ¯ i + d V ¯ i , V ¯ i + 1 + + d V ¯ i + m 1 , V ¯ i + m < d V ¯ i 1 , V ¯ i * + + d V ¯ i * , V ¯ i + 1 * + + d V ¯ i + p * , V ¯ i + m
contradicting the optimality of path V ¯ 0 , , V ¯ i 1 , V ¯ i * , , V ¯ i + p * , V ¯ i + m , V n .
Case 2. V ¯ i * I l (Figure 4c).
Assume that V ¯ i * T P l , V ¯ i 1 and V ¯ i * T P l , V ¯ i + 1 (or vice versa). Without loss of generality, assume that V ¯ i * lies on the same side that V ¯ i belongs to and that V ¯ i is reachable from V ¯ i * . Since V ¯ i + 1 is not reachable from V ¯ i * , at least one additional node belonging to M P l , V ¯ i + 1 M P l , V ¯ i * must be added to the sequence V ¯ 0 , V ¯ i 1 , V ¯ i * , V ¯ i + 1 , , V ¯ n + 1 . This is by construction vertex V ¯ i . It turns out that the new sequence of nodes V ¯ 1 , V ¯ i 1 , V ¯ i * , V ¯ i , V ¯ i + 1 , , V ¯ n + 1 defines a trajectory that is longer than that one identified by V ¯ 0 , , V ¯ i 1 , V ¯ i , V ¯ i + 1 , , V ¯ n + 1 . □
The following two straightforward corollaries of Theorem 1 hold.
Corollary 1.
Given an optimal sequence of nodes V ¯ 0 , , V ¯ n + 1 , with ( V ¯ i I l , i = 1 , , n ), then this sequence must be a set of clockwise or counterclockwise ordered and adjacent vertices of the l-th obstacle’s convex hull.
Corollary 2.
Shortest path connecting two points in the presence of N o obstacles: given two points A and B, B being not reachable by A, and N o obstacles, the optimal piecewise linear trajectory connecting A = V ¯ 0 to B = V ¯ n + 1 is defined by the sequence of n + 2 nodes V ¯ 0 , , V ¯ n + 1 , where each intermediate node V ¯ i , with i = 1 , , n , belongs to T P l , V ¯ i 1 T P l , V ¯ i + 1 with obstacle P l O V ¯ i 1 O V ¯ i + 1 .
The Essential Visibility Graph (EVG) G = W , E can be then computed using a branching algorithm reported in the form of pseudo-code in Algorithm 1.
Algorithm 1 EVG building procedure.
Applsci 10 05613 i001
The shortest path connecting two points in the presence of polygonal obstacles can be then calculated as a minimum cost search [69] over the EVG.
Once a piecewise linear optimal flight path has been found, an optimal flyable path, i.e., compatible with the flight mechanics constraints like minimum turn radius, can be computed using Dubins’ circles, as summarized in the following Procedure 1.
Procedure 1.
Find a (sub-)optimal flyable path
  • Step 1. Find an optimal piecewise linear path over the EVG described by n + 2 nodes including A and B, called V ¯ = V ¯ 0 , , V ¯ n + 1 .
  • Step 2. For each intermediate node h = 2, ..., n of the optimal sequence, define a circle C h , centered in the corresponding polygon vertex.
  • Step 3. Define Dubins’ circles C A R i g h t and C A L e f t , C B R i g h t and C B L e f t , for the starting and target points A and B.
  • Step 4. Build 2D Dubins trajectories based on four possible sequences of circles, namely:
    • ( C A R i g h t , C 2 , C h , , C n + 1 , C B L e f t ),
    • ( C A L e f t , C 2 , C h , , C n + 1 , C B L e f t ),
    • ( C A L e f t , C 2 , C h , , C n + 1 , C B R i g h t ),
    • ( C A R i g h t , C 2 , C h , , C n + 1 , C B R i g h t ),
As a numerical example, Figure 5 shows the optimal flyable path from point A = (−3 km; 3 km) to B = (3 km; −3 km) with initial heading angle ψ A = π / 2 rad, final heading angle ψ B = π / 2 rad, and turning radius R m i n = 80 m, in the presence of N o = 14 polygonal obstacles. The EVG is composed of 486 arcs and 76 vertices, whereas the standard visibility graph has 1322 arcs and 100 vertices. As expected, the construction of the weighted EVG provides an improvement with respect to the visibility graph in terms of the number of nodes and arcs, leading to a lower computational burden.
Algorithm 1, combined with Procedure 1, allows computing a starting nominal path, called Γ 0 . However, during the flight, if one or more unknown obstacles are detected, the vehicle must change its trajectory to avoid possible collisions. The new flight path can be computed online in an efficient way by updating the nominal EVG to include the newly detected obstacles. The updated EVG can be used to find the shortest path between the current position of the aircraft, becoming also a new additional node of the graph, and the target point.
If the current position of the aircraft, say P * , belongs to the nominal path Γ 0 and no new obstacles are detected, the optimal flyable path between the starting point P * and the target point B is a sub-path of Γ 0 according to the optimality principle.
If N n new obstacles are detected, let be I l the subset of nodes being vertices of the new l-th obstacle, with l = N o + 1 , , N o + N n . Algorithm 2 is run to update the nominal EVG with a lower computational cost compared to the cost required to compute the nominal starting EVG.
Algorithm 2 EVG updating procedure.
Applsci 10 05613 i002

4. Collision Avoidance with EVG

In a dynamic environment, the UAV must prevent collisions also with moving obstacles and other vehicles called intruders. The proposed collision avoidance algorithm consists of a path re-planning procedure based on the EVG and Dubins’ paths, to avoid UAVs that are on a collision course. The algorithm is computationally efficient as it makes use of the procedures previously described.
When an aircraft predicts multiple future collisions, it selects the nearest one in accordance with a typical reactive scheme [39], and it calls the EVG updating procedure assuming a fictitious additional obstacle centered at the predicted collision position. To avoid ambiguity (i.e., it is possible to overcome the obstacle on the left or on the right), the EVG is cut according to the Right of Way rules prescribed in the Annex II of International Civil Aviation Organization (ICAO).

4.1. Collisions Prediction

In our work, we assume that UAVs know the position, speed, and heading of neighboring aircraft, within a given sensing range given by ADS-B, TCAS, or other sensing devices.
Consider the i-th controlled aircraft and the set S i of vehicles in the sensor range. Let P i ( t ) = ( x i ( t ) , y i ( t ) ) and P j ( t ) = ( x j ( t ) , y j ( t ) ) S i be the position of the i-th and j-th UAV, respectively. The line of sight vector between aircraft i and j is defined as L O S i , j = P j P i (see Figure 6).
θ i , j 1 [ 0 , 2 π [ is the angle between the velocity vector of aircraft i and L O S i , j , and θ i , j 2 [ 0 , 2 π [ is the angle between the velocity vector of the vehicle located in P j and L O S i , j (see Figure 6).
The ICAO Right of Way rules can be formalized by defining an operator Φ i , j , such that Φ i , j = 1 , if the j-th vehicles has the right of way, and Φ i , j = 0 in other cases:
Φ i , j = 1 θ i , j 2 3 2 π θ i , j 1 < 2 π Φ i , j = 1 0 θ i , j 2 π 2 0 θ i , j 1 π 2 Φ i , j = 1 π θ i , j 2 < 2 π 0 θ i , j 1 π 2 Φ i , j = 0 otherwise .
At any time t, by evaluating the operator Φ i , j ( t ) , j S i ( t ) , it is possible to determine the list S ¯ i ( t ) of vehicles taking priority in accordance with the ICAO rules:
S ¯ i ( t ) = j S i ( t ) : Φ i , j ( t ) = 1
In the prediction time horizon t , t + T d , the i-th aircraft control system computes the predicted distance d ^ i j ( τ | t ) , with τ t , t + T d for each vehicle j S ¯ i ( t ) , assuming that the intruders fly on a straight path at constant speed v j . If d ^ i j ( t ) is less than the minimum separation distance d m i n , a collision can occur, and vehicle j is added to the set of colliding aircraft, namely S i * S ¯ i S i . Assuming that t i , j * is the time of collision between i and j, predicted at time t, the i-th aircraft control system selects the nearest collision, i.e., aircraft j * such that t i , j * * is minimum, say t * this time.

4.2. Anti-Collision Flight Path Update

Consider that the i-th aircraft is following its nominal path Γ 0 , and at time t, it predicts a collision with aircraft j * at time t * . Let P ^ j * ( t * ) be the position of aircraft j * at collision time t * . Assume a fictitious obstacle of m vertices circumscribed to a circumference with the center at P ^ j * ( t * ) and radius d m i n (see Figure 7). If the obstacle overlaps with other existing obstacles in the scenario, consider the convex hull of the vertices of the overlapped obstacles plus the fictitious obstacle. The nominal EVG is then updated using Algorithm 2.
The Right of Way rules prescribe that “An aircraft that is obliged by the following rules to keep out of the way of another shall avoid passing over, under or in front of the other, unless it passes well clear and takes into account the effect of aircraft wake turbulence” (Section 3.2.2.1 in [70]). For this reason, a cut of the EVG is needed to plan a path compliant with the rules.
Consider a straight line r 1 passing through P i ( t ) and P ^ j * ( t * ) :
r 1 : β · x x i ( t ) α · y y i ( t ) = 0
where α and β are the components of the vector P ^ j * ( t * ) P i ( t ) = [ α , β ] T = [ x ^ j * ( t * ) x i ( t ) , y ^ j * ( t * ) y i ( t ) ] T .
Consider a straight line r 2 passing through P ^ j * ( t * ) and the target point B = ( x B , y B ) :
r 2 : ν · x x ^ j * ( t * ) μ · y y ^ j * ( t * ) = 0
where μ and ν are the components of the vector B P ^ j * ( t * ) = [ μ , ν ] T = [ x B x ^ j * ( t * ) , y B y ^ j * ( t * ) ] T .
To follow the Right of Way rules, the optimization algorithm over the EVG can choose only vertices in the semi-plane defined using r 1 and r 2 and the following conditions:
Σ i , j * · β · x x i ( t ) α · y y i ( t ) 0 Σ i , j * · ν · x x ^ j * ( t * ) μ · y y ^ j * ( t * ) 0
where the operator Σ i , j = 1 if the UAV i must turn to the left in accordance with Right Of Way rules, otherwise Σ i , j = 1 if i must turn to the right:
Σ i , j = 1 0 θ i j 1 π 2 θ i j 1 < θ i j 2 π 2 Σ i , j = 1 3 2 π < θ i j 1 < 2 π 0 θ i j 2 θ i j 1 π Σ i , j = 1 3 2 π < θ i j 1 < 2 π θ i j 1 θ i j 2 < 2 π Σ i , j = 1 otherwise .
Figure 7 shows the nominal path of two UAVs. UAV i predicts a collision with UAV j * at time t * in P ^ j * ( t * ) . Since UAV i does not have the right of way, it must re-plan its trajectory. Before updating the graph, a fictitious obstacle is added to the environment, centered at the point P ^ j * ( t * ) where the collision is expected. In order to force the UAV i to avoid the collision with the UAV j * , passing on the right of fictitious obstacle, all arcs of the updated graph in the gray area are considered unfeasible and deleted from he graph.

5. Numerical Results

An extensive campaign of numerical simulations was carried out whose results are presented in this section. Several operational scenarios were set to verify the effectiveness of the proposed technique. The selected scenarios are among the most complex ones to suitably test our anti-collision algorithm. Both the planned paths and the actual trajectories, as modified by the collision avoidance system, are shown. Mutual distances between UAVs over time are also shown for scenarios with few aircraft. For the sake of clarity, by increasing the number of aircraft involved, only the minimum distances reached between UAVs are reported in tabular format. Finally, all the vehicles have the same cruise speed and minimum turn radius. Table 1 summarizes the simulation parameters used for Scenarios #1–#6.

5.1. Scenario #1: Two Converging UAVs

In this scenario, two UAVs follow perpendicular flight paths intersecting at one point. When UAV 2 detects a possible collision at time t * , in order to respect the right of way rules (see 3.2.2.3, in ICAO Annex II), it re-plans its path, giving the way to UAV 1, which does not change its planned trajectory. Figure 8 shows the planned paths (dotted lines) and the actual trajectories followed (solid lines) of both UAVs. As can be seen, UAV 2 passes on the right of the expected collision point, in order to pass behind UAV 1, according to the right of way rules. In Figure 9, the distance between the aircraft over time is reported. As we can see, the collision avoidance system is able to guarantee a mutual distance not below the prescribed minimum value of 200 m.

5.2. Scenario #2: Two Opposite UAVs

In this scenario, two aircraft are approaching from opposite directions following the same path. As prescribed by ICAO Rule 3.2.2.2, in Annex II [70], both UAVs must deviate, re-planning their trajectory in order to turn to the right. Figure 10 shows the vehicles’ planned paths (dotted lines) and the actual trajectories followed (solid lines). As can be seen, both UAVs turn on the right near the expected collision point according to the right of way rules. Figure 11 shows the distance between UAVs over time. As we can see, the collision avoidance system is able to guarantee a mutual distance not below the prescribed minimum value of 200 m.

5.3. Scenario #3: Eight Converging UAVs

In this scenario, eight aircraft are uniformly distributed in the airspace as a circular pattern and follow trajectories all converging towards the center, which is the potential collision point. Figure 12 shows the UAVs’ planned paths (dotted lines) and the actual trajectories followed (solid lines). As can be seen, each aircraft avoids a collision by re-planning its own nominal path making a turn maneuver to the right near the center of the scenario and reaching the destination point on the opposite side. Circular markers indicate the UAVs’ positions at the time the collision is predicted. Note that the aircraft are placed all around a sort of fictitious traffic circle with a radius that depends on the number of vehicles, centered at the point where the collision is expected to occur. As previously said, due to the higher number of aircraft involved in this scenario, only the minimum distances between UAVs are summarized in Table 2. As we can see, they are always greater than the required minimum value.

5.4. Scenario #4: Twenty Converging UAVs

In this scenario, twenty aircraft are uniformly distributed in the airspace as a circular pattern and follow trajectories all converging towards the center, which is the potential collision point. Figure 13 shows the UAVs’ planned paths (dotted lines) and the actual trajectories followed (solid lines). Despite the even higher number of aircraft, also in this test case, the UAVs are able to avoid collisions. Once a potential collision point is detected, each aircraft re-plans its own path making a turn maneuver to the right compliant with the ICAO rules. Circular markers indicate the UAVs’ positions at the time the collision is predicted. As in the previous scenario, the aircraft avoid a sort of fictitious traffic circle having a radius that depends on the number of vehicles, centered at the point where the collision is expected, before reaching their own destination points on the opposite side. For this test case, given the large number of aircraft, we preferred not to report the entire table with the minimum distances between aircraft, which, anyway, were never below 221 m.

5.5. Scenario #5: Four Converging Pairs of UAVs

In this scenario, eight vehicles grouped into four pairs are involved. All the aircraft follow parallel nominal paths pointing to their own destination points on the opposite side. The distance between parallel paths is 0.3 km. This scenario represents a challenging test case for our collision avoidance algorithm as any turn maneuver of one vehicle can affect the behavior of the others. The planned (dotted lines) and actual trajectories (solid lines) are shown in Figure 14. As can be seen, compliance with the ICAO right of way rules forces all the UAVs to turn right of the colliding aircraft near the center of the airspace. This makes the actual trajectories possibly deviate greatly from the planned ones. Again, as previously done, only the minimum distances between aircraft are resumed in Table 3. In this case as well, the collision avoidance algorithm is able to assure the required minimum value.

5.6. Scenario #6: Sixteen Converging UAVs

In this scenario, to further test our anti-collision algorithm, sixteen aircraft, grouped into four formations of four UAVs each, are involved following parallel paths pointing to their own destination points on the opposite side. The distance between parallel paths is 0.3 km. Planned paths (dotted lines) and actual trajectories (solid lines) are shown in Figure 15. As we can see, with the exception of UAVs on the right side of the flight formations (UAVs 4, 8, 12, and 16), all the others are forced to deviate strongly from their planned trajectories to avoid a collision with other vehicles while complying with the ICAO rules. In this test case as well, given the large number of aircraft, we preferred not to report the entire table with the minimum distances between aircraft, which, anyway, were never below 213 m.

5.7. Scenario #7: Four Converging UAVs in the Presence of Fixed Obstacles

In this scenario, four UAVs are involved following perpendicular flight paths in the presence of four fixed obstacles placed near the center point of the airspace where collision is expected. All the aircraft have to reach their own destination points placed on the opposite side. In this scenario, the desired minimum distance was chosen equal to d m i n = 4 km and the minimum turn radius R m i n = 400 m. All nominal paths (dotted lines) converge towards the center and pass through the two narrow perpendicular channels created by the four obstacles. Each vehicle must re-plan its trajectory to avoid a collision by performing a turn maneuver in order to fly out of the area occupied by the obstacles (see Figure 16). Each aircraft, in its prediction phase, considers a fictitious obstacle centered at the predicted collision point that overlaps with the existing real obstacles. Therefore, as stated in Section 4.2, a unique larger obstacle is considered by merging the existing ones. For this reason, the resulting path does not pass in the center of the scenario. The distances over time between UAVs are shown in Figure 17. As we can see, mutual distances never fall below the minimum required value. Due to the symmetry of the scenario, the distances between Aircraft 1–3 and 2–4 are superimposed, the same as the distances between Aircraft 1–2, 1–4, 2–3, and 3–4.
Finally, to update the aircraft trajectories, the proposed algorithm never took more than 0.01 s for the scenarios without obstacles and 0.03 s for the scenario with static obstacles by using an Intel i7 based laptop. This feature suggests that the proposed procedure can be considered a promising approach for real-time applications.

6. Conclusions

This paper describes a novel procedure to generate optimum flight paths in dynamic environments featuring the simultaneous presence of multiple flying vehicles and fixed or moving obstacles. A real-time collision avoidance algorithm was developed based on the Essential Visibility Graph (EVG) solving the optimization problem as a minimum cost piecewise linear path search. It was assumed that all the air vehicles present in the airspace share information about their position, speed, and direction. This way, if a possible collision is detected within a fixed time horizon, a re-planning procedure is called that updates the EVG and changes the aircraft’s current trajectory, avoiding UAVs that are on a collision course. The use of Dubins’ curves allows obtaining smoothed paths compliant with the flight mechanics constraints. In view of possible future applications in hybrid scenarios where both manned and unmanned aircraft share the same airspace, visual flight rules compliant with the ICAO Annex II Right of Way were implemented. To test the effectiveness of the proposed algorithm, different operational scenarios of increasing complexity were defined. All the numerical simulations proved the algorithm’s capability to avoid possible collisions by quickly changing the aircraft’s current trajectories, assuring a minimum safety distance between air vehicles as well. Furthermore, the low computational burden suggests that the proposed procedure can be considered a promising approach for real-time applications. Future research activities will be directed toward the implementation of this new anti-collision algorithm in a guidance and navigation system taking into account possible atmospheric disturbances and model uncertainties. This will assure the identification of real flyable trajectories.

Author Contributions

Conceptualization, methodology, investigation, formal analysis, and writing, E.D., I.N., L.B., and M.M. Data curation, visualization, and software development, E.D. and I.N. All authors read and agreed to the published version of the manuscript.

Funding

This research was partially funded by REGIONE CAMPANIA, SCAVIR Project “Advanced Configurations Studies for an Innovative Regional Aircraft” CUP B43D18000210007.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. DeGarmo, M.; Nelson, G.M. Prospective unmanned aerial vehicle operations in the future national airspace system. In Proceedings of the AIAA 4th Aviation Technology, Integration and Operations (ATIO) Forum, Chicago, IL, USA, 20–22 September 2004; pp. 20–23. [Google Scholar]
  2. Mujumdar, A.; Padhi, R. Evolving philosophies on autonomous obstacle/collision avoidance of unmanned aerial vehicles. J. Aerosp. Comput. Inf. Commun. 2011, 8, 17–41. [Google Scholar] [CrossRef]
  3. Barrado, C.; Boyero, M.; Brucculeri, L.; Ferrara, G.; Hately, A.; Hullah, P.; Martin-Marrero, D.; Pastor, E.; Rushton, A.P.; Volkert, A. U-Space Concept of Operations: A Key Enabler for Opening Airspace to Emerging Low-Altitude Operations. Aerospace 2020, 7, 24. [Google Scholar] [CrossRef] [Green Version]
  4. Wargo, C.A.; Church, G.C.; Glaneueski, J.; Strout, M. Unmanned Aircraft Systems (UAS) research and future analysis. In Proceedings of the 2014 IEEE Aerospace Conference, Big Sky, MT, USA, 1–8 March 2014; pp. 1–16. [Google Scholar]
  5. Pérez-Castán, J.A.; Rodríguez-Sanz, Á.; Gómez Comendador, V.F.; Arnaldo Valdés, R.M. ATC Separation Assurance for RPASs and Conventional Aircraft in En-Route Airspace. Safety 2019, 5, 41. [Google Scholar] [CrossRef] [Green Version]
  6. ICAO. Unmanned Aircraft Systems Traffic Management (UTM)—A Common Framework with Core Principles for Global Harmonization. 2019. Available online: https://www.icao.int/safety/UA/Documents/Forms/AllItems.aspx (accessed on 13 August 2020).
  7. Cabreira, T.M.; Brisolara, L.B.; Ferreira, P.R., Jr. Survey on coverage path planning with unmanned aerial vehicles. Drones 2019, 3, 4. [Google Scholar] [CrossRef] [Green Version]
  8. Zhang, H.Y.; Lin, W.M.; Chen, A.X. Path planning for the mobile robot: A review. Symmetry 2018, 10, 450. [Google Scholar] [CrossRef] [Green Version]
  9. Shin, H.; Chae, J. A Performance Review of Collision-Free Path Planning Algorithms. Electronics 2020, 9, 316. [Google Scholar] [CrossRef] [Green Version]
  10. Dubins, L.E. On curves of minimal length with a constraint on average curvature, and with prescribed initial and terminal positions and tangents. Am. J. Math. 1957, 79, 497–516. [Google Scholar] [CrossRef]
  11. Isaacs, J.T.; Hespanha, J.P. Dubins traveling salesman problem with neighborhoods: A graph-based approach. Algorithms 2013, 6, 84–99. [Google Scholar] [CrossRef] [Green Version]
  12. Owen, M.; Beard, R.W.; McLain, T.W. Implementing Dubins airplane paths on fixed-wing uavs. In Handbook of Unmanned Aerial Vehicles; Springer: Berlin/Heidelberg, Germany, 2015; pp. 1677–1701. [Google Scholar]
  13. Kikutis, R.; Stankūnas, J.; Rudinskas, D.; Masiulionis, T. Adaptation of Dubins paths for UAV ground obstacle avoidance when using a low cost on-board GNSS sensor. Sensors 2017, 17, 2223. [Google Scholar] [CrossRef]
  14. Zhu, M.; Zhang, X.; Luo, H.; Wang, G.; Zhang, B. Optimization Dubins path of multiple UAVs for post-earthquake rapid-assessment. Appl. Sci. 2020, 10, 1388. [Google Scholar] [CrossRef] [Green Version]
  15. Yan, F.; Liu, Y.S.; Xiao, J.Z. Path planning in complex 3D environments using a probabilistic roadmap method. Int. J. Autom. Comput. 2013, 10, 525–533. [Google Scholar] [CrossRef]
  16. Madridano, Á.; Al-Kaff, A.; Martín, D. 3D trajectory planning method for uavs swarm in building emergencies. Sensors 2020, 20, 642. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  17. Bortoff, S.A. Path planning for UAVs. In Proceedings of the American Control Conference, Chicago, IL, USA, 28–30 June 2000; Volume 1, pp. 364–368. [Google Scholar]
  18. Huang, H.; Savkin, A.V.; Li, X. Reactive Autonomous Navigation of UAVs for Dynamic Sensing Coverage of Mobile Ground Targets. Sensors 2020, 20, 3720. [Google Scholar] [CrossRef] [PubMed]
  19. Davis, J.; Perhinschi, M.; Wilburn, B.; Karas, O. Development of a modified Voronoi algorithm for UAV path planning and obstacle avoidance. In Proceedings of the AIAA Guidance, Navigation, and Control Conference, Minneapolis, MN, USA, 13–16 August 2012; p. 4904. [Google Scholar]
  20. Tong, H. Path planning of UAV based on Voronoi diagram and DPSO. Procedia Eng. 2012, 29, 4198–4203. [Google Scholar] [CrossRef] [Green Version]
  21. Scherer, S.; Singh, S.; Chamberlain, L.; Elgersma, M. Flying fast and low among obstacles: Methodology and experiments. Int. J. Robot. Res. 2008, 27, 549–574. [Google Scholar] [CrossRef] [Green Version]
  22. Jun, M.; D’Andrea, R. Path planning for unmanned aerial vehicles in uncertain and adversarial environments. In Cooperative Control: Models, Applications and Algorithms; Springer: Berlin/Heidelberg, Germany, 2003; pp. 95–110. [Google Scholar]
  23. Li, Y.; Chen, H.; Er, M.J.; Wang, X. Coverage path planning for UAVs based on enhanced exact cellular decomposition method. Mechatronics 2011, 21, 876–885. [Google Scholar] [CrossRef]
  24. Wahyunggoro, O.; Cahyadi, A.I. Quadrotor Path Planning Based On Modified Fuzzy Cell Decomposition Algorithm. Telkomnika 2016, 14, 655–664. [Google Scholar]
  25. Samaniego, F.; Sanchis, J.; García-Nieto, S.; Simarro, R. Recursive Rewarding Modified Adaptive Cell Decomposition (RR-MACD): A Dynamic Path Planning Algorithm for UAVs. Electronics 2019, 8, 306. [Google Scholar] [CrossRef] [Green Version]
  26. Mattei, M.; Blasi, L. Smooth flight trajectory planning in the presence of no-fly zones and obstacles. J. Guid. Control Dyn. 2010, 33, 454–462. [Google Scholar] [CrossRef]
  27. Shao, Z.; Yan, F.; Zhou, Z.; Zhu, X. Path planning for multi-UAV formation rendezvous based on distributed cooperative particle swarm optimization. Appl. Sci. 2019, 9, 2621. [Google Scholar] [CrossRef] [Green Version]
  28. Samaniego, F.; Sanchis, J.; Garcia-Nieto, S.; Simarro, R. Smooth 3D Path Planning by Means of Multiobjective Optimization for Fixed-Wing UAVs. Electronics 2020, 9, 51. [Google Scholar] [CrossRef] [Green Version]
  29. Scholer, F.; la Cour-Harbo, A.; Bisgaard, M. Configuration space and visibility graph generation from geometric workspaces for uavs. In Proceedings of the AIAA Guidance, Navigation, and Control Conference, Portland, OR, USA, 8–11 August 2011; p. 6416. [Google Scholar]
  30. Maini, P.; Sujit, P. Path planning for a uav with kinematic constraints in the presence of polygonal obstacles. In Proceedings of the Unmanned Aircraft Systems (ICUAS), Arlington, VA, USA, 7–10 June 2016; pp. 62–67. [Google Scholar]
  31. Majeed, A.; Lee, S. A fast global flight path planning algorithm based on space circumscription and sparse visibility graph for unmanned aerial vehicle. Electronics 2018, 7, 375. [Google Scholar] [CrossRef] [Green Version]
  32. Latombe, J.C. Robot Motion Planning; Springer Science & Business Media: Berlin, Germany, 2012; Volume 124. [Google Scholar]
  33. Rohnert, H. Shortest paths in the plane with convex polygonal obstacles. Inf. Process. Lett. 1986, 23, 71–76. [Google Scholar] [CrossRef]
  34. D’Amato, E.; Mattei, M.; Notaro, I. Bi-level Flight Path Planning of UAV Formations with Collision Avoidance. J. Intell. Robot. Syst. 2018, 93, 1–19. [Google Scholar] [CrossRef]
  35. D’Amato, E.; Notaro, I.; Mattei, M. Optimal Flight Paths over Essential Visibility Graphs. In Proceedings of the 2018 International Conference on Unmanned Aircraft Systems (ICUAS), Dallas, TX, USA, 12–15 June 2018; pp. 708–714. [Google Scholar]
  36. D’Amato, E.; Notaro, I.; Blasi, L.; Mattei, M. Smooth Path planning for Fixed-Wing Aircraft in 3D Environment Using a Layered Essential Visibility Graph. In Proceedings of the 2019 International Conference on Unmanned Aircraft Systems (ICUAS), Atlanta, GA, USA, 11–14 June 2019; pp. 9–18. [Google Scholar]
  37. Duleba, I.; Sasiadek, J.Z. Nonholonomic motion planning based on Newton algorithm with energy optimization. IEEE Trans. Control. Syst. Technol. 2003, 11, 355–363. [Google Scholar] [CrossRef]
  38. Chen, Y.; Yu, J.; Su, X.; Luo, G. Path planning for multi-UAV formation. J. Intell. Robot. Syst. 2015, 77, 229–246. [Google Scholar] [CrossRef]
  39. D’Amato, E.; Notaro, I.; Mattei, M. Distributed collision avoidance for unmanned aerial vehicles integration in the civil airspace. In Proceedings of the 2018 International Conference on Unmanned Aircraft Systems (ICUAS), Dallas, TX, USA, 12–15 June 2018; pp. 94–102. [Google Scholar]
  40. Wu, Q.; Chen, Z.; Wang, L.; Lin, H.; Jiang, Z.; Li, S.; Chen, D. Real-Time Dynamic Path Planning of Mobile Robots: A Novel Hybrid Heuristic Optimization Algorithm. Sensors 2020, 20, 188. [Google Scholar] [CrossRef] [Green Version]
  41. Chen, Y.; Luo, G.; Mei, Y.; Yu, J.; Su, X. UAV path planning using artificial potential field method updated by optimal control theory. Int. J. Syst. Sci. 2016, 47, 1407–1420. [Google Scholar] [CrossRef]
  42. Dever, C.; Mettler, B.; Feron, E.; Popovic, J.; McConley, M. Nonlinear trajectory generation for autonomous vehicles via parametrized maneuver classes. J. Guid. Control Dyn. 2006, 29, 289–302. [Google Scholar] [CrossRef] [Green Version]
  43. Frazzoli, E.; Dahleh, M.A.; Feron, E. Real-time motion planning for agile autonomous vehicles. J. Guid. Control Dyn. 2002, 25, 116–129. [Google Scholar] [CrossRef] [Green Version]
  44. Borrelli, F.; Subramanian, D.; Raghunathan, A.U.; Biegler, L.T. MILP and NLP techniques for centralized trajectory planning of multiple unmanned air vehicles. In Proceedings of the American Control Conference, Minneapolis, MN, USA, 14–16 June 2006. [Google Scholar]
  45. Blasi, L.; Barbato, S.; D’Amato, E. A mixed probabilistic–geometric strategy for UAV optimum flight path identification based on bit-coded basic maneuvers. Aerosp. Sci. Technol. 2017, 71, 1–11. [Google Scholar] [CrossRef]
  46. Bilimoria, K.; Sridhar, B.; Chatterji, G. Effects of conflict detection methods for air traffic management. In Proceedings of the AIAA Guidance, Navigation, and Control Conference, Boston, MA, USA, 29–31 July 1996. [Google Scholar]
  47. Hwang, I.; Kim, J.; Tomlin, C.; McNally, D.; Gong, C.; Rantanen, E.; Naseri, A.; Neogi, N. Protocol-based conflict resolution for air traffic control. Air Traffic Control Q. 2007, 15, 1–34. [Google Scholar] [CrossRef]
  48. Pallottino, L.; Scordio, V.G.; Bicchi, A.; Frazzoli, E. Decentralized cooperative policy for conflict resolution in multivehicle systems. IEEE Trans. Robot. 2007, 23, 1170–1183. [Google Scholar] [CrossRef]
  49. Andrews, J. A relative motion analysis of horizontal collision avoidance. In Proceedings of the SAFE Association, Annual Symposium, Las Vegas, NV, USA, 5–8 December 1977; pp. 58–61. [Google Scholar]
  50. Tomlin, C.; Pappas, G.J.; Sastry, S. Conflict resolution for air traffic management: A study in multiagent hybrid systems. IEEE Trans. Autom. Control 1998, 43, 509–521. [Google Scholar] [CrossRef] [Green Version]
  51. Frazzoli, E.; Mao, Z.H.; Oh, J.H.; Feron, E. Resolution of conflicts involving many aircraft via semidefinite programming. J. Guid. Control Dyn. 2001, 24, 79–86. [Google Scholar] [CrossRef]
  52. Hill, J.; Archibald, J.; Stirling, W.; Frost, R. A multi-agent system architecture for distributed air traffic control. In Proceedings of the AIAA Guidance, Navigation and Control Conference, San Francisco, CA, USA, 15–18 August 2005. [Google Scholar]
  53. Ramasamy, S.; Sabatini, R.; Gardi, A. A unified approach to separation assurance and Collision Avoidance for UAS operations and traffic management. In Proceedings of the 2017 International Conference on Unmanned Aircraft Systems (ICUAS), Miami, FL, USA, 13–16 June 2017; pp. 920–928. [Google Scholar] [CrossRef]
  54. D’Amato, E.; Notaro, I.; Mattei, M. Reactive Collision Avoidance using Essential Visibility Graphs. In Proceedings of the 2019 6th International Conference on Control, Decision and Information Technologies (CoDIT), Paris, France, 23–26 April 2019; pp. 522–527. [Google Scholar]
  55. D’Amato, E.; Mattei, M.; Notaro, I. Distributed Reactive Model Predictive Control for Collision Avoidance of Unmanned Aerial Vehicles in Civil Airspace. J. Intell. Robot. Syst. 2020, 97, 185–203. [Google Scholar] [CrossRef]
  56. Eby, M.S.; Kelly, W.E. Free flight separation assurance using distributed algorithms. In Proceedings of the Aerospace Conference, Snowmass, Aspen, CO, USA, 7 March 1999; Volume 2, pp. 429–441. [Google Scholar]
  57. Lalish, E.; Morgansen, K.A.; Tsukamaki, T. Formation tracking control using virtual structures and deconfliction. In Proceedings of the 45th IEEE Conference on Decision and Control, San Diego, CA, USA, 13–15 December 2006; pp. 5699–5705. [Google Scholar]
  58. Mastellone, S.; Stipanović, D.M.; Graunke, C.R.; Intlekofer, K.A.; Spong, M.W. Formation control and collision avoidance for multi-agent non-holonomic systems: Theory and experiments. Int. J. Robot. Res. 2008, 27, 107–126. [Google Scholar] [CrossRef]
  59. Roussos, G.P.; Dimarogonas, D.V.; Kyriakopoulos, K.J. 3D navigation and collision avoidance for a non-holonomic vehicle. In Proceedings of the American Control Conference, Seattle, WA, USA, 11–13 June 2008; pp. 3512–3517. [Google Scholar]
  60. Tony, L.A.; Ghose, D.; Chakravarthy, A. Avoidance maps: A new concept in UAV collision avoidance. In Proceedings of the 2017 International Conference on Unmanned Aircraft Systems (ICUAS), Miami, FL, USA, 13–16 June 2017; pp. 1483–1492. [Google Scholar] [CrossRef]
  61. Ha, L.N.N.T.; Bui, D.H.P.; Hong, S.K. Nonlinear control for autonomous trajectory tracking while considering collision avoidance of UAVs based on geometric relations. Energies 2019, 12, 1551. [Google Scholar] [CrossRef] [Green Version]
  62. Chen, T.; Shan, J. Continuous constrained attitude regulation of multiple spacecraft on SO (3). Aerosp. Sci. Technol. 2020, 99, 105769. [Google Scholar] [CrossRef]
  63. Weerakoon, T.; Ishii, K.; Nassiraei, A.A.F. An artificial potential field based mobile robot navigation method to prevent from deadlock. J. Artif. Intell. Soft Comput. Res. 2015, 5, 189–203. [Google Scholar] [CrossRef] [Green Version]
  64. Fiorini, P.; Shiller, Z. Motion planning in dynamic environments using velocity obstacles. Int. J. Robot. Res. 1998, 17, 760–772. [Google Scholar] [CrossRef]
  65. Van Den Berg, J.; Snape, J.; Guy, S.J.; Manocha, D. Reciprocal collision avoidance with acceleration-velocity obstacles. In Proceedings of the 2011 IEEE International Conference on Robotics and Automation, Shanghai, China, 9–13 May 2011; pp. 3475–3482. [Google Scholar]
  66. Kufoalor, D.K.M.; Brekke, E.F.; Johansen, T.A. Proactive collision avoidance for ASVs using a dynamic reciprocal velocity obstacles method. In Proceedings of the 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, 1–5 October 2018; pp. 2402–2409. [Google Scholar]
  67. Jyotish, P.N.; Goel, Y.; Kumar, A.S.B.; Krishna, K.M. IVO: Inverse Velocity Obstacles for Real Time Navigation. In Proceedings of the Advances in Robotics 2019, Chennai, India, 2–6 July 2019; pp. 1–6. [Google Scholar]
  68. Wilkie, D.; Van Den Berg, J.; Manocha, D. Generalized velocity obstacles. In Proceedings of the 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems, St. Louis, MO, USA, 10–15 October 2009; pp. 5573–5578. [Google Scholar]
  69. Dijkstra, E.W. A note on two problems in connexion with graphs. Numer. Math. 1959, 1, 269–271. [Google Scholar] [CrossRef] [Green Version]
  70. ICAO. Annex II to the convention on international civil aviation: Aerodromes. In Rules of the Air ICAO, 10th ed.; ICAO: Quebec, QC, Canada, July 2005. [Google Scholar]
Figure 1. 2D Dubins paths from the point A = (−1 km; −1 km) to B = (1 km; 1 km) with initial heading angle ψ A = 2 π / 3 rad, final heading angle ψ B = π / 3 rad, and turning radius R m i n = 250 m.
Figure 1. 2D Dubins paths from the point A = (−1 km; −1 km) to B = (1 km; 1 km) with initial heading angle ψ A = 2 π / 3 rad, final heading angle ψ B = π / 3 rad, and turning radius R m i n = 250 m.
Applsci 10 05613 g001
Figure 2. The set of nodes of the l-th obstacle reachable from V i is M P l , V i = { V i + 1 , V i + 2 , V i + 3 , V i + 4 , V i + 5 , V i + 6 } , and the set of transitions nodes is T P l , V i = V i + 1 , V i + 6 .
Figure 2. The set of nodes of the l-th obstacle reachable from V i is M P l , V i = { V i + 1 , V i + 2 , V i + 3 , V i + 4 , V i + 5 , V i + 6 } , and the set of transitions nodes is T P l , V i = V i + 1 , V i + 6 .
Applsci 10 05613 g002
Figure 3. Proof of Lemma 1: the definition of polygons P E , P I , and P 1 .
Figure 3. Proof of Lemma 1: the definition of polygons P E , P I , and P 1 .
Applsci 10 05613 g003
Figure 4. Theorem 1. (a) Case 1a: V ¯ i * reachable from V ¯ i 1 I l and V ¯ i + 1 I l . (b) Case 1b: V ¯ i * , V ¯ i + 1 * , , V ¯ i + p * I l . (c) Case 2: V ¯ i * I l .
Figure 4. Theorem 1. (a) Case 1a: V ¯ i * reachable from V ¯ i 1 I l and V ¯ i + 1 I l . (b) Case 1b: V ¯ i * , V ¯ i + 1 * , , V ¯ i + p * I l . (c) Case 2: V ¯ i * I l .
Applsci 10 05613 g004
Figure 5. Optimal path between A = (−3 km; 3 km) and B = (3 km; −3 km) with initial heading angle ψ A = π / 2 rad, final heading angle ψ B = π / 2 rad, and turn radius R m i n = 80 m.
Figure 5. Optimal path between A = (−3 km; 3 km) and B = (3 km; −3 km) with initial heading angle ψ A = π / 2 rad, final heading angle ψ B = π / 2 rad, and turn radius R m i n = 80 m.
Applsci 10 05613 g005
Figure 6. Line Of Sight (LOS) definition.
Figure 6. Line Of Sight (LOS) definition.
Applsci 10 05613 g006
Figure 7. Anti-collision path update: All graph edges in the gray area are deleted in order to force UAV i to pass behind UAV j * , i.e., on the right of the fictitious obstacle centered at P ^ j * ( t * ) . Dashed lines indicate nominal paths; dashed-dotted lines indicate r 1 and r 2 straight lines; solid lines indicate the actual UAVs’ trajectories.
Figure 7. Anti-collision path update: All graph edges in the gray area are deleted in order to force UAV i to pass behind UAV j * , i.e., on the right of the fictitious obstacle centered at P ^ j * ( t * ) . Dashed lines indicate nominal paths; dashed-dotted lines indicate r 1 and r 2 straight lines; solid lines indicate the actual UAVs’ trajectories.
Applsci 10 05613 g007
Figure 8. Scenario #1. Two converging UAVs. UAV 1’s initial position A 1 ( 0 ) = ( 5 km; 0 km), V 1 ( 0 ) = V c , ψ 1 ( 0 ) = π rad. UAV 2’s initial position A 2 ( 0 ) = ( 0 km; −5 km), V 2 ( 0 ) = V c , ψ 2 ( 0 ) = π / 2 rad. t * represents the predicted collision time instant.
Figure 8. Scenario #1. Two converging UAVs. UAV 1’s initial position A 1 ( 0 ) = ( 5 km; 0 km), V 1 ( 0 ) = V c , ψ 1 ( 0 ) = π rad. UAV 2’s initial position A 2 ( 0 ) = ( 0 km; −5 km), V 2 ( 0 ) = V c , ψ 2 ( 0 ) = π / 2 rad. t * represents the predicted collision time instant.
Applsci 10 05613 g008
Figure 9. Scenario #1. Distance over time between UAV 1 and UAV 2.
Figure 9. Scenario #1. Distance over time between UAV 1 and UAV 2.
Applsci 10 05613 g009
Figure 10. Scenario #2. Two opposite UAVs. UAV 1’s initial position A 1 ( 0 ) = ( 5 km; 0 km), V 1 ( 0 ) = V c , ψ 1 = π rad. UAV 2’s initial position A 2 ( 0 ) = (−5 km; 0 km), V 2 ( 0 ) = V c , ψ 2 ( 0 ) = 0 rad. t * represents the predicted collision time instant.
Figure 10. Scenario #2. Two opposite UAVs. UAV 1’s initial position A 1 ( 0 ) = ( 5 km; 0 km), V 1 ( 0 ) = V c , ψ 1 = π rad. UAV 2’s initial position A 2 ( 0 ) = (−5 km; 0 km), V 2 ( 0 ) = V c , ψ 2 ( 0 ) = 0 rad. t * represents the predicted collision time instant.
Applsci 10 05613 g010
Figure 11. Scenario #2. Distance over time between UAV 1 and UAV 2.
Figure 11. Scenario #2. Distance over time between UAV 1 and UAV 2.
Applsci 10 05613 g011
Figure 12. Scenario #3. Eight UAVs uniformly distributed as a circular pattern converging to the center of the airspace and reaching the destination points on the opposite side. UAVs’ initial positions A i = 5 cos ( α i ) ; 5 sin ( α i ) km, α i = ( i 1 ) ( 2 π / 8 ) i = 1 , , 8 , V i ( 0 ) = V c , ψ i = α i + π . Dotted lines represent the UAVs’ planned paths, whereas solid lines represent the actual trajectories. Circular markers indicate the UAVs’ positions at the time the collision is predicted.
Figure 12. Scenario #3. Eight UAVs uniformly distributed as a circular pattern converging to the center of the airspace and reaching the destination points on the opposite side. UAVs’ initial positions A i = 5 cos ( α i ) ; 5 sin ( α i ) km, α i = ( i 1 ) ( 2 π / 8 ) i = 1 , , 8 , V i ( 0 ) = V c , ψ i = α i + π . Dotted lines represent the UAVs’ planned paths, whereas solid lines represent the actual trajectories. Circular markers indicate the UAVs’ positions at the time the collision is predicted.
Applsci 10 05613 g012
Figure 13. Scenario #4. Twenty UAVs uniformly distributed as a circular pattern converging at the center of the airspace and reaching the destination points on the opposite side. UAVs’ initial position A i = 5 cos ( α i ) ; 5 sin ( α i ) km, α i = ( i 1 ) ( 2 π / 20 ) i = 1 , , 20 , V i ( 0 ) = V c , ψ i = α i + π . Dotted lines represent the UAVs’ planned paths, whereas solid lines represent the actual trajectories. Circular markers indicate the UAVs’ positions at the time the collision is predicted.
Figure 13. Scenario #4. Twenty UAVs uniformly distributed as a circular pattern converging at the center of the airspace and reaching the destination points on the opposite side. UAVs’ initial position A i = 5 cos ( α i ) ; 5 sin ( α i ) km, α i = ( i 1 ) ( 2 π / 20 ) i = 1 , , 20 , V i ( 0 ) = V c , ψ i = α i + π . Dotted lines represent the UAVs’ planned paths, whereas solid lines represent the actual trajectories. Circular markers indicate the UAVs’ positions at the time the collision is predicted.
Applsci 10 05613 g013
Figure 14. Scenario #5. Four pairs of UAVs following parallel paths pointing to the opposite side. Dotted lines represent the UAVs’ planned paths, whereas solid lines represent the actual trajectories.
Figure 14. Scenario #5. Four pairs of UAVs following parallel paths pointing to the opposite side. Dotted lines represent the UAVs’ planned paths, whereas solid lines represent the actual trajectories.
Applsci 10 05613 g014
Figure 15. Scenario #6. Sixteen UAVs following parallel paths pointing to the opposite side. Dotted lines represent the UAVs’ planned paths, whereas solid lines represent the actual trajectories.
Figure 15. Scenario #6. Sixteen UAVs following parallel paths pointing to the opposite side. Dotted lines represent the UAVs’ planned paths, whereas solid lines represent the actual trajectories.
Applsci 10 05613 g015
Figure 16. Scenario #7. Four UAVs converging to the center of the airspace and pointing to the opposite side in the presence of fixed obstacles. A i = 20 cos ( α i ) ; 20 sin ( α i ) km, α i = ( i 1 ) ( 2 π / 4 ) i = 1 , , 4 , V i ( 0 ) = V c , ψ i = α i + π . Dotted lines represent the UAVs’ planned paths, whereas solid lines represent the actual trajectories. Obstacles are represented as yellow boxes.
Figure 16. Scenario #7. Four UAVs converging to the center of the airspace and pointing to the opposite side in the presence of fixed obstacles. A i = 20 cos ( α i ) ; 20 sin ( α i ) km, α i = ( i 1 ) ( 2 π / 4 ) i = 1 , , 4 , V i ( 0 ) = V c , ψ i = α i + π . Dotted lines represent the UAVs’ planned paths, whereas solid lines represent the actual trajectories. Obstacles are represented as yellow boxes.
Applsci 10 05613 g016
Figure 17. Scenario #7. Distances over time between UAVs. The distances between UAVs 1–3 and 2–4 are superimposed, the same as the distances between UAVs 1–2, 1–4, 2–3, and 3–4.
Figure 17. Scenario #7. Distances over time between UAVs. The distances between UAVs 1–3 and 2–4 are superimposed, the same as the distances between UAVs 1–2, 1–4, 2–3, and 3–4.
Applsci 10 05613 g017
Table 1. Simulation parameters of Scenarios #1–#6.
Table 1. Simulation parameters of Scenarios #1–#6.
d m i n 200 m
Turning Radius R m i n 100 m
Cruise Speed v c 10 m/s
Sample Time Δ t 0.5 s
Prediction Time Horizon T d 20 s
Table 2. Scenario #3: Minimum distances between UAVs (m).
Table 2. Scenario #3: Minimum distances between UAVs (m).
12345678
1-3897199391017939719389
2 -3897199391017939719
3 -3897199391017939
4 -3897199391017
5 -389719939
6 -389719
7 -389
8 -
Table 3. Scenario #5: Minimum distances between UAVs (m).
Table 3. Scenario #5: Minimum distances between UAVs (m).
12345678
1-294643526221372372702
2 -930643658702221658
3 -294658221702658
4 -702372372221
5 -294643930
6 -526643
7 -294
8 -

Share and Cite

MDPI and ACS Style

Blasi, L.; D’Amato, E.; Mattei, M.; Notaro, I. Path Planning and Real-Time Collision Avoidance Based on the Essential Visibility Graph. Appl. Sci. 2020, 10, 5613. https://doi.org/10.3390/app10165613

AMA Style

Blasi L, D’Amato E, Mattei M, Notaro I. Path Planning and Real-Time Collision Avoidance Based on the Essential Visibility Graph. Applied Sciences. 2020; 10(16):5613. https://doi.org/10.3390/app10165613

Chicago/Turabian Style

Blasi, Luciano, Egidio D’Amato, Massimiliano Mattei, and Immacolata Notaro. 2020. "Path Planning and Real-Time Collision Avoidance Based on the Essential Visibility Graph" Applied Sciences 10, no. 16: 5613. https://doi.org/10.3390/app10165613

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