1 Introduction

Path planning of UAV focuses at automatically developing attainable paths from the predetermined start to the target point considering static and dynamic environmental constraints and uncertainties. Path planning in higher dimensions unlike 2-Dimensional environment has extensive potential, significantly becoming more complicated to understand [1]. Different UAV path planning algorithms and collision avoidance mechanisms have been proposed lately. These algorithms were sectioned into five segments as in [2] and contains different strategies which adapt to follow certain attributes. The subsections include sampling based path planning, node based optimal algorithm, mathematical model based algorithm, bio-inspired algorithm and multifusion based algorithm.

Lin et al presented the design and implementation of closed-loop RRT with modifications. Software and hardware experimental results demonstrated that the algorithm can continuously develop paths for UAVs, rid of obstacles of various numbers moving at different rates [3]. Liu et al proposed a hybrid crash evasion strategy based on fuzzy logic approach, alongside a modified course following methodology developed using RRT [4]. Hao et al presents a methodology for choosing the path with minimum distance, processed using grids on rasterized environment utilizing A* algorithm [5]. Mangal et al utilized a chance constraint to restrict the chances of limitation infringement to build up a real-time probabilistic path generator using rapidly exploring random tree (RRT) algorithm to handle uncertain dynamic obstacles [6]. Jiawei et al developed an adaptable method to maximize the convergence rate in a cluttered 3D environment, by re-characterizing the search space depending on 2D Informed RRT* [7]. Be that as it may, these techniques do not computationally scale well to incorporate a number of obstacles, static as well as dynamic.

In this paper, sampling based methods to generate a feasible path for UAV collision avoidance with dynamic obstacle is proposed. Algorithms like RRT [8], RRT*[7], Probabilistic road map [9], Voronoi, visibility graphs, Artificial potential field [10] come under sampling based methods. Rapidly exploring random tree algorithm is chosen as it has advantages [2, 3] like capable to find a path attainable in brief time frame, ensures probabilistic fulfillment appropriate to various unique dynamic models, empowers trajectory-wise monitoring, so it does not require separate search algorithm and no explicit enumeration of constraints. But face some limitations such as: a) in the event that there exists a lot of obstacles in the state space, the possibility of finding a point that isn’t lying in an obstacle region and the ability to link with the tree is little. b) A narrow path is also hard to follow. c) RRT is time consuming in case of large workspace and non-optimal with several unnecessary branches. To overcome these limitations, modification is been proposed by simplifying the node connection strategy of randomly generated nodes of standard RRT and has been coupled with reachable sets to detect the dynamic obstacles position for avoiding collision. The remainder of the paper is organized as problem statement, methods description, results and discussions.

2 Problem statement

The path generated connecting the defined start (xs, ys, zs ) and goal (xg, yg, zg) in the workspace must be collision free, is the main objective. Collision free means that no static or dynamic obstacles (xOi(t)) come under the safety zone (O(x(t))) of UAVs, at any instant of time. The path [11] is described as

$$ f(x,y,z) = 0 $$
(1)

Where Oi is calculated by the constant velocity prediction model at t. The anticipated position of the obstacles is given by,

$$ x_{oi} (t) = x_{oi} (t_{o} ) + v_{oi} (t_{o} )*(t - t_{o} ) $$
(2)

The shortest path length is derived by using the differential arc length along the paths,

$$ f^{*} = \mathop {\arg \min }\limits_{f} \int_{f} {ds} $$
(3)

The assumptions made are, a) obstacles move with constant velocity. b) positions, velocities of obstacles and UAV states are known to the path planner developed using the algorithm.

3 Algorithm description

3.1 Sampling-based path planning

These methods first randomly sample the workspace as a set of nodes, then haphazardly map the workspace to identify the best path. These methods have an uncomplicated framework, hence any modification can be made and they are more suitable for online planning conditions. Under sampling based methods RRT algorithm is chosen and it is modified to overcome limitations faced by basic RRT algorithm.


3.1a Modified RRT algorithm: The Modified Rapidly-exploring Random Tree algorithm is developed in this paper as shown in figure 1. Developments were made in RRT algorithm by modifying the node connecting strategy, generating a viable path in a short time. Additional paths were included by connecting the in-between waypoints in the developed paths to the goal and the reachable set concept is utilized to compute the states of obstacles in motion, for better reactionary obstacle detection.

Figure 1
figure 1

Modified RRT algorithm.


3.1b Simplified node connection strategy: An approach to modify the node linking strategy is found to hasten the path planning rate. Contrasted with the standard RRT technique, sampled point is joined from the start point rather than the closest point of the RRT tree. In every sequence of simulation, a course is simulated from the start point to the sampled point and checked against limitations. If requirements are fulfilled, then another course from the sampled point to the objective (goal) point is simulated. An entire trajectory course linking the start and goal point is attained, only if the limitations formulated are satisfied as illustrated in figure 2(a). The proficiency of the method is further improved by exploiting the intermediate points obtained by discretizing the collision-free path generated by simplified node joining strategy. This process is repeated and all these trajectories are again simulated to check against constraints from intermediate points. Among the trajectories developed, the shortest is chosen. The features of the algorithm are shown as flowchart in figure 3.

Figure 2
figure 2

(a) Simplified node connection strategy – MRRT, (b) Representation of reachable set.

Figure 3
figure 3

Flowchart of simplified node connection strategy.


3.1c Collision Avoidance with Reachable Sets (CARS): The methods such as standard RRT and simplified node connection strategy predict the collision by assuming that obstacles move in linear motion. But in reality, obstacles may not follow the straight path consistently; this can be dealt using reachable sets. A reachable set of the moving obstacle is the region determined by set of all possible trajectories that can reach at any time instance. Reachable sets are calculated by using the Dubins car model for obstacle in motion as of [12].

In figure 4 the obstacle have assumed to move at constant speed and with the permitted maximum turn rate of ωmax to the right and -ωmax to the left for the given time period figure 4(a). Thus a set of permitted trajectories are generated, composing the reachable sets figure 4(b). The developed approach checks, whether the selected course converges with the obstacles in motion or not, utilizing the concept of reachable sets as illustrated in figure 2(b). Frequent changes in the position of UAV and obstacles’ is made available to the path generator. An evasion path will be generated by MRRT algorithm, if the obstacle is away from the UAV. Else, an avoidance maneuver such as vertical or horizontal maneuver is taken if the obstacle is too close or enters the safety region. The path developed is simulated and checked against limitations with upgraded states. The procedure is rehashed until the UAV arrives at its target node as shown in flowchart figure 5.

Figure 4
figure 4

Illustration of Reachable set concept. (a) Possible trajectories of an obstacle in motion. (b) Set of possible trajectories form the reachable sets.

Figure 5
figure 5

Flowchart of Collision avoidance using reachable sets.

4 Results and discussion

The simulation of Standard RRT algorithm and modified RRT algorithm with collision avoidance using reachable sets are simulated using the software Python 3.7. Simulation results are presented as follows,

4.1 Implementation of RRT algorithm

A Path is developed autonomously from the Start to Goal State by randomly exploring the nodes in the given workspace by the algorithm of randomly exploring random tree and the path created is free of obstacles which are shown in figure 6 and the data are tabulated in table 1.

Figure 6
figure 6

(a) Static obstacles, start and goal point is set. (b) Path created by RRT Algorithm.

Table 1 Workspace description consisting of obstacles and the sample nodes explored by RRT algorithm.

4.2 Implementation of modified RRT algorithm

4.2a Simplified node connection strategy: Simplified node connection strategy is simulated for the same start and goal node used in RRT algorithm simulation, and a path not colliding with obstacles, is generated through the single node in a short time compared to RRT, shown in figure 7 and the data are tabulated in table 2.

Figure 7
figure 7

(a) Static obstacles start and goal point is set. (b) Path generated by modified RRT algorithm.

Table 2 Workspace description consisting of obstacles and the sample nodes explored by MRRT algorithm.

Comparison between the standard RRT and MRRT algorithm is made in terms of time taken by the algorithms in generating the feasible path using the same workspace dimension, start and goal node. MRRT more likely to generate the path in short time than standard RRT, plotted in figure 8 and the data are tabulated in table 3.

Figure 8
figure 8

Comparison - RRT vs. MRRT.

Table 3 Time taken to generate path RRT vs MRRT for same start and goal node.

4.3 Collision avoidance using reachable sets (CARS)

Trajectory simulated along the set path in 2D workspace, and the path gets updated based on the reachable sets of static obstacles (circular and rectangular objects) and dynamic obstacle (circular object with D) to avoid collision along the trajectory and the simulation results are shown in figures 9, 10, 11, 12, 13, 14, 15. Implementation steps of algorithm are as follows.

Figure 9
figure 9

Workspace [800, 600] with Static and dynamic obstacles.

Figure 10
figure 10

(a) Start point and (b) goal point set for simulation.

Figure 11
figure 11

Trajectory defined by simplified node connection strategy.

Figure 12
figure 12

Holonomic object movement along the trajectory.

Figure 13
figure 13

Trajectory changes with reachable sets of dynamic obstacle.

Figure 14
figure 14

Green shadowing - safety region.

Figure 15
figure 15

Connecting to the final goal.

Step 1: Created workspace with static obstacles (circular and rectangular objects) and dynamic obstacle (circular object with D).

Step 2: Start and goal point set randomly, and started adding candidate paths, figures 10 (a) and (b).

Step 3: MRRT planner starts exploring the workspace and sets a defined initial path to the goal which (figures 11 and 12) describes simplified node connection strategy.

Step 4: Defined collision free trajectory changes with the movement of dynamic obstacles as following the path using the reachable sets formulation technique, figures 13 (a) and (b).

Step 5: Goal region is reached without colliding with the obstacles in figures 14 and 15.

Goal reached in 35 sec and initial path created at 10 sec avoiding the obstacles by identifying potential collisions along the path generated by MRRT technique. The intermediate points are used to set candidate paths among the total nodes explored of about 1294.

Collision avoidance using reachable sets is simulated using the UAV module in 3D environment. UAV takes reactive action when found that the initial path is not feasible and then moves along the new path avoiding collision with moving plates to reach the goal, shown in figure 16.

Figure 16
figure 16

Simulation of CARS in 3D workspace.

5 Conclusion

In this paper, modified RRT algorithms with collision avoidance using reachable sets were developed. The developed algorithm were simulated in the Python software in 2D and 3D workspace by utilizing the python modules. Results show modified RRT algorithm develops collision free path within a short time compared to RRT when simulated with static and dynamic obstacles. Results show that the proposed method was more robust to deal with unexpected obstacle maneuvers, by defining the trajectory autonomously and following up without colliding with the obstacles along predicting the potential collision. Path effectively changes based on the prediction of obstacles in motion using reachable sets calculated using dubins model approach to avoid collision along the trajectory. The validation of this work in HILS (Hardware in Loop simulation) which is in progress.