Development of Flight Path Planning for Multirotor Aerial Vehicles

This study addresses the flight-path planning problem for multirotor aerial vehicles (AVs). We consider the specific features and requirements of real-time flight-path planning and develop a rapidly-exploring random tree (RRT) algorithm to determine a preliminary flight path in three-dimensional space. Since the path obtained by the RRT may not be optimal due to the existence of redundant waypoints. To reduce the cost of energy during AV’s flight, the excessive waypoints need to be refined. We revise the A-star algorithm by adopting the heading of the AV as the key indices while calculating the cost. Bezier curves are finally proposed to smooth the flight path, making it applicable for real-world flight.


Introduction
A multirotor unmanned aerial vehicle (UAV) is a rotorcraft with more than two rotors to enhance payload capability and endurance.UAVs are widely used in military strategy, disaster relief, exploration, OPEN ACCESS and topographic reconnaissance.The advantages of UAVs are their higher mobility and lower manufacturing costs compared with conventional aircraft.
There are many methods published in the literature for path planning, such as artificial potential field [1,2], A-star algorithm [3,4], fuzzy logic [5,6], genetic algorithm [7,8] and free floating [9].Sampling-based algorithms have been developed for solving the path-planning problem in high-dimensional environments [10,11] or complex environments [12,13].Path planning for UAVs in a three-dimensional (3D) environment, divided into several grids, is presented in [14][15][16].The asymptotic optimality properties of the standard rapidly-exploring random tree* (RRT*) algorithm is given in [17].Numerical optimization techniques can be applied to refine the output of RRT* until a locally optimal solution is found [18].
Sampling-based algorithms for path planning, such as the standard RRT [19,20] and probabilistic roadmaps (PRM) [11], can resolve the difficulty of computational complexity in real-time settings.Obstacle detection and avoidance for UAVs has been widely studied with a number of techniques presented [21][22][23].However, there is still a lack of path planners, especially those tailored to multirotor UAVs in 3D environment.
While RRT algorithms can quickly and efficiently find available flight path candidates and avoid collisions, the outcomes may not be optimal, which might lead to a costly flight path.To address this issue, an A-star algorithm for path refinement is used to improve the preliminary solution of path planning generated by a RRT algorithm.Cost-based motion planners are usually limited to low-dimensional problems in relatively small-sized workspaces.To overcome these limitations, variants and extensions of RRT have been developed, and comparisons with similar algorithms have been conducted previously [24].
The A-star algorithm, a heuristic algorithm is based on the Dijkstra algorithm [25,26] and Best-First Search (BFS) [27].The Dijkstra algorithm, a graph search algorithm, is used to find the shortest path between the starting and goal nodes.The two algorithms differ in the specifications of their cost indices.The A-star algorithm finds the minimum cost path via the BFS, whereas the Dijkstra algorithm finds the minimum cost path from the starting node to all intermediate nodes.
Bezier curves [28,29] are commonly used in computer graphics and related fields.We extend the concept to the 3D environment suitable for our multirotor UAV flight planning.RRT* is an optimal extension to the standard RRT algorithm [17].Path planning of UAVs in a 3D environment with the evolutionary algorithm (EA)-based controllers is presented in [30][31][32] using the B-spline curve-based path representation.However, the results ignored obstacle avoidance.To combine the advantages of both approaches, we introduce Bezier curves to reshape the flight path developed in the preliminary design phase by adopting a set of straight-line segments from the A-star algorithm.We define the control nodes of the Bezier curve so that the curve is able to avoid collision with obstacles.We verify the proposed path planning method has been verified via a variety of scenarios.We demonstrate computational efficiency of the proposed approach, which overtakes the integrated RRT and Dijkstra algorithms [28].Our simulation results validate the proposed method.

Descriptions of Multirotor
Unlike traditional UAVs, a multirotor is a rotorcraft possessing more than two rotors, which can access hard to reach places and, in addition, fly both outdoors and indoors.A helicopter is controlled by changing the angle-of-attack of the propeller, whereas a multirotor is controlled by tuning the speed of different propellers.Multirotors use fixed-pitch blades that means its rotor pitch does not vary as the blades rotate, and control of the vehicle motion is achieved by changing relative speed of each rotor to adjust the thrust and torque produced by each rotor.
Multirotor, usually referred to quadrotor, hexarotor and octorotor, is 4-, 6-and 8-propeller helicopter, respectively.The quadrotor, for instance, has four propellers with hovering capabilities, two pairs of counter-rotating, and fixed-pitch blades located at four corners.Multirotors are capable of generating greater thrust than conventional helicopters and possess better stability during flight.Each propeller produces both thrust and torque about its center of rotation, in the direction opposite to drag.The four propellers are cross-allocated (see Figure 1a); propeller_1 and propeller_3 share the same rotational direction and propeller_2 and propeller_4 share the same rotational direction.The arrow sign in indicates the directional movements of common multirotor UAVs.

Overview of the Proposed Flight Path Planner
In the proposed flight path planner, we first adopt multi-RRT algorithm to randomly generate potential flight path candidates by generating collision-free waypoints.However, the paths generated are, in general, not optimal due to existence of redundant waypoints; we next propose an improved A-star algorithm to refine the path from the starting node to the goal node.Finally, Bezier curves are incorporated to reshape the flight path for a smoothed flight and to further reduce the flight cost by removing unnecessary waypoints.
A flow chart of the path planning for multirotor UAVs is illustrated in Figure 2. We first specify the start and goal headings of the UAV.Next, the multi-RRT algorithm is applied to construct the available paths.If there is no available candidate, the algorithm reports an error.If at least one qualified path is found, we continue to apply the improved A-star algorithm and Bezier curves to complete simplification and smoothed path.

Rapidly-Exploring Random Tree (RRT)
The basic-RRT algorithm for path planning has been shown to be efficient in high-dimensional environments [11].However, the paths found are not necessarily optimal.The basic-RRT searches for the path from the starting node to the goal nodes by growing a bunch of random trees in a high-dimensional environment until the goal node becomes a node of the random tree.A tree is grown from the starting node to the goal node by adding a new edge and a new node at each iteration.The basic-RRT algorithm works with three steps: (1) Generation of random nodes: pick the random nodes in 3D environment.
(2) Expansion: pick a random node and then build connection between this node and the nearest node in the random tree.(3) Termination condition: join the goal node to the random tree.
The multi-RRT uses two random trees to generate a possible path.The random trees are generated bi-directionally: one is built from xstart and the other is expanded from xgoal.When a linkage connects xnearest and xnew with some obstacles interfered, the multi-RRT algorithm regenerates a new random tree in terms of xrand.When the environment of the path planning is relatively complicated, i.e., the chance of collision between obstacles is relatively high, the convergence rate of the multi-RRT is better than that of the basic-RRT.When a random node connects two random trees, the node yields a feasible path, as shown in Figure 3.

A-Star Algorithm
The path planning described above ensures efficient and collision-free motion of a multirotor in a 3D environment with unknown static obstacles.This section describes the basic A-star algorithm and how we use it to smooth a path for multirotors.
In general, there will be bifurcations of the flight path when there are obstacles around.Collision free waypoints are generated for an appropriate potential flight path, which is constituted by several line segments.The potential flight paths are next smoothed to avoid sharp flight paths.
The basic A-star algorithm possesses three parts: (1) An open list: save all next reachable nodes from the current node.
(2) A closed list: save already through nodes from the starting node to the current node.
(3) An evaluation function: determine the order of the expanded nodes; the cost equation at each node of A-star is set as where the subscript i denotes the ith node in the multi-RRT, Gi is the ith moving cost from the starting node to the current node, Hi is the estimated cost of the ith node from the current node to the goal node, and Fi is the total moving cost from the starting node to the goal node.There are three operational steps: Step 1 Add the starting node to the open list.
Step The basic A-star algorithm divides the environment into several grids before conducting path planning and memorizing the indices of via the points.However, this requires a significant amount of memory.Therefore, we propose an improved A-star algorithm instead by considering only the absolute values of the flight path angles, i.e., the moving cost Gi, as follows: (1) when the climbing angle and the yaw angle are less than 90° (2) when is greater than 90° and is less than 90° (3) when is less than 90° and is greater than 90° (4) when and are greater than 90° The estimated cost Hi is given by (1) when and are less than 90° (2) when is greater than 90° and is less than 90° (3) when is less than 90° and is greater than 90° (4) when and are greater than 90° where the range of i is the total number of multi-RRT nodes, Gl denotes the current node, is the distance from the previous node to the current node, is the distance from the current node to the goal node, and are, respectively, the yaw angles from the current node to the adjacent node and the yaw angles from the current node to the goal node through the adjacent node of the current node, and are, respectively, the climbing angles from the current node to the adjacent nodes and the climbing angles from the current node to the goal node through the adjacent node of the current node.

Flight Path Refinement
Here, we introduce the improved A-star algorithm to resolve the optimality problem.In Figures 4  and 5, the green arrow indicates the start headings of the UAV, the red arrow refers to the goal heading, i denotes the index of the nodes, xstart and xgoal, and the blue lines are the paths generated by the multi-RRT algorithm.In Figure 5, we compute , (all less than 90°) and , which are the distances between the third node and xgoal.Next, substituting the three variables into Equation ( 6) to gives the estimated cost H3.Finally, substituting G3 and H3 into Equation ( 1), one obtains the total moving cost index F3 repeating the process results in a class of refined flight paths.

Bezier Curves
We next apply Bezier curves [28] to shorten and smooth the path.To proceed, we define the Bezier curves of degree nk as where k indicates the index of the Bezier curve, k ∈ {1, 2, l, m}, k Ni are the control nodes of the Bezier curves, and , ( ) are the Bernstein polynomials of degree nk as When two or more Bezier curves need to be joined together, the interconnected points should be continuous, i.e., the first-and the second-order derivatives of two successive Bezier curves should remain the same at the interconnected point.The first-order derivative of Bezier curves is given by where the first control nodes k Di = n( k Ni+1 − k Ni).The second-order derivative of Bezier curves is where the second control nodes k Ei = n( k Ni+2 − 2 k Ni+1 + k Ni).The requirement of continuity in the Bezier curves is then (1) = (0) and We denote {A1, A2, l, Am} the waypoints of the improved A-star algorithm.When the waypoint number m = 3, C1 refers to the fourth-order Bezier curve.When the waypoint number m > 3, {C1, l, Cm−2} constitutes the sixth-order Bezier curves and {C2, C3, l, Cm−4, Cm−3} are the eighth-order Bezier curves.Recall that the resulting path determined above could be interfered with obstacles, we select control nodes of the Bezier curves so that the modified curves could avoid the obstacles.For example, in Figure 10, the curve C3 collides with the orange-colored obstacle.One may consider adding movable control nodes between the fixed control nodes and the interconnected nodes of the obstacle and change the weighting factor α3 to shift the control nodes, 3 N3 and 3 N5.This leads C3 away from the obstacle, see Figure 11.

Path Planning in 3D Environment
To evaluate the performance of the proposed multirotor UAV path-planning algorithm, we consider three scenarios.

Scenario 1
The flight path is generated by the multi-RRT algorithm with four waypoints (the red line in Figure 12).We adopt the improved A-star algorithm in blue line to refine the path moving cost.After conducting the improved A-star algorithm, the number of waypoints decreases from four to three (see Table 1), i.e., m = 3. Incorporating Equations ( 18)-( 22) yields a Bezier curve illustrated as the green line in Figure 12.After fulfilling the improved A-star algorithm, the number of waypoints of the path decreases from eight to four (see Table 2).Combining Equations ( 18)-( 22) yields the Bezier curves, as illustrated in Figure 13.
Table 2. Waypoints of the paths generated by the multi-RRT and improved A-star algorithms.

Conclusions
This study proposed a novel path planning method for multirotor UAVs in a 3D environment.To account for real-time navigation, a multi-RRT algorithm was introduced to characterize the preliminary flight paths in an efficient manner.The proposed improved A-star algorithm tailored for multirotor UAVs was incorporated to mitigate flight path costs by reducing the number of waypoints.As for flight path smoothing, control nodes of the Bezier curves were determined to refine the paths.A variety of scenarios, from single to multiple obstacles, were numerically simulated and evaluated.The results showed that the combined use of the proposed improved A-star algorithm and the Bezier curves produced smooth flight paths with less cost while remaining computational efficiency.

Figure 2 .
Figure 2. Flow chart of the proposed path planner.

Figure 3 .
Figure 3. Random node connecting two random trees.

Figure 4 .
Figure 4. Computing and .The climbing angle of UAV is controlled by the angles of pitch and roll.The angle of horizontal rotation is generated by changing the yaw angle.In Figure 4, let i = 2 and compute the yaw angle , the climbing angle , and , which is the distance between the nodes indexed i = 2,3.Next, substituting , (all less than 90°) and into Equation (2) obtains the moving cost G3.

Figure 6 .
Figure 6.Positions of the control nodes.

Figure 12 .
Figure 12. Results of path planning via the multi-RRT and improved A-star algorithms and the finalized path after introducing Bezier curves in Case 1 (unit: m).

Figure 13 .Figure 15 .
Figure 13.Results of path planning via the multi-RRT and improved A-star algorithms and the finalized path after introducing Bezier curves in Case 2 (unit: m).
2 Find the lowest Fi on the open list referring to the current node and add the ith to the closed list with the ith node canceled from the open list.Step 3 Check whether the ith node can reach the adjacent nodes.If the ith node is not on both lists, add it to the open list.If the ith node is on the open list, and the new F is lower than the original F, then the new F refers to the original F ; update the last index of the adjacent node as the current node.Step 4 If the goal node is on the closed list, the path is found.If the goal node is not on the closed list, repeat Step 2. If the open list is empty, there is no available path.

Table 1 .
Waypoints of the paths generated by the multi-RRT (rapidly-exploring random tree) and improved A-star algorithms.

Table 4 .
Comparison of computational efficiency.