Next Article in Journal
A Configurable IP Core for Calculating the Integer Square Root for Serial and Parallel Implementations in FPGA
Next Article in Special Issue
Fault Detection of an Actuator with Dual Type Motors and One Common Motion Sensor
Previous Article in Journal
Anatomical Landmark Detection Using a Feature-Sharing Knowledge Distillation-Based Neural Network
Previous Article in Special Issue
YOLO MDE: Object Detection with Monocular Depth Estimation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Dubins Path-Oriented Rapidly Exploring Random Tree* for Three-Dimensional Path Planning of Unmanned Aerial Vehicles

1
Department of Aerospace Engineering, Chosun University, Gwangju 61452, Korea
2
Department of Aerospace Engineering & Engineering Mechanics, University of Cincinnati, Cincinnati, OH 45221, USA
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Electronics 2022, 11(15), 2338; https://doi.org/10.3390/electronics11152338
Submission received: 10 June 2022 / Revised: 15 July 2022 / Accepted: 22 July 2022 / Published: 27 July 2022

Abstract

:
Unmanned aerial vehicles (UAVs) do not collide with obstacles, generate a path in real-time, and must fly to the target point. The sampling-based rapidly exploring random tree (RRT) algorithm has the advantages of fast computation and low computational complexity. It is suitable for real-time path generation, but the optimal path cannot be guaranteed. Further, the direction of the flight and the minimum radius of rotation have not been taken into account for the characteristics of the UAVs. This work proposes a Dubins path-oriented RRT* algorithm, which applies the Dubins path to the RRT algorithm to consider the direction of flight and the minimum radius of rotation and improves optimality and convergence. The proposed algorithm sets the sample node as the target point, orients toward the Dubins path, and then generates a tree. To verify the performance of the proposed algorithm, it is compared with existing RRT algorithms. As a result of performance analysis, the proposed algorithm improved the path length by 14.87% and the calculation time by 82.36%. Finally, the algorithm’s performance is verified by applying the proposed algorithm to a fixed-wing UAV and performing a numerical analysis of the generated path.

1. Introduction

With technological advancements, unmanned aerial vehicles (UAVs) are being used in various industries and recreational fields, with notable applications in disaster assessment, diagnosis, measurement, relief, etc. [1,2,3]. Ensuring safety and reliability should be prioritized to carry out smooth missions. That is, it is necessary to generate the shortest path to the destination without colliding with obstacles [4,5]. Typical path generation algorithms include grid-based, mathematical model-based, and sampling-based approaches [6].
Grid-based algorithms, such as Dijkstra, A*, and D*, are intuitive and search by dividing all sections evenly, reducing the probability of falling into the local maximum [7,8,9]. However, there is a disadvantage in that the calculation time increases exponentially depending on the search section [10]. Mathematical model-based algorithms, such as linear algorithms and optimal control, use constraints to achieve optimal solutions by modeling given surroundings and dynamic systems [6,11]. Although an optimal path can be generated through these methods, it takes a lot of time to model environmental conditions and calculate constraints. Sampling-based algorithms retrieve a node adjacent to a randomly selected point in a feasible space and expand the node if possible. This is repeated until the path to the destination is generated. The main advantages of sampling-based algorithms are low computational costs and applicability to high-dimensional problems. Typical sampling-based algorithms include probabilistic roadmaps (PRM) and rapidly exploring random tree (RRT). PRM is mainly used in fixed obstacle environments [12], while RRT is suitable for generating paths through tree extensions and also for use in environmental changes [10].
RRT has the advantage of quickly generating a path with a light computation burden but has limitations in that the generated path is not smooth and cannot guarantee an optimal path. RRT* holds the fundamentals of the RRT but guarantees gradual convergence to the optimal path through additional steps [13]. However, RRT* is not suitable for UAVs that operate in real-time due to expensive computational costs. An improved biased RRT is developed to aim at the target point with a certain probability in RRT [14,15,16]. Convergence increases by oriented toward a target point, but the convergence becomes poor when there are many obstacles.
This work applies the Dubins path to the RRT* to improve the convergence of the RRT for the path generation of fixed-wing UAVs and reduce the calculation time. The authors considered the flight direction and the minimum turning radius, which have not been considered in the RRT. Dubins path uses the Dubins curve proposed by Dubins to generate the shortest path considering the rotation radius limited to the position and direction at the given initial and final points [17]. As a result, the proposed algorithm reduces the cost of path generation computation and avoids obstacles by limiting unnecessary tree extensions. In addition, it aims at Dubins path to ensure optimality and considers the flight direction and the minimum turning radius. The simulation study is performed with a fixed-wing UAV model to confirm the characteristics of the algorithm. To verify the performance of the proposed algorithm, the simulation results are compared to RRT, RRT*, and biased RRT.

2. Previous Research

RRT, one of the sampling-based algorithms, is a method of finding a path by randomly generating several sample nodes without dividing a given space into a grid. It efficiently identifies the barrier-free space by checking whether the sample node or the line connecting the two-sample nodes collides with the obstacle. The sampling-based algorithm can be used in a high-dimensional space and has the advantage of being able to quickly generate a path due to a small amount of calculation. The basic idea is to build a tree that makes up nodes and connections. In the tree structure, all nodes are connected to one other node called a parent, and the starting point is the top parent of the tree. RRT calculates a tree connecting the starting point and the target point in a given space.

2.1. RRT Algorithm

RRT was proposed by LaValle [18], and Algorithm 1 and Figure 1 depict the pseudocode and the path generation process of the RRT, respectively.
Algorithm 1 RRT
  1:
procedure RRT( q s , q f )
  2:
      T InitialSetting()
  3:
     while  n o r m ( q f q n e w ) R t h r e s h o l d  do
  4:
            q r a n d RandomSamling()
  5:
            q n e a r e s t FindNearest( T , q r a n d )
  6:
            q n e w Extend( q n e a r e s t , q r a n d , ϵ )
  7:
           if CollisionCheck( q n e a r e s t , q n e w ) then
  8:
                 T q n e w
  9:
           end if
10:
     end while
11:
      N path , t c a l SelectPath ( T q f )
12:
     return  N path , t c a l
13:
end procedure
RRT aims to extend the tree through an obstacle check between the tree T starting from the start point q s and the randomly generated node q r a n d in a given space, generating a path to reach the target point q f . A sample node q r a n d is generated, the distance between q r a n d and all nodes constituting the tree is measured, and the nearest node q n e a r e s t is set. Then, it creates q n e w at a point ε distance away from q n e a r e s t in the q r a n d direction. When q n e w is created, an obstacle check is performed between q n e w and q n e a r e s t . If there is no obstacle between the two nodes, q n e w is added to expand the tree. If there is an obstacle, the process of creating q r a n d is repeated. It repeats until a certain number of nodes are satisfied, such as generating q r a n d or q n e w or until the tree reaches a certain radius of q f . When the tree is expanded, it connects q f and the tree and starts with q f and performs the process of finding the parent of the previously created node. This is repeated until q s is reached to generate a path.

2.2. RRT* Algorithm

RRT* is an algorithm that improves optimality by adding a process of re-selecting parent nodes and re-connecting trees to the RRT [19]. The pseudocode and the path generation process of the RRT* are shown in Algorithm 2 and Figure 2, respectively.
Algorithm 2 RRT*
  1:
procedure RRT*( q s , q f )
  2:
      T InitialSetting()
  3:
     while  n o r m ( q f q n e w ) R t h r e s h o l d  do
  4:
            q r a n d RandomSamling()
  5:
            q n e a r e s t FindNearest( T , q r a n d )
  6:
            q n e w Extend( q n e a r e s t , q r a n d , ϵ )
  7:
           if CollisionCheck( q n e a r e s t , q n e w ) then
  8:
                 T q n e w
  9:
                 Q near , q m i n BestParent( T , q n e w , R * )
10:
                 T Rewiring( T , Q near , q n e w , q m i n , R * )
11:
           end if
12:
     end while
13:
      N path , t c a l SelectPath( T , q f )
14:
     return  N path , t c a l
15:
end procedure
RRT* finds the node closest to q r a n d , sets it to q n e a r e s t , and creates q n e w at points ε distance away in the q r a n d direction. When q n e w is created, as shown in Figure 2a, nodes that are within a certain radius around q n e w and do not get hit by obstacles are set as q n e a r , and the node with the minimum path cost to q n e w among q n e a r is found. If it finds a q n e a r with a lower path cost than the previously connected q n e a r e s t , it disconnects from q n e a r e s t , sets the node a with low path cost as the parent node q n e a r of q n e w , and re-connects the tree. The path cost is calculated by using q n e w as a parent node for q n e a r within a certain radius around q n e w . If the path cost is lower when connected through q n e w than the existing path cost of q n e a r , the tree that was previously connected to q n e a r disconnects and re-connects q n e w and the tree, as shown in Figure 2b. RRT* complements optimality, which is a disadvantage of the RRT, through the best parent process of re-connecting q n e a r e s t and the re-wiring process of reducing the path cost of q n e a r .

2.3. Biased RRT Algorithm

The biased RRT is an improved algorithm that supplements the node generation method in the RRT and improves the randomly sampled nodes to a target point with a certain probability [14]. If the probability of aiming for the target point is high, convergence is increased in the process of expanding the tree. However, the map cannot be searched as a whole, so it takes more time to get out of the obstacle than before. There is a deviation in the path generation time depending on the complexity and directionality probability of the obstacle. Because the operating environment is not the same every time, it is generally known that using a directivity probability of 10% is the most effective regardless of the density of obstacles [9]. The pseudocode and the path generation process of the biased RRT are shown in Algorithm 3 and Figure 3, respectively.
Algorithm 3 Biased RRT
  1:
procedure BRRT( q s , q f )
  2:
      T InitialSetting()
  3:
     while  n o r m ( q f q n e w ) R t h r e s h o l d  do
  4:
            q r a n d RandomSamling( k , q f )
  5:
            q n e a r e s t FindNearest( T , q r a n d )
  6:
            q n e w Extend( q n e a r e s t , q r a n d , ϵ )
  7:
           if CollisionCheck( q n e a r e s t , q n e w ) then
  8:
                 T q n e w
  9:
          end if
10:
    end while
11:
     N path , t c a l SelectPath( T , q f )
12:
    return  N path , t c a l
13:
end procedure
In the biased RRT, only the process of generating q r a n d from the RRT has been changed, and the rest of the process is the same as in the RRT. In the RRT, it extends the tree toward q f by replacing q r a n d , which is randomly sampled, with q f according to a certain probability. The directivity probability that directs q f to a certain probability is called k, and the tree expands toward q f for each k probability so that it has convergence. When q n e w generated by q f collides with an obstacle to solve these problems, q r a n d is used to generate q n e w in the direction without obstacles and extend the tree.

3. Dubins Path-Oriented RRT* Algorithm

The pseudocode of the Dubins path-oriented RRT* proposed is shown in Algorithm 4, and the path generation process of the algorithm is shown in Figure 4 and Figure 5. The Dubins path-oriented RRT* complements the optimality and convergence of the RRT and utilizes the Dubins path to consider the flight direction and minimum radius of rotation of the UAV. The proposed algorithm has two methods for complementing optimality. The first method generates the Dubins path in the position and direction of the initial and final points. It is oriented toward the generated Dubins path and generates a path. The second method, similar to the RRT*, performs the process of re-selecting the parent node and re-constructing the tree. The method for compensating convergence has a 100% probability of replacing q r a n d with q f , so convergence to the target is further obtained than in the biased RRT. However, when the percentage of the obstacle space is increased, q n e w is not generated properly like the biased RRT, resulting in the result of being blocked by obstacles and reduced convergence.
Algorithm 4 DRRT*
  1:
procedure DRRT*( q s , q f ,dubins path)
  2:
      T InitialSetting()
  3:
     while  n o r m ( q f q n e w ) R t h r e s h o l d  do
  4:
            q r a n d RandomSamling()
  5:
            q n e a r e s t * FindNearest( T , q f )
  6:
            q n e w * Extend( q n e a r e s t * , q f , ϵ )
  7:
            q * ColsestPoint( q n e w * , q s , q f ,dubins path)
  8:
            q nearest FindNearest( T , q * )
  9:
            q n e w Extend( q n e a r e s t * , q * , ϵ )
10:
           if CollisionCheck( q n e a r e s t , q n e w ) then
11:
                T q n e w
12:
                Q near , q m i n BestParent( T , q n e w , R * )
13:
                T Rewiring( T , Q near , q n e w , q m i n , R * )
14:
           else
15:
                 q n e a r e s t FindNearest( T , q r a n d )
16:
                 q n e w Extend( q n e a r e s t , q r a n d , ϵ )
17:
                if CollisionCheck( q n e a r e s t , q n e w ) then
18:
                    T q n e w
19:
                    Q near , q m i n BestParent( T , q n e w , R * )
20:
                    T Rewiring( T , Q near , q n e w , q m i n , R * )
21:
            end if
22:
         end if
23:
     end while
24:
      N path , t c a l SelectPath( T , q f )
25:
     return  N path , t c a l
26:
end procedure

3.1. Dubins Path Generation

Path generation is realized based on the Dubins path. A route is created by considering constant altitude, cruising speed v, and the UAV with maximum rotational curvature c max . Given the initial point P s and final point P f , the shortest path includes a combination of three path segments: a straight line segment (S) and an arc segment with a minimum radius (R or L). The four cases, LSL, LSR, RSR, and RSL, of the Dubins path are composed of two curved segments and a straight segment [20]. The shortest path is selected by comparing the four generated paths. The geometry of the Dubins path is depicted in Figure 6.
The positions and directions of the initial and final points in a 3D space are defined as
q s = x s x x s y x s z T
q f = x f x x f y x f z T
v s = v s x v s y v s z T
v f = v f x v f y v f z T
In the earth-fixed cartesian coordinate frame, the path is expressed as
d x s d s = cos γ s cos ψ s
d y s d s = cos γ s sin ψ s
d z s d s = sin γ s
d ψ s d s = η
d γ s d s = μ
where s represents the curvilinear abscissa on the path, ψ is the heading angle, and γ is the flight path angle. As the vehicle is constrained by its minimum turn radius r, the path should have a maximum curvature limit c max . The curvature c ( s ) is given by
c s = η 2 s cos 2 γ s + μ 2 s
and the objective is to minimize the path length while satisfying the following constraint:
c max c s c max
Common to both planes of the initial and final curved paths of the minimum radius is a myriad of different planes, as shown in Figure 7.
The straight-line path segment between these two curves is the intersecting line between the initial and final maneuver planes. Suppose X X x , X y , X z is the vector common to both planes as follows [17]:
X = p f p s = q f + r w f r y f q s + r w s r y s
Adding the first and second rotation angles θ 1 and θ 2 yields the following equation:
X = q f q s r X + v s tan θ s 2 r X + v f tan θ f 2
where cos θ s = v s v and cos θ f = v f X , and X are unit vectors of X . Through simplification, one obtains the following equation:
x s x x f x = X x ± r x x tan θ s 2 + tan θ f 2 ± r v f x tan θ f 2 + v s x tan θ s 2
x s y x f y = X y ± r x y tan θ s 2 + tan θ f 2 ± r v f y tan θ f 2 + v s y tan θ s 2
x s z x f z = X z ± r x z tan θ s 2 + tan θ f 2 ± r v f z tan θ f 2 + v s z tan θ s 2
In the case of a system of multivariable equations, the solution of the system of equations can be determined through the Gauss–Newton method, among other methods. In this manner, a common plane X is obtained.

3.2. Optimization Improvement Method

The proposed algorithm has two methods to complement optimality. The first method considers the constraint condition of the minimum turning radius when the positions and directions of the initial point and the final point are given and generates a path using the Dubins path that generates the shortest path.
  • As shown in Figure 4a, q n e a r e s t * is selected by searching for the node closest to q f and q n e w * is created at a certain distance ε from q n e a r e s t * in the q f direction (lines 4 and 5).
  • q * means that q n e w * is the closest point to the Dubins path. q * is the point where the paths of q * new and the Dubins path are vertical (line 6).
  • As shown in Figure 4b, one selects q n e a r e s t by searching for the node closest to q * and creates q n e w at a position ε away from q n e a r e s t by a certain distance ε in the q * direction (lines 7 and 8).
The second method re-selects the parent node and re-connects the tree, similar to the RRT*.
  • As shown in Figure 2a, q n e w or q n e w is re-elected as the parent node among q n e a r with the lowest path cost (lines 11 and 18).
  • If the path cost when connecting with q n e w or q n e w is lower than the existing path cost of q n e a r within a certain radius, as shown in Figure 2b, the tree is re-constructed (lines 12 and 19).

3.3. Convergence Improvement Method

The proposed algorithm complemented the convergence by improving the biased RRT. The biased RRT is stochastically oriented to q f , which causes unnecessary computation. Therefore, one always sets q f to the sample node to improve convergence. However, if there are obstacles, there is a risk of falling into the local minima. To reduce this risk, sample nodes are selectively used.
  • When selecting q n e a r e s t * , one proceeds with the sample node using q f and generates q n e w * in the q f direction (lines 4 and 5).
  • As shown in Figure 5, when q n e w collides with an obstacle, q n e a r e s t is selected using q r a n d and q n e w is created (lines 3 and 13–15).

4. Path Tracking and Control

4.1. Path Tracking

A nonlinear UAV path tracking algorithm similar to the line-of-sight guidance algorithm is adopted. Equations of motion that do not take into account the dynamic characteristics of the UAV are expressed as
x ˙ = v cos ψ cos γ
y ˙ = v sin ψ cos γ
z ˙ = v sin γ
where v is assumed to be constant, and ψ and γ represent the control inputs. The path to be tracked is represented by the following equations:
d x r s d s = cos ψ r s cos γ r s
d y r s d s = sin ψ r s cos γ r s
d z r s d s = sin γ r s
At each time instant, s * represents the path point closest to UAV in abscissa. This point ensures that the vector in the direction of the path from the UAV and the vector tangent to the path are perpendicular. Thus,
x r s * x d x r s d s s = s * + y r s * y d y r s d s s = s * + z r s * z d z r s d s s = s * = 0
where
e x = x r s * x
e y = y r s * y
e z = z r s * z
e = e x 2 + e y 2 + e z 2
ψ r * = ψ r s *
γ r * = γ r s *
This expression can be rewritten as
e x cos ψ r * cos γ r * + e y sin ψ r * cos γ r * + e z sin γ r * = 0
Consider the following straight line Ω tangent to the path at x r , y r , z r
Ω = x l s y l s z l s = x r s * + s cos ψ r * cos γ r * y r s * + s sin ψ r * cos γ r * z r s * + s sin γ r *
where K p > 0 represents the prediction distance of the existing line-of-sight derivation algorithm [21], and s = 1 / K p . If K p 0 , it follows the direction of the tangent while maintaining a constant cross-track error. If K p , it moves toward the path point closest to the UAV. At each time instant, ψ and γ are chosen so as to satisfy the following:
cos ψ d = e ˜ x e ˜ x 2 + e ˜ y 2
sin ψ d = e ˜ y e ˜ x 2 + e ˜ y 2
cos γ d = e ˜ x 2 + e ˜ y 2 e ˜
sin γ d = e ˜ z e ˜
where
e ˜ x = x l s s = 1 / K p x u = e x + 1 K p cos ψ r * cos γ r *
e ˜ y = y l s s = 1 / K p y u = e y + 1 K p sin ψ r * cos γ r *
e ˜ z = z l s s = 1 / K p z u = e z + 1 K p sin γ r *
e ˜ = e ˜ x 2 + e ˜ y 2 + e ˜ z 2 = e 2 + 1 K p 2
The bank angle command generation can be realized from the equation for the centrifugal force as follows:
F L sin ϕ = m a
F L cos ϕ = m g
where F L is the total lift force, m is the mass, g is the gravitational acceleration, and ϕ is the bank angle. Accordingly,
tan ϕ = a g tan ϕ d = a c m d g
where ϕ d is the bank angle command, and a c m d is the lateral acceleration [22], which is defined as
a c m d = 2 V 2 L sin η
where L is the look-ahead distance, and η is the angle between the velocity vector V and line L.

4.2. Constraint Sliding Mode Controller

A sliding mode controller involving a robust control scheme that can ensure control performance and stability even in the presence of uncertainty is used [23,24]. The designed controller imposes a constraint on the angular velocity by adding a saturation function to the existing sliding mode controller.
The proposed controller is named the constraint sliding mode controller (CSMC), with the sliding surface defined as
s = ω + A s a t ξ q e
where ω represents the angular velocities of the body frame, q e is the error quaternion, and A = diag a 1 , a 2 , a 3 . Here, a i > 0 , and ξ = c max / a i .
Since the sliding surface designed in Equation (44) is s = 0 , the state variable converges to the target point in the same way as the operating characteristics of the existing sliding mode. Note that there is a point where the equilibrium point changes in the sliding phase. The conditions for the saturation function are defined as
s a t q i = ξ , if ξ < q i q i , if ξ q i ξ ξ , if ξ > q i
which represents a saturation function that allows a smaller value to be selected through a variable between the values of each component q i of the posture error vector and the threshold variable ξ .
The reaching law for satisfying Equation (44) is defined as [25]
s ˙ = c sgn s s β
While deriving the control input, the three-axis control input for the UAV posture considering the angular velocity limitation can be obtained by differentiating the equation with respect to time and arranging the resulting equations and equations of motion of the UAV as follows:
u = l 1 f C sgn s s β + ω × J ω a J d d t s a t ξ q e
To validate the stability of the designed controller, the Lyapunov candidate function is defined as
V = 1 2 s T J s
and the equation is differentiated with respect to time to ensure stability as follows:
V ˙ = s T J s = s T J ω ˙ + a d d t s a t q e = s T ω × J ω + τ + a J d d t s a t q e = s T c J sgn s s β < 0
This expression is negative definite, and thus, it can be concluded that the control system is Lyapunov stable.

5. Simulation Study

The simulation is compared with the RRT, RRT*, and biased RRT to verify the performance of the proposed algorithm. Each algorithm ends the simulation when it creates a tree within a certain radius of q f or ends when the number of trees is 1000. Note that the proposed algorithm applies the Dubins path to generate a path that takes into account the direction of flight and the minimum turning radius. To compare algorithms under the same conditions as the proposed algorithm, torus structures are set as obstacles at the initial and final points, as shown in Figure 7, and paths are generated considering flight direction and minimum radius of rotation. For the reasonable analysis, it was simulated 100 times. For each algorithm, ε is 30 m, and the simulation termination condition R t h r e s h o l d is 50 m. The R * of the RRT* and the proposed algorithm is ε × 8 m, and k of the biased RRT is set to 10%. Since short and fast path generation is important, the simulation analysis is made with respect to the number of tree generations, path length, and calculation time. In this work, the concept of average precision is used to quantitatively compare the performance of two different algorithms for performance analysis [13].
In the 3D space, one proceeded with the simulation in three cases, as shown in Figure 8.
The states of the position and direction of each obstacle case are shown in Table 1. The performance of the proposed algorithm is verified using the fixed-wing UAV with a minimum turning radius r of 100 m as a sliding mode controller considering the guidance algorithm and angular velocity limit [26].

5.1. Simulation Analysis (100 Times)

Figure 9, Figure 10 and Figure 11 show each algorithm’s result performed 100 times for the three cases. Here, (a,e,i,m) is the path generation result, (b,f,j,n) is the total number of nodes, (c,g,k,o) is the path length, and (d,h,l,p) is the calculation time.
The existing algorithms encountered a local minima with about 51% no obstacles, about 53% for center obstacles, and about 49% for scattered obstacles. Further, the minimum radius of rotation has not been taken into account. On the other hand, the proposed algorithm considered the flight direction and the minimum rotation radius yielding a local minima-free path. However, there is a risk of falling into the local minima in the case of a space where it is unable to turn correctly because the path suggested is generated by considering the minimum dynamic turning radius of UAVs.
Figure 12 represents the summary of the results. In all the cases, the proposed algorithms generated the overwhelmingly fewest nodes and generated paths. Further, the proposed algorithm for all obstacle cases showed the least computational burden. The proposed algorithm reduced the calculation time with respect to other algorithms in the no obstacles case by about 99.6%. In the case of the center obstacle, the calculation time of the proposed algorithm with respect to the RRT, RRT*, and biased RRT were reduced by 75.2%, 97.2%, and 72.6%, respectively. In the case of the scattered obstacles, the calculation time of the proposed algorithm with respect to the RRT, RRT*, and biased RRT were reduced by 27.6%, 91.8%, and 26.1%, respectively.
It is important to note that the proposed algorithm produced the shortest path in all obstacle cases. In the case of no obstacle, the path length using the proposed algorithm with respect to the RRT, RRT*, and biased RRT were reduced by 23.8%, 5%, and 21.7%, respectively. In the case of the center obstacle, the path length using the proposed algorithm with respect to the RRT, RRT*, and biased RRT were reduced by 19.6%, 0.5%, and 15.9%, respectively. In the case of the scattered obstacles, the path length using the proposed algorithm with respect to the RRT, RRT*, and biased RRT were reduced by 21.4%, 2%, and 18%, respectively.
It was confirmed that the proposed algorithm improved the performance effectively in both path length and calculation time compared to the three widely used algorithms, and the path was generated in consideration of the flight direction and minimum radius of rotation.

5.2. Simulation of UAV Path Tracking

Figure 13 shows the case of no obstacles. In the absence of obstacles, the path with the fastest computational time out of 100 simulations is generated in Figure 13a, and the generated path was tracked using a fixed-wing UAV. In the case of a position error, as shown in Figure 13b, the tracking performance is satisfactory, except in the beginning. An error occurs when the path is initiated in a circle; this error is likely a natural error caused by a sudden change in the attitude command due to the change in maneuvering. Nevertheless, the maximum position error is less than 5 m, and the straight line segment corresponds to an error of approximately 10 2 . Figure 13c shows the attitude command value generated through the guidance algorithm and the actual attitude value of the UAV. As shown in Figure 13d, an error occurs during the circular maneuver, similar to the position error. This error is also likely a natural error due to the sudden change in the posture command due to the change in maneuvering, and an error of approximately 10 7 is observed in the straight line segment. Figure 13e shows the angular velocity of the UAV while satisfying the maximum angular velocity value range set by the CSMC, in accordance with the angular velocity limitation.
Figure 14 shows the case of the center obstacle. In the case of a center obstacle, the path with the fastest computational time out of 100 simulations was generated in Figure 14a, and the generated path was tracked using a fixed-wing UAV.
Figure 15 shows the case of scattered obstacles. In the case of scattered obstacles, the path with the fastest computational time out of 100 simulations was generated in Figure 15a, and the generated path was tracked using a fixed-wing UAV.
It is found that the result where obstacles exist is similar to the case where there is no obstacle. The maximum position error is within 5 m, and it showed an error of 10 2 when in a straight line segment. The maximum attitude error is within 23 , and it showed an error of 10 7 when in a straight line segment.

6. Conclusions

In this study, the authors solved the problem of generating a path to avoid obstacles to the target point without collision. This work proposes the Dubins path-oriented RRT* algorithm, which has improved optimality and convergence over the conventional RRT algorithm and considers the flight direction and minimum turning radius according to the characteristics of the fixed-wing UAV. In order to improve optimality, the Dubins path was oriented, and the RRT* algorithm concept was added. In order to improve convergence, the target point was set as a sample node, and when there were obstacles, the randomly generated sample node was selectively set to solve the problem of convergence degradation. The performance of the proposed algorithm was verified by comparing 100 simulations of each algorithm under the same conditions. In the three obstacle cases, the proposed algorithm has improved path length and calculation time compared to the existing algorithm. Finally, using the guidance algorithm and the controller, one validated whether the path generated by the proposed algorithm followed the fixed-wing UAV. Consequently, the technology proposed in this paper is considered suitable for smooth missions with the safety and reliability of unmanned aerial vehicles and is suitable for actual applications. Future works will include experimental validation of the proposed algorithm.

Author Contributions

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

Funding

This study was supported by research fund from Chosun University, 2022.

Data Availability Statement

No new data were created or analyzed in this study. Data sharing is not applicable to this article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Wang, X.; Huang, Z.; Sui, G.; Lian, H. Analysis on the development trend of future UAV equipment technology. Acad. J. Eng. Technol. Sci. 2019, 2, 114–121. [Google Scholar] [CrossRef]
  2. Shakhatreh, H.; Sawalmeh, A.H.; Al-Fuqaha, A.; Dou, Z.; Almaita, E.; Khalil, I.; Shamsiah, N. Unmanned aerial vehicles (UAVs): A survey on civil applications and key research challenges. IEEE Access 2019, 7, 48572–48634. [Google Scholar] [CrossRef]
  3. He, S.; Chen, X.; Hung, M.; Chen, X.; Ji, Y. Steering angle measurement of UAV navigation based on improved image processing. J. Inf. Hiding Multim. Signal Process. 2019, 10, 384–391. [Google Scholar]
  4. Lin, G.; Zhu, L.; Li, J.; Zou, X.; Tang, Y. Collision-free path planning for a guava-harvesting robot based on recurrent deep reinforcement learning. Comput. Electron. Agric. 2021, 188, 106350. [Google Scholar] [CrossRef]
  5. Cao, X.; Yan, H.; Huang, Z.; Ai, S.; Xu, Y.; Fu, R.; Zou, X. A multi-objective particle swarm optimization for trajectory planning of fruit picking manipulator. Agronomy 2021, 11, 2286. [Google Scholar] [CrossRef]
  6. Yang, L.; Qi, J.; Song, D.; Xiao, J.; Han, J.; Xia, Y. Survey of robot 3D path planning algorithms. J. Control. Sci. Eng. 2016, 2016, 7426913. [Google Scholar] [CrossRef] [Green Version]
  7. Dijkstra, E. A note on two problems in connexion with graphs. Numer. Math. 1959, 1, 269–271. [Google Scholar] [CrossRef] [Green Version]
  8. Wang, H.; Yu, Y.; Yuan, Q. Application of dijkstra algorithm in robot path-planning. In Proceedings of the 2011 Second International Conference on Mechanic Automation and Control Engineering IEEE, Hohhot, China, 15–17 July 2011; pp. 1067–1069. [Google Scholar]
  9. Elbanhawi, M.; Milan, S. Sampling-based robot motion planning: A review. IEEE Access 2014, 2, 56–77. [Google Scholar] [CrossRef]
  10. Karaman, S.; Frazzoli, E. Sampling-based algorithms for optimal motion planning. Int. J. Robot. Res. 2011, 30, 846–894. [Google Scholar] [CrossRef]
  11. Anderson, S.J.; Peters, S.C.; Pilutti, T.E.; Iagnemma, K. An optimal-control-based framework for trajectory planning, threat assessment, and semi-autonomous control of passenger vehicles in hazard avoidance scenarios. Int. J. Veh. Auton. Syst. 2010, 8, 190–216. [Google Scholar] [CrossRef]
  12. Paden, B.; Cap, M.; Yong, S.Z.; Yershov, D.; Frazzoli, E. A survey of motion planning and control techniques for self-driving urban vehicles. IEEE Trans. Intell. Veh. 2016, 1, 33–55. [Google Scholar] [CrossRef] [Green Version]
  13. Karaman, S.; Walter, M.R.; Perez, A.; Frazzoli, E.; Teller, S. Anytime motion planning using the RRT. In Proceedings of the 2011 IEEE International Conference on Robotics and Automation, Shanghai, China, 9–13 May 2011; pp. 1478–1483. [Google Scholar]
  14. Panice, G.; Luongo, S.; Gigante, G.; Pascarella, D.; Di Benedetto, C.; Vozella, A.; Pescapè, A. A SVM-based detection approach for GPS spoofing attacks to UAV. In Proceedings of the 2017 23rd International Conference on Automation and Computing (ICAC), Huddersfield, UK, 7–8 September 2017; pp. 1–11. [Google Scholar]
  15. Noh, G.; Park, J.; Han, D.; Lee, D. Selective goal aiming rapidly exploring random tree path planning for UAVs. Int. J. Aeronaut. Space Sci. 2021, 22, 1397–1412. [Google Scholar]
  16. Yang, K. Anytime synchronized-biased-greedy rapidly-exploring random tree path planning in two dimensional complex environments. Int. J. Control. Autom. Syst. 2011, 9, 750–758. [Google Scholar] [CrossRef]
  17. Hota, S.; Ghose, D. Optimal geometrical path in 3D with curvature constraint. In Proceedings of the 2010 International Conference on Intelligent Robots and System, Taipei, Taiwan, 18–22 October 2010; Volume 79, pp. 113–118. [Google Scholar]
  18. LaValle, S.M. Rapidly-Exploring Random Trees: A New Tool for Path Planning. 1998. Available online: http://msl.cs.illinois.edu/lavalle/papers/Lav98c.pdf (accessed on 20 July 2022).
  19. Noreen, I.; Khan, A.; Habib, Z. Optimal path planning using RRT* based approaches: A survey and future directions. Int. J. Adv. Comput. Sci. Appl. 2016, 7, 97–107. [Google Scholar] [CrossRef] [Green Version]
  20. Manyam, S.G.; Casbeer, D.; Von Moll, A.L.; Fuchs, Z. Shortest Dubins Path to a Circle. In Proceedings of the AIAA Scitech 2019, San Diego, CA, USA, 7–11 January 2019. [Google Scholar]
  21. Sujit, P.B.; Saripalli, S.; Sousa, J.B. Unmanned aerial vehicle path following: A survey and analysis of algorithms for fixed-wing unmanned aerial vehicless. IEEE Control. Syst. Mag. 2014, 34, 42–59. [Google Scholar]
  22. Zhai, R.; Zhou, Z.; Zhang, W.; Sang, S.; Li, P. Control and navigation system for a fixed-wing unmanned aerial vehicle. AIP Adv. 2014, 4, 031306. [Google Scholar] [CrossRef]
  23. Shtessel, Y.; Edwards, C.; Fridman, L.; Levant, A. Sliding Mode Control and Observation; Springer: New York, NY, USA, 2014; Volume 10. [Google Scholar]
  24. Jang, S.H.; Yang, Y.Y.; Leeghim, H. Performance analysis for quadrotor attitude control by super twisting algorithm. J. Korean Soc. Aeronaut. Space Sci. 2020, 48, 373–381. [Google Scholar]
  25. Xiong, J.J.; Zheng, E.H. Position and attitude tracking control for a quadrotor UAV. ISA Trans. 2014, 53, 725–731. [Google Scholar] [CrossRef]
  26. Yang, Y.Y.; Leeghim, H. Dubins path generation and tracking in 3D for UAVs. In Proceedings of the Asia-Pacific International Symposium on Aerospace Technology, Jeju, Korea, 15–17 November 2021. [Google Scholar]
Figure 1. Illustration of the RRT process.
Figure 1. Illustration of the RRT process.
Electronics 11 02338 g001
Figure 2. Illustration of the RRT* process: (a) Best parent algorithm. (b) Rewiring algorithm.
Figure 2. Illustration of the RRT* process: (a) Best parent algorithm. (b) Rewiring algorithm.
Electronics 11 02338 g002
Figure 3. Illustration of the biased RRT process.
Figure 3. Illustration of the biased RRT process.
Electronics 11 02338 g003
Figure 4. Optimization improvement method: (a) Closest point search algorithm. (b) Extend algorithm.
Figure 4. Optimization improvement method: (a) Closest point search algorithm. (b) Extend algorithm.
Electronics 11 02338 g004
Figure 5. Convergence improvement method.
Figure 5. Convergence improvement method.
Electronics 11 02338 g005
Figure 6. Geometry of the CSC path.
Figure 6. Geometry of the CSC path.
Electronics 11 02338 g006
Figure 7. Torus geometry.
Figure 7. Torus geometry.
Electronics 11 02338 g007
Figure 8. Simulation environment: (a) No obstacles. (b) Centered obstacle. (c) Scattered obstacles.
Figure 8. Simulation environment: (a) No obstacles. (b) Centered obstacle. (c) Scattered obstacles.
Electronics 11 02338 g008
Figure 9. Results of no obstacles: (ad) RRT. (eh) RRT*. (il) Biased RRT. (mp) Dubins RRT*.
Figure 9. Results of no obstacles: (ad) RRT. (eh) RRT*. (il) Biased RRT. (mp) Dubins RRT*.
Electronics 11 02338 g009
Figure 10. Results of center obstacle: (ad) RRT. (eh) RRT*. (il) Biased RRT. (mp) Dubins RRT*.
Figure 10. Results of center obstacle: (ad) RRT. (eh) RRT*. (il) Biased RRT. (mp) Dubins RRT*.
Electronics 11 02338 g010
Figure 11. Results of scattered obstacles: (ad) RRT. (eh) RRT*. (il) Biased RRT. (mp) Dubins RRT*.
Figure 11. Results of scattered obstacles: (ad) RRT. (eh) RRT*. (il) Biased RRT. (mp) Dubins RRT*.
Electronics 11 02338 g011
Figure 12. Results of 100 simulations: (a) Total number of nodes. (b) Path length. (c) Calculation time.
Figure 12. Results of 100 simulations: (a) Total number of nodes. (b) Path length. (c) Calculation time.
Electronics 11 02338 g012
Figure 13. Path tracking results of no obstacles: (a) Path tracked in 3D. (b) Position error. (c) Attitude. (d) Attitude error. (e) Constrained angular velocity.
Figure 13. Path tracking results of no obstacles: (a) Path tracked in 3D. (b) Position error. (c) Attitude. (d) Attitude error. (e) Constrained angular velocity.
Electronics 11 02338 g013
Figure 14. Path tracking results of center obstacle: (a) Path tracked in 3D. (b) Position error. (c) Attitude. (d) Attitude error. (e) Constrained angular velocity.
Figure 14. Path tracking results of center obstacle: (a) Path tracked in 3D. (b) Position error. (c) Attitude. (d) Attitude error. (e) Constrained angular velocity.
Electronics 11 02338 g014
Figure 15. Path tracking results of scattered obstacle: (a) Path tracked in 3D. (b) Position error. (c) Attitude. (d) Attitude error. (e) Constrained angular velocity.
Figure 15. Path tracking results of scattered obstacle: (a) Path tracked in 3D. (b) Position error. (c) Attitude. (d) Attitude error. (e) Constrained angular velocity.
Electronics 11 02338 g015
Table 1. Way-points for simulation.
Table 1. Way-points for simulation.
No ObsCenter Obs/Scattered Obs
q s q f v s v f q s q f v s v f
500 500 0 m 1000 1000 100 m 0 1 0 1 0 0 100 100 0 m 1000 1000 100 m 0 1 0 1 0 0
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Yang, Y.; Leeghim, H.; Kim, D. Dubins Path-Oriented Rapidly Exploring Random Tree* for Three-Dimensional Path Planning of Unmanned Aerial Vehicles. Electronics 2022, 11, 2338. https://doi.org/10.3390/electronics11152338

AMA Style

Yang Y, Leeghim H, Kim D. Dubins Path-Oriented Rapidly Exploring Random Tree* for Three-Dimensional Path Planning of Unmanned Aerial Vehicles. Electronics. 2022; 11(15):2338. https://doi.org/10.3390/electronics11152338

Chicago/Turabian Style

Yang, Youyoung, Henzeh Leeghim, and Donghoon Kim. 2022. "Dubins Path-Oriented Rapidly Exploring Random Tree* for Three-Dimensional Path Planning of Unmanned Aerial Vehicles" Electronics 11, no. 15: 2338. https://doi.org/10.3390/electronics11152338

APA Style

Yang, Y., Leeghim, H., & Kim, D. (2022). Dubins Path-Oriented Rapidly Exploring Random Tree* for Three-Dimensional Path Planning of Unmanned Aerial Vehicles. Electronics, 11(15), 2338. https://doi.org/10.3390/electronics11152338

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