Simulation and experimental approach for optimal path planning of UAV using A* and MEA* algorithms

Over the past decades, Unmanned Aerial Vehicle (UAV) have been effectively adapted to perform disaster missions, agricultural and various societal applications. The path planning plays a crucial role in bringing autonomy to the UAVs to attain the designated tasks by avoiding collision in the obstacles prone regions. Optimal path planning of UAV is considered to be a challenging issue in real time navigation during obstacle prone environments. The present article focused on implementing a well-known A* and variant of A* namely MEA* algorithm to determine an optimal path in the varied obstacle regions for the UAV applications which is novel. Simulation is performed to investigate the performance of each algorithm with respect to comparing their execution time, total distance travelled and number of turns made to reach the source to target. Further, experimental flight trails are made to examine the performance of these algorithms using a UAV. The desired position, velocity and yaw of UAV is obtained based on the waypoints of optimal path planned data and effective navigation is performed. The simulation and experimental results are compared for confirming the effectiveness of these algorithms.


Introduction
Unmanned Aerial Vehicles (UAVs) are of its prominence in military, societal, environmental, disaster response, infrastructure monitoring and wild life monitoring missions [1][2][3][4][5]. Especially, rotary wing UAVs (RWUAVs) are considered to be more popular because of its inherent hovering characteristics, simplicity in design and construction, agile in nature and easy vertical take-off and landing ability [6]. Nevertheless, the RWUAVs are suffering for the flight endurance due to limited storage capacity of the batteries. In order to efficiently utilize the available power source to navigate in the clustered environment an optimal path planning of RWUAV is necessary. In general, path planning involves various factors such as path distance, number of diversions, execution time and collision-free space which are playing a significant role in determining the best path [7]. Popular path planning algorithms on a grid-based generally suit low-dimensional environments.
They used to map the environment with a grid by partitioning the domain with respect to small cells [8]. The first heuristic-based approach was the Dijkstra algorithm [9]. Nonetheless, in high-dimensional environments, it has reduced search efficiency. As a result, for UAV applications such as path planning, it is not the best approach. Extended Dijkstra was used to solving problems with path navigation at a specific time [10]. Wavefront can be used to solve path planning issues [11]. It creates a cost matrix in the grid and selecting the lowest cost and perform reverse tracking from the starting to the goal node. Thompson et al. [12] used the Slocum glider with the Wavefront planner to forecast 48-hour ocean currents. Tang et al. [13] findings show that when comparing a modified wavefront to a normal wavefront, there is a 19% improvement. A* is the first best search methods [14] developed from Dijkstra varieties, are widely used in algorithms such as route planning in computer games and robotics. A* works with respect to tracking the grid cell edges and may not traverse into the complex environment [15]. The memory requirement to store the earlier visited nodes also a challenging issue for intricate surroundings. As a result, central processing unit processing time and storage capacity increases. Hence, in order to overcome the aforementioned issues, several variants of A* algorithms have been presented. The iterative-deepening A* (IDA*) was proposed [16] to address the vast memory requirements imposed by the A* algorithm. However, the IDA* was not performing well to identify and select subsequent possible nodes. It is used to select the same node multiple times that made slower performance than A*. In addition, in order to resolve the issue of following the grid edges of individual grid cells to determine an optimal path, a Theta* [17,18] algorithm was proposed. It was found that Theta* performance is much slower than A* in finding an optimal path. However, another variant of A*, namely Field D* (FD*), was formulated [19] to avoid following the edges of the grid cell. It was observed that FD* made more number of turns which are unnecessary than the A* algorithm [19][20][21]. Recently, the Memory Efficient A* (MEA*) algorithm [15] is becoming popular because of the fact that it does not require large memory and avoiding the edges of the grid cells in contrast to A* for finding an optimal path. It was proven to be an efficient algorithm to determine an optimal path in fewer turns with very minimal execution time. Hence, this work focuses on path planning of RWUAVs in obstacle prone regions to minimize the execution time and avoid unnecessary more requirements. Comparative evaluation analysis will be performed with standard A* algorithm with MEA* to show case the effectiveness of the present approach.

UAV path planning algorithms
Path planning in UAV applications [22] to avoid obstacles in a constrained environment is challenging. In this work, in order to efficiently find an optimal path A* and MEA* algorithms are compared. The following section provides an overview of these two algorithms

A* algorithm
A* is a graph traversal and path searching algorithm which is widely used for finding an optimal path because of its completeness and optimality. It finds an optimal path with less computational efforts and it has memories to store the earlier visited nodes. It uses those memories to identify the best path that can be taken from its current state. It uses the following relation to identify the next node.
where, F is the cost function; G is the cost of moving from one node to another node; H is the heuristic/estimated path between the current node to the destination node. Based on this relation, the minimal cost function is determined to visit the forthcoming optimal nodal point. The consecutive optimal nodal points are determined based on this cost function to arrive at an optimal path by avoiding the obstacles. Figure 1 shows the steps involved in finding the optimal path in the A* algorithm. It is primarily based on heuristic cost efficiency, search space expands in high-dimensional areas, and applicable only in a static context. Since A* solution paths are made up of adjacent map values, the path solution is long and jagged.

MEA* algorithm
MEA* algorithm is a variant of the A* algorithm that primarily focuses on the stringent memory requirement of the A* algorithm and solving high dimensional grid environment [15]. A* also has an issue of tracking the edges of grids, and it may not provide an efficient optimal path. In order to overcome these bottlenecks for determining an optimal path in high dimensional space, the MEA* algorithm is developed. It has three lists, an empty list containing the nodes to be explored, a close list that has already explored nodes, and the parent list have the parent node of the current node. At the initial stage, all lists are set to empty.
Its cost function is given by where G(n) is cost from initial to present node and H(n) is the heuristic estimation cost from present to end node. Initially, G(n) is set to zero for the start point, and all other nodes in the map are assumed to be infinity. The minimum F-Value is considered and added to the open list and other nodes are ignored during each iteration. Due to this, execution time and memory requirements are minimized. However, A* considers all the neighboring nodes which are not necessary for an optimal path that causes more memory requirements and increases execution time. The flow chart shown in Figure 2 depicts the step-by-step process involved in MEA* algorithm. The Table 1 describes the initial configuration of the MEA* matrix where boxes marked with 2 and 7 are the starting and ending cost respectively, similarly 1 and 0 represents the obstacles and the free path. The final configuration of the MEA* matrix given in Table 2 where in the boxes are shaded in green color marked with numbers other than 0 and 1 is denoted as minimum and maximum number for the path.

Simulation analysis of path planning algorithms
In order to understand the efficiency of both the algorithms the obstacles in the environment is varied with few to many, narrow and concave passages are introduced. The C1, C2, C3, C4, and C5 are the various environmental map considered for the simulation studies given in Table 3. The simulation was performed on Intel i7 processor 64-bit Windows 7 platform with 8 GB of inbuilt memory and 8 RAM. Spyder was used to build a graphical simulation environment for performing mathematical and graphical comparison analyses. The Table 3 provides the simulation results of A* and MEA* algorithms.
The comparison between A* and MEA* algorithm with reference to execution time, path length and total number of turns to reach the target are calculated and they are shown in Figures 3-5 respectively.

Experimental analysis by real time UAV flight trials
The flight trials are conducted in the outdoor environment using a custom-built UAV platform. The hardware and software architecture, including the mission planner using a Ground Control Station (GCS), wherein optimal path is fed in from the simulation environment. In this study, Q Ground Control (QGC) software platform is utilized to navigate the UAV in the designated waypoints. A flight controller (Pixhawk 4) and an on-board computer (Raspberry Pi 3) to process the signal are embedded on the UAV.
In the event of navigation. GCS provides optimal waypoints, which is determined through an optimal path planning algorithm that will be fed into the flight controller. The latitude and longitude information for each waypoint are obtained from the on-board GPS sensor. As an output, GCS software displays the list of waypoints extracted from an optimal path. The Figure 6 shows a typical step-by-step process involved in providing input from GCS in navigating the UAV with respect to an optimal path on the predefined obstacles region to achieve      designated inspection tasks. Outdoor experiments are performed by implementing the determined optimal path in real-time. The altitude of the UAV is kept at 15 m and vehicle speed is maintained at 2 m/s. The on-board computer receives the list of waypoints from GCS and executes the path planning algorithm in real-time. The desired position, velocity and yaw of UAV is obtained based on the waypoints, and the controller sends the control signal to the motor for achieving the navigation. The planned trajectory for A* algorithm and the corresponding executed trajectory is also shown in Figure 7. Similarly, for MEA* algorithm flight trials are conducted and the optimal path is shown in Figure 8. Table 4 that, the MEA* outperforms with respect to decrease in distance travelled, minimal execution and flight time with less number of turns. Hence, it is envisaging to deploy MEA* algorithm for proficient path planning for UAV applications. Outdoor flight tests conducted at our university campus where in UAV is flying at an altitude of 15m in a stable manner.

It is evident from
The execution time of MEA* algorithm is compared with other algorithms and the percentage increase in execution time is tabulated (Tab. 5). It is evident that MEA* algorithm performs faster in comparison to other algorithms which is considered for path planning of UAVs.

Conclusion
An efficient optimal path planning strategy using A* and MEA* algorithms is developed. Simulation analysis results of these two algorithms with respect to varied obstacles having narrow passages confirmed that MEA* outperforms A* algorithm in terms of execution of time, distance travelled and total number of turns it achieved. The experimental UAV flight trails in the outdoor environment to reach the destination from a target confirms that MEA* achieved superior performance than A* algorithm. The MEA* algorithm has resulted in 44% reduction in execution time, 31% saved flight time, 77% reduced number of turns and 3% less in execution time in comparison with A* algorithm. MEA* also reduced the stringent memory requirements and found an optimal path efficiently. Hence, the MEA* algorithm can be effectively utilized for UAV navigation in the obstacle prone regions to minimize the power consumption of UAV and thereby increase in flight endurance is achieved.

Conflict of interest
Authors declares that there is no conflict of interest.