Abstract

During the last decade, Rapidly-exploring Random Tree star (RRT) algorithm based on sampling has been widely used in the field of unmanned aerial vehicle (UAV) path planning for its probabilistically complete and asymptotically optimal characteristics. However, the convergence rate of RRT as well as B-RRT and IB-RRT is slow for these algorithms perform pure exploration. To overcome the weaknesses above, Biased Sampling Potentially Guided Intelligent Bidirectional RRT (BPIB-RRT) algorithm is proposed in this paper, which combines the bidirectional artificial potential field method with the idea of bidirectional biased sampling. The proposed algorithm flexibly adjusts the sampling space, greatly reduces the invalid spatial sampling, and improves the convergence rate. Moreover, the deeply theoretical analysis of the proposed BPIB-RRT algorithm is given regarding its probabilistic completeness, asymptotic optimality, and computational complexity. Finally, compared to the latest UAV path planning algorithms, simulation comparisons are demonstrated to show the superiority of our proposed BPIB-RRT algorithm.

1. Introduction

Nowadays, Unmanned Aerial Vehicles (UAV) are being widely applied to military or civilian fields, e.g., mining surveillance [1], search and rescue operations [2], image recognition [3], cropland assessment [4], and so on. The increasing demands have brought in focus on reducing dependencies on human operators. Path planning plays an important role in enhancing the ability of autonomous and intelligent flight of UAV. In general, given the start and target locations, the goal of path planning is defined as planning a feasible path while satisfying certain criteria, such as distance, smoothness, and obstacle avoidance. Various methods for solving the path planning problem have been raised, such as Rapidly-exploring Random Tree (RRT) [5], Rapidly-exploring Random Tree star (RRT) [6], ant colony optimization [7], particle swarm optimization [8], simulated annealing method [9], and neural network method [10].

In recent years, RRT and RRT algorithms have been widely applied to solve the problem of path planning, such as [11, 12], as they performed very well without the information of obstacle configuration in high-dimensional spaces. Different from the traditional RRT algorithm, RRT algorithm obtains the local optimal path by updating the old parent node constantly, which makes the global path tend to be optimal. Moreover, RRT can provide a probabilistically complete and asymptotically optimal path. However, RRT and RRT algorithms perform pure exploration, which can cause it to have very slow rate of convergence in highly dimensional environment. Moreover, the randomly sampled characteristics of RRT and RRT algorithms make the generated path not smooth enough.

In order to improve the convergence rate, variant improvements on RRT and RRT algorithms have been extensively explored [1315]. In [13], the D Lite Rapidly-exploring Random Tree star (DL-RRT) algorithm has been proposed for path replanning in dynamic radioactive environments, which uses the expansion strength of grid search strategy from D Lite to quickly find a high-quality initial path to accelerate the convergence rate in RRT. However, the path planning method used in [13] was based on single-tree version, so that there is still limitation in the convergence rate. In the work [14], the authors proposed the Bidirectional RRT (B-RRT) to build two trees rooted at the start and goal configurations, respectively. Reference [15] has extended B-RRT to exploit the possibilities of dynamically dividing up the whole map into four submaps and growing the random tree in every submap using Graphic Processing Unit (GPU) threads. In the other words, Quad-RRT [15] computed four random trees instead of two trees built by bidirectional approaches. The bidirectional tree version of RRT known as Bidirectional RRT (B-RRT) has been presented in [16], which employed a greedy connect heuristic for the connection of two directional trees. However, above-mentioned multiple tree versions of RRT and RRT performed pure space exploration without using biased sample to guide random trees. Meanwhile, aforementioned algorithms are mainly effective for path planning in 2D environment.

It is well known that a feasible path of UAV should be planned in 3D environment, for 3D environment is more applicable to low-altitude and terrain-following flight. The 3D environment path planning problem has been widely investigated in [1720]. A bidirectional spline-RRT path planning algorithm has been proposed in [17] for fixed-wing UAVs that can find paths in highly constrained planning environments. The proposed algorithm can improve the smoothness of the generated path, but does nothing to accelerate the convergence rate. The Intelligent Bidirectional-RRT (IB-RRT) algorithm has been proposed in [18] for complex cluttered environments, which introduces an intelligent sample insertion heuristic for fast convergence to the optimal path solution by using uniform sampling heuristics. However, aforementioned variants of the RRT algorithm still perform pure exploration without guide for sampling, which should make the path planning algorithm to have slow convergence rate and suffer in highly cluttered environments. Reference [19] presented the Potential Function Based-RRT (P-RRT) algorithm for better convergence properties by introducing a Random Gradient Descent (RGD) heuristic. The RGD heuristic guides the randomly sampled states incrementally downhill in the direction of decreasing potential so that the convergence rate is improved. Then, the new bidirectional potential gradient heuristics was presented in [20] to potentially guide two rapidly-exploring random trees towards each other in the bidirectional sampling-based motion planning, and hence the two algorithms called Potentially Guided Bidirectional RRT (PB-RRT) and Potentially Guided Intelligent Bidirectional RRT (PIB-RRT) greatly improved the sampling efficiency, resulting in faster convergence rate and excellent performance in highly cluttered environment. However, the biased sampling technique was not introduced in the PIB-RRT and PB-RRT algorithms [20]. Moreover, the fixed attractive pole may give misleading information that points the random trees in the wrong direction. By introducing the idea of target gravity, the tGSRT algorithm was presented in [5]. The speed of the initial path search was increased, and the path was optimized by the genetic algorithm (GA) and smooth processing. Nevertheless, there are some limitations in the sampling procedure, and the path generated with jags is inevitable.

In this paper, we present the concept of Biased Sampling Potentially Guided Intelligent Bidirectional RRT (BPIB-RRT) for path planning of UAV, guiding two random trees towards each other by incorporating the proposed bidirectional biased sampling and bidirectional potential field heuristics. This paper presents the bidirectional biased sampling heuristic to provide a higher deviation for sampling in the right direction based on the relative position relation between the target trees with the sampling. Also, dynamic attractive pole based on the growth trend of the target trees as the bidirectional potential field heuristic is introduced into BI-RRT, which pulls the random trees towards each other fast. The idea of the BPIB-RRT algorithm reduces the invalid nodes generated by random sampling in state space and enhances the guidance, which can improve the sampling efficiency of the algorithm. Moreover, the generated path is smoothed by B-spline to meet the path constraint conditions of UAV, which improves the flight ability. The algorithm is novel and can greatly improve the convergence rate and smoothness of the planning path for 3D environment.

The remainder of the paper is divided into the following sections: Section 2 provides the explanation of symbols which are used to describe the problem. Section 3 gives the related works and backgrounds of the BPIB-RRT algorithm. Section 4 explains the BPIB-RRT algorithm proposed in this paper. Section 5 presents the theoretical analyses of the BPIB-RRT algorithm. Section 6 gives simulation results regarding the comparison of data and figures. Finally, conclusions are drawn in Section 7.

2. Problem Definition

This section will describe the notations that are used in this paper. The state space is represented by the set . Furthermore, the given configuration space is divided into obstacle regions and obstacle-free regions which are denoted by and , respectively. Let and represent two random trees which are initialized by and as their root vertex, respectively. , , , and denote the vertices and edges of two trees and . The closed ball of radius centred at is defined as . Let denote the number of iterations. Let be the set of feasible path produced by an algorithm where and is the number of a complete path vertexes. The problem of UAV path planning is to find a feasible path from the initial state to the target location in the least amount of time possible in the 3D environment. A complete feasible path is denoted by .

Let the cost function denote the cumulative sum of cost (in terms of Euclidean distance) of coordinate to coordinate , and this calculation process continues till . The cost function can be defined aswhere

In this section, various RRT algorithms are described briefly.

3.1. RRT Algorithm

The RRT [6] algorithm is explained in detail in Algorithm 1. The RRT algorithm initializes the random tree with initial location to start the iterative process (Line 1). The random sample is given by Sample () (Line 3). Then, the near vertices or the nearest vertex of is obtained by NearVertices() or NearestVertex() (Line 4–7). The populated set is then sorted by the GetSortedList() procedure (Line 8). ChooseBestParent() returns with minimum cost from the random tree to in obstacle-free space (Line 9). Once the best parent vertex is located, is inserted into the random tree by making its child and the rewiring procedure is executed (Line 10–13). Algorithm iteration continues till or the goal location is explored.

(1)V ⟵ {Sinit}; E ⟵ Ø; T ⟵ (V, E);
(2)for k ⟵ 0 to K do
(3)qrand ⟵ Sample(k)
(4)Qnear ⟵ NearVertices(qrand, T)
(5)  if Qnear = Ø then
(6)   Qnear ⟵ NearestVertex(qrand, T)
(7)  end
(8)  Ls ⟵ GetSortedList(qrand, Qnear)
(9)  qmin ⟵ ChooseBestParent(Ls)
(10)  if qmin ≠ Ø then
(11)   T ⟵ InsertVertex(qrand, qmin, T)
(12)   T ⟵ RewireVertices(qrand, Ls, E)
(13)  end
(14)end
(15)return T = (V, E)
3.2. B-RRT Algorithm

Algorithm 2 is given in this section, which outlines the implementation of Bidirectional RRT (B-RRT) in detail.

(1)V ⟵ {Sinit, Sgoal}; E ⟵ Ø; Ta ⟵ (Sinit, E); Tb ⟵ (Sgoal, E);
(2)ηbest ⟵ ∞
(3)for k ⟵ 0 to K do
(4)qrand ⟵ Sample(k)
(5)qnearest ⟵ NearestVertex(qrand, Ta)
(6)qnew ⟵ Extend(qnearest, qrand)
(7)Qnear ⟵ NearVertices(qnew, Ta)
(8)Ls ⟵ GetSortedList(qnew, Qnear)
(9)qmin ⟵ ChooseBestParent(Ls)
(10)  if qmin ≠ Ø then
(11)   T ⟵ InsertVertex(qnew, qmin, Ta)
(12)   T ⟵ RewriteVertices(qnew, Ls, E)
(13)  end
(14)  qconn ⟵ NearestVertex(qnew, Tb)
(15)  ηnew ⟵ Connect(qnew, qconn, Tb)
(16)  if ηnew ≠ Ø &&C(ηnew) < C(ηbest) then
(17)   ηbest ⟵ ηnew
(18)  end
(19)  SwapTrees(Ta, Tb)
(20)end
(21)return Ta, Tb = (V, E)

The B-RRT [14] algorithm initializes two random trees and in the same manner as they were in the RRT (Line 1). The B-RRT [14] algorithm starts with sampling from the obstacle-free space , and the same process is acted on this random node (Line 4–9). Then, is inserted into the random tree by InsertVertex() (Line 10–13), and the nearest node from tree is found (Line 14). If Connect() heuristic successfully connects random trees and , a feasible path from to is generated (Line 15). The cost of is compared with the previously computed path cost to confirm an optimal path with less cost (Line 16–18). Then, random trees and are swapped, and the procedures mentioned above are executed on the other tree again.

3.3. IB-RRT Algorithm

This section explains the implementation of Intelligent Bidirectional RRT [18] (IB-RRT). The IB-RRT algorithm is proposed, which can use the GetBestTreeParent() heuristic to obtain the best parent from two trees or .

The IB-RRT [18] algorithm initializes the random tree and as well as B-RRT. The random vertex is produced by Sample(). Then, the near neighbour vertices and are generated by NeghboringVertices() from and , respectively. Both neighbouring vertex sets and are sorted by the GetSortedList() procedure. The GetBestTreeParent() heuristic returns the best parent from or . Then, the is inserted in the best selected tree, and the rewiring procedure is executed.

3.4. PIB-RRT Algorithm

The PIB-RRT [20] algorithm incorporates the Artificial Potential Fields (APF) into IB-RRT by using the BPG() heuristic. The BPG() heuristic returns the potentially guided bidirectional randomly sampled state . The BPG() heuristic is shown in Algorithm 3 and explained below.

(1)qpb ⟵ qrand
(2)if k mod 2 = 0 then
(3)for k ⟵ 0 to n do
(4)  Fatt = BPGgoal (Sgoal, qpb)
(5)   ⟵ NearestObstacleSearch(Sobs, qpb)
(6)  if  ≤  then
(7)   return qpb
(8)  else
(9)   qpb ⟵ qpb + ε
(10)else
(11)for k ⟵ 0 to n do
(12)  Fatt = BPGinitt(Sinit, qpb)
(13)   ⟵ NearestObstacleSearch(Sobs, qpb)
(14)  if  ≤  then
(15)   return qpb
(16)  else
(17)   qpb ⟵ qpb + ε
(18)return qpb
(1)Va ⟵ {Sinit}; Vb ⟵ {Sgoal}; Ea ⟵ Ø; Eb ⟵ Ø;
(2)Ta ⟵ (Va, Ea); Tb ⟵ (Vb, Eb);
(3)qprev1 = Sinit
(4)qprev2 = Sgoal
(5)ηbest ⟵ ∞
(6)Connection ⟵ True
(7)for k ⟵ 0 to K do
(8)qrand ⟵ Sample(k)
(9)qbia ⟵ Bi-bias(qrand, k, qprev1, qprev2)
(10)qop ⟵ BPF(qbia, k, qprev1, qprev2)
(11) {, } ⟵ NeighbouringVertices(qop, Ta, Tb)
(12)if  = Ø and  = Ø then
(13)  {, } ⟵ NearestVertex(qop, Ta, Tb)
(14)  Connection ⟵ False
(15)La ⟵ GetsortedList(qop, )
(16)Lb ⟵ GetsortedList(qop, )
(17) {qparent, flag, ηbest} ⟵ GetBestTreeParent(La, Lb, Connection)
(18)if (flag) then
(19)  Ta ⟵ InsertVertex(qop, qparent, Ta)
(20)  Ta ⟵ RewriteVertices(qop, La, Ea)
(21)  qprev1 ⟵ qop
(22)else
(23)  Tb ⟵ InsertVertex(qop, qparent, Tb)
(24)  Tb ⟵ RewriteVertices(qop, Lb, Eb)
(25)  qprev2 ⟵ qop
(26)E ⟵ Ea ∪ Eb
(25)V ⟵ Va ∪ Vb
(26)return {Ta, Tb} = (V, E)
(27)η∗ ⟵ B-spline(Ta, Tb)
Step 1: Sampling optimization: randomly sampled state is obtained by the sampling process in the given state space. Then, the biased node based on the growth trend of the target random tree is obtained by using the Bi-bias() heuristic. After being guided by the BPF() heuristic, randomly sampled state turns into biased potentially guided bidirectional randomly sampled state such that , where . Bi-bias() and BPF() heuristics have been explained later in this section.
Step 2: Insert vertex: the GetBestTreeParent() heuristic finds the best parent for the state obtained in Step 1 from random trees or and InsertVertex() insert the into the best selected tree. Step 1 and Step 2 continue till .
Step 3: Generate the path. As iteration, , goes from to , a feasible solution path from initial to goal configuration is found. Then, the final path is smoothed by B-spline. Finally, BPIB-RRT can provide a smooth feasible path. The pseudocode of BPIB-RRT is given in Algorithm 4.

BPG(): if the iteration number is even, the potentially guided bidirectional randomly sampled state is fed into the BPGgoal() heuristic, which is used to calculate the attractive force working on . Comparing with a constant , will be guided downhill in the direction of decreasing potential towards the goal region. Similarly, for odd iteration , is passed to the BPGinit() heuristic and attractive force is calculated. Then, is pulled towards by the BPGinit() heuristic.

4. Biased Sampling Potentially Guided Intelligent Bidirectional RRT

In this section, we present our proposed algorithm, Biased Sampling Potentially Guided Intelligent Bidirectional RRT (BPIB-RRT).

4.1. Algorithm Process

The detailed procedure of the proposed algorithm is explained as mentioned below.

From aforementioned descriptions, the flow chart of the BPIB-RRT algorithm can be presented in Figure 1.

Extra procedures employed by BPIB-RRT are explained below, whereas the rest are exactly the same as they are for IB-RRT. Therefore, only the Bi-bias() heuristic and BPF() heuristic are explained in detail.

4.2. Bi-bias()

The random sampling process of the RRT algorithm based on full space causes its convergence to the optimal solution very slow. Hence, the Bi-bias() heuristic based on the growth trend of the target tree is introduced into IB-RRT. is generated by Sample() firstly and then passed to Bi-bias(). If the iteration count is even, then the randomly sampled state is pulled toward the random tree . The bias direction can be obtained by analysing the relative position between and , where is the new vertex of the target tree . The Bi-bias() heuristic can provide a higher deviation in the right direction before generating the bias node . If the iteration count is odd, the random tree attracts the randomly sampled state . Similarly, the relative position between and is calculated to provide a higher deviation for , where is the new vertex of the target tree .

The bias formulas are shown below:where denotes the random state coordinate, and represent the new vertex of target trees and , respectively. denotes the random function between and . Bias node is calculated by the aforementioned formulas.

It can be seen from Figure 2, there are eight relative positions between and in state space. Take the spatial position shown in Figure 2 as an example, part of the Bi-bias() heuristic is shown in Algorithm 5. The calculation of other spatial relationships for and is the same. By feeding back the vertex position of the two random trees, Bi-bias() updates the spatial position of random state dynamically, improves the effectiveness of the sampling process, and furthermore reduces the number of iterations of the algorithm.

(1)if k mod 2 = 0 then
(2) if (xprev2 < xrand) then
(3)  if (yprev2 < yrand) then
(4)   if (zprev2 > zrand) then
(5)    xbia = xrand − xrand
(6)    ybia = yrand − yrand
(7)    zbia = zrand +  (zprev2 − zrand)
(8)else
(9) if (xprevl < xrand) then
(10)  if (yprevl < yrand) then
(11)   if (zprev1 > zrand) then
(12)    xbia = xrand − xrand
(13)    ybia = xrand − yrand
(14)    zbia = zrand −  (zprev1 − zrand)
(15)return qbia = (xbia, ybia,zbia)
(16)end
4.3. BPF()

Artificial potential field (APF) has a good application in obstacle avoidance technology of UAV. The APF algorithm constructs attractive field and repulsive force field based on the target point and obstacles in the planning space, respectively. The goal region pulls the robot towards it, and the obstacles repel the robot away from the obstacle configuration space . The force exerted to the robot is equal to the resultant force of attractive force and repulsive force at this location [21]. APF is simple to operate and has a fast convergence speed. It could get stuck in the local minima for it performs pure exploitation, and it is greedy. APF is smooth in mathematic which means the tangent and the velocity are always continuous [22] and improves UAV stability. The equation of attraction field is discussed below:where is the attraction field, is the attraction field coefficient, is the current position of the UAV, is the goal location, and is the distance between the current point and the goal location. The attraction field force is generated by taking a negative gradient

The repulsive field is generated by all obstacles .where is the repulsion field generated by the obstacle at .where is the repulsive field coefficient, is the effective radius of the repulsive field, and is the distance between the obstacle and the current position . Correspondingly, let sign the repulsion force,where .

The resultant force on the UAV at point is .

Incorporating APF into IB-RRT by using the Bidirectional Potential Field heuristic (BPF()), pseudocode of the BPF() heuristic is presented in Algorithm 6. The current vertices of two random trees and are first fed into the BPF() algorithm. When the number of iterations is even, the new vertex of the is treated as the target point of the bias point , and the attraction force based on the is calculated. is the distance between the bias point and the obstacle. denotes the radius of repulsion field. If is less than , will be guided toward the direction of the resultant force based on the repulsion force and the attraction force, otherwise only attraction force works on . Then, the optimal random node is obtained. If the iteration count is odd, the BPF() heuristic treats the new vertex of the as the attraction field of the bias point . Similarly, is directed downhill in direction of the decreasing potential by computing the resultant force, and the optimal random node is produced.

(1)qop ⟵ qbia
(2)if k mod 2 = 0 then
(3)  FAtt = computeAttForce(qprev2, qop)
(4)  Dnearest = ρ(Sobs, qop)
(5)  if  ≤  then
(6)   FRep = computeRepForce(qop, Sobs)
(7)   qop = qop + 
(8)  else
(9)   qop = qop + 
(10)  end
(11)else
(12)  FAtt = computeAttForece(qprev1, qop)
(13)  Dnearest = ρ(Sobs, qop)
(14)  if  ≤  then
(15)   FRep = computeRepForce(qop, Sobs)
(16)   qop = qop + 
(17)  else
(18)   qop = qop + 
(19)  end
(20)end
(21)return qop
4.4. Path Generation Using B-Spline

The curvature of path generated by the RRT algorithm is noncontinuous. Therefore, the initial path cannot meet the flight constraints of UAV. To overcome this shortcoming, B-spline is introduced into BPIB-RRT due to its high flexibility and arbitrary continuity. The path vertices generated by the BPIB-RRT algorithm are fed into B-spline as its control points to generate a smooth path with continuous curvature [23]. The equation of the B-spline curve can be presented by the following equation:where are the characteristic nodes of the spline curve. The B-spline basis function of degree , written as , can be expressed as follows:where .

5. Analysis

5.1. Probabilistic Completeness

Let denote the random variable of the distance with the minimum cost from node to the first random tree , and is the value of the random variable , where is the number of iterations for BPIB-RRT. Similarly, let denote the random variable of the minimum distance cost between nodes and , and is the value of the random variable. is the random variable of the distance with the minimum distance cost from to , where and belong to and , respectively. is the value of the random variable .

Probabilistic Completeness: for a robust feasible path planning problem , when the number of iterations approaches infinity, the distance between and is less than a constant . The probability of finding a feasible solution goes to one.

Theorem 1. The BPIB-RRT algorithm is a probabilistically complete algorithm. In the three-dimensional solution space , as the number of iterations approaches infinity, probability of finding a feasible path from the initial to goal region goes to one.

Proof. The closed ball of radius centred at is defined as . Similarly, for the closed ball is defined as .Let denote the intersection of the obstacle-free space and the closed ball . is denoted in the same way as .For , , where denotes the Euclidean distance from the initial to goal region. BPIB-RRT guides two rapidly-exploring random trees towards each other by using the proposed Bi-bias() and BPF() heuristics. Therefore, the distance between and is decreasing.For , it is assumed that all vertices in are outside the ball .Similarly,For the next growth of the random tree , according to the extension mode of BPIB-RRT, if , the mean of is as shown below:otherwise, the mean of is given by following:Thus,where .
Similarly, for the next growth of the random tree , if , then the mean of is as given below:otherwise, the mean of is expressed by the following form:Therefore,where .
Referring to (25) and (28), it is obvious that the distance between the vertex and the vertex is decreasing.
As the number of iterations reaches infinity, the probability of finding a feasible path approaches one.The BPIB-RRT algorithm does not change the random sampling characteristic of the RRT which ensures probabilistic completeness.

5.2. Asymptotic Optimality

Given a cost function , for an optimal path , the optimal cost can be confirmed by . Let denote the optimal path such that and , where . Let denote the random variable of the minimum path cost.

Theorem 2. As the total number of iterations reaches infinity, the cost of path generated by BPIB-RRT converges to the optimal cost .

Sketch of Proof. In reference to Theorem 14 in [11], similar to RRT, the BPIB-RRT attempts to establish a connection between the roadmap vertexes within a ball of dynamic radius that and can grow towards each other, where is a function of . The connection radius is denoted aswhere . denotes the Lebesgue measure, and denotes the volume of the unit ball in the -dimensional Euclidean space. As the same procedures happened in BPIB-RRT, according to Lemma 56, 71, and 72 in [12], it can be proved that BPIB-RRT is asymptotically optimal.

5.3. Computational Complexity

Let denote the mean of the total computation performed by BPIB-RRT with iterations. Theorem 3 proposes that the computational complexity of BPIB-RRT is a constant multiple higher than IB-RRT.

Theorem 3. There exists a constant such that it satisfies the following formula:

Sketch of Proof. Compared to IB-RRT, Bi-bias() and BPF() heuristics are introduced into BPIB-RRT. Notice that Bi-bias() and BPF() heuristics are both performed in a constant number of iterations and independent of the number of vertices in the tree. BPF() has to calculate all obstacles for the bias point which requires at least time. Furthermore, BPIB-RRT calls NearestVertex(), NeighbouringVertices(), Steer(), and ObstacleFree() procedures for both trees and just like IB-RRT which adds up a computation constant. Hence, as seen in Theorem 3, BPIB-RRT only vary from IB-RRT by in terms of computational complexity ratio.

6. Simulation Results

In order to analyse the effectiveness of BPIB-RRT, the 3D simulation examples will be made for three different 3D configuration spaces in this section.

Three different 3D configuration spaces are shown in Figure 3. The initial and goal locations are fixed at and , respectively in Map1 and Map2. The initial and goal locations are fixed at and in Map3. Spherical obstacles are generated in the configuration spaces to examine the efficiency of our proposed BPIB-RRT algorithm.

The maximum number of algorithm iterations is set as . If the total number of iterations exceeds the maximum, the simulation returns a feasible path or a failed one. BPIB-RRT, PIB-RRT, tGSRT, and RRT are examined in three aforementioned different 3D environments, and the simulation results are shown in Figures 49. From Figures 49, it can be obtained that PIB-RRT, tGSRT, and BPIB-RRT are effective for UAV path planning in 3D environments, whereas the traditional RRT algorithm may be failed. Besides, all the paths generated by our proposed BPIB-RRT algorithm can avoid obstacles, which have been obviously shown in Figures 79 with different visual angles. Table 1 shows the parameters obtained while running times of the four different algorithms with maximum, minimum, and average iterations and path cost (in terms of Euclidean metric). The conclusions of the examination and the simulations are discussed in detail below.

Figure 4 shows the simulation results of RRT in three different 3D maps. As seen from Table 1, RRT performs pure exploration that too many invalid samples lower efficiency of the algorithm. It may be hard or need a lot of iterations for RRT to find an optimal path. Therefore, a longer planning time is necessary for RRT to converge to an optimal solution. Meanwhile, RRT is failed to converge to the optimal solution 76%, 70%, and 62% of the times in three different maps, respectively.

The path planning results in three different environments for PIB-RRT are illustrated in Figure 5. Compared with the RRT algorithm, the PIB-RRT algorithm converges to the optimal solution faster. Random trees are potentially guided by bidirectional potential gradient heuristics towards each other to improve the sampling efficiency and reduces the planning time of the PIB-RRT in three different maps (Time = 25.627, 23.633, 25.739). However, the fixed attractive pole inside the BPG() heuristic still produced invalid sampling points. Also, the smoothness of the path is not considered in PIB-RRT.

It can be seen from Figure 6 that the tGSRT algorithm can search the path effectively in three different maps. However, the path generated by tGSRT algorithm with jags which cannot meet the constraint conditions of smooth and the jags may cause unstability for the flight of UAV. Furthermore, compared with the other algorithms, the paths generated by the tGSRT algorithm in three different maps are not the optimal solution (Path Cost = 204.861, 205.797, 195.709). Meanwhile, the planning time is increased (Time = 54.982, 60.663, 45.422) due to the evolutionary process (selection, crossover and mutation) of the genetic algorithm.

The simulation results in three maps of BPIB-RRT are shown in Figures 79. Also, different visual angle of results are given to present obviously. As seen from Table 1, based on the Bi-bias() heuristic and BPF() heuristic, the optimal solution is found in the Map1, most quickly with more efficient sampling strategy by BPIB-RRT(Time = 8.532 s). Comparing with PIB-RRT(Average Iterations = 205.473), the average number of iterations of BPIB-RRT is reduced (Average Iterations = 104.368). To improve the flight ability of the BPIB-RRT-generated path, the path vertices sequence is fed into B-spline to robustly produce a smooth optimal path. Figure 8 is another 3D environment with obstacles gradually growing larger, and BPIB-RRT is the first to find the optimal path(Time = 19.537 s), whereas PIB-RRT and B-RRT are the second (Time = 23.633 s) and the third (Time = 33.647 s) converge to the optimal path. Figure 9 is the results of Map3, and UAV can smoothly pass through the obstacles. As seen from Table 1, BPIB-RRT is the fastest to find the optimal path (Time = 17.018), comparing with PIB-RRT (Time = 25.739) and RRT (Time = 862.011).

Based on aforementioned analyses, it can be known that the proposed BPIB-RRT algorithm can solve the path planning problem for UAV in complex 3D environment and avoid obstacle with excellent performance. Moreover, comparing with other variants of the RRT algorithm, the average number of iterations is minimal and the convergence rate is the fastest by using the BPIB-RRT algorithm.

7. Conclusions

In this paper, a new sampling-based approach defined as the BPIB-RRT algorithm is proposed, which can obtain the optimal path in the complex 3D configuration space. Higher deviation can be provided by the Bi-bias() heuristic which can adjust the space of the sample and improve the accuracy of it. The BPF() heuristic is introduced into the BPIB-RRT algorithm to guide the path node by the resultant force based on the goal node and the obstacle and reduce the blindness of the algorithm which expedites the convergence rate. Also, the iteration number of the BPIB-RRT algorithm can be reduced benefited by the aforementioned heuristics. Finally, the curvature of path turns into continuous by B-spline which guarantees the stability of UAV. Meanwhile, it is strictly proven that as the number of iteration reaches infinity, the probability of finding a feasible solution is limited to 1. Computational complexity has been testified to be both theoretically and experimentally equal to the IB-RRT algorithm, and the presented algorithm inherits the asymptotic optimality of RRT. Comparing with RRT and other existing algorithms, the superiority of the proposed BPIB-RRT algorithm has been verified in the comparison experiments.

Data Availability

The data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest

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

Acknowledgments

This paper was partially supported by the National Defense Basic Scientific Research Project JC and Higher School Science and Technology Research Project of Hebei Province (BJ2017041).