Path Planning Algorithms for Unmanned Aerial Vehicles

In this paper, the shortest path for Unmanned Aerıal Vehicles (UAVs) is calculated with two -dimensional (2D) path planning algorithms in the environment including obstacles and thus the robots could perform their tasks as soon as possible in the environment. The aim of this paper is to avoid obstacles and to find the shortest way to the target point. Th e simulation environment was created to evaluate the arrival time on the path planning algorithms (A* and Dijkstra algorithms) for the UAVs. As a result, real-time tests were performed with UAVs


INTRODUCTION
UAV is a non-human, remote and autonomously controlled aircraft. Basic components of UAV; the main body is called skeleton, propeller, wing, motor drive, motor, battery, control board. Apart from these basic components, electronic sensors, communication electronics, various sensors, and cameras are also available on the UAV. The historical development of the UAV started in the middle of the 19th century, however it was evident during the first and Second World War periods and continued its development by reducing both pilot losses and exploration and intelligence during the Cold War period.
In the last 10 years, great attention has been paid to the design and implementat of drones used for both military and commercial [2].
The usage of UAVs that can operate independently in dynamic and complex working environments has become increasingly widespread. It is important that path planning of UAVs to cope with emergencies during the process [3]. UAVs perform their duties in a complex environment, avoiding obstacles show a basic demand. UAV illustrate two types of classification to prevent obstacles: traditional algorithm and intelligent algorithm [8]. Road planning is the main component of these independent flights. Road planning shows a variety of factors, such as moving to a target point, and shows how to avoid obstacles and shorten the path [9]. UAVs have the advantages of cheap-cost, flexibility, high reliability, and additionally you don't have to worry about personal losses [7]. The standard route planning problem is to determine an ideal or time-based path between the required sites under certain restrictions. After planning the flight plan (unmanned aerial vehicles capable of entering enemy threats, perform certain tasks in the enemy's air defense zone and ensure their safety [6]. Xiao et al. (2005) suggest a genetic algorithm-based approach to UAV path planning in dynamic environments. They showed that the proposed algorithm was effective in finding a non-optimal unobstructed path in a dynamically changing environment [1]. Jayesh et al. (2006) presented a new combination of data structures and algorithms as a quick and effective practical approach to planning the road for UAV. The paths generated by the RRT algorithm show that the path through the Dijkstra algorithm, which adds the shortest path without any obstacles between the points in the path [2]. Mariusz and Patrick (2006) suggest a path planning framework for autonomous UAVs. It was carried out by analyzing the execution process and by removing the upper limits or repairing the old plans at the time that could be spent to create new plans by calling a PRM (probabilistic road maps) or RRT (rapidly-exploring random trees) planner. The results show the applicability of using these techniques in the field of unmanned aerial vehicles (UAVs) Aleksandar et al. (2010) proposed a number of intelligencebased methods for the route optimization of unmanned aerial vehicles (UAVs). In the map coverage scenario, they showed that the Ant System algorithm could be applied to the optimization of the UAV system. As a comparison of another method, the NNS (nearest neighbor search) shows that the algorithm is more effective in finding a more suitable route than the nearest neighbor search [4]. Felipe and Jose (2010) proposed a Dijkstra algorithm for fixed-wing UAV trajectory planning based on field height. The MDA (Modified Dijkstra Algorithm) method is used to show that the EDA (Elevation-Based Dijkstra Algorithm) significantly reduces calculation time [5]. Dong et al. (2010) examine the FVF-based UAV path planning approach. The FVF (Fuzzy Virtual Force) method is convenient and fast for UAV path planning. When the FVF method and the A* search algorithm are compared with each other, the FVF method is superior to the online UAV path planning in the complex environment [6]. Jinbae et al. (2017) proposed an independent flight plan strategy for UAVs through reinforcement learning. They have implemented Q-learning, a type of reinforcement learning algorithm, to eliminate the obstacles until the UAV reaches the target point. The recommended method indicates the shorter arrival time [10]. Bo Wang et al. (2018) used radar to provide real-time feedback about the target position, predicted the next move situation based on the location of the target, and then combined the feedback data and the situation forecast to perform dynamic path planning. Kalman filtering has been used to obtain status positions and predicted positions of targets, and the ant colony algorithm used to plan paths for multiple moving targets. This proposed plan shows that the time needed to achieve the goal has been shortened and the road is declining [11].

MATERIALS AND METHODS PATH PLANNING
Path planning is a method of finding the most optimum path between them by calculating the distance of two points in space. The path planning task usually takes several values or input parameters: a start position, a goal position, and obstacles. Several steps are used in algorithms to find a 2D path. Path planning algorithms are used to reach both from a starting point to a target point and to overcome this path with the lowest possible cost. Several alternative route planning based on road planning algorithms. The most appropriate one of the road planning is determined by various methods.

A STAR (A*) ALGORITHM
A* algorithm is a heuristics approach algorithm. The total cost is calculated by adding heuristics cost to the cost of the road. The lowest total cost way is preferred. So you don't need to visit all nodes (shown in Fig.1).

Figure 1. Sample nodes for A* Algorithm
The function used by A* in distance calculation is as follows: As it appears in the Equation 1, f (n): a heuristic function that calculates, g(n): the cost of access from the start node to the current node, h(n): the distance from the current node to the destination node is the estimated distance.

DIJKSTRA ALGORITHM
The Dijkstra algorithm is an algorithm that provides the shortest distance between any two nodes with a value above a certain metric value. This algorithm Found by Dutch mathematician and computer scientist Edsger Wybe Dijkstra. An algorithm is used in many areas, especially routing. Dijkstra algorithm is a greedy algorithm. That means, the Dijkstra algorithm selects the best solution of the current state when moving from one node to another node (shown in Fig.2).

Figure 2. Sample nodes for Dijkstra Algorithm
The function used by the Dijkstra in distance calculation is as follows: As it appears in the Equation 2, f (n): a heuristic function that calculates, g(n): the real distance between two nodes

SIMULATION AND RESULT
In this paper, it is desirable to develop 3D path planning methods based on the developed 2D path planning algorithms for mobile autonomous robots and to proceed quickly in practice. Among the obstacles the simulation environment was created, unmanned aerial vehicles ensure that the shortest path is obtained by avoiding obstacles between the source and the target and using the proposed methods. Dijkstra and A* algorithms are the most commonly used methods in autonomous mobile robots. While the Dijkstra algorithm determines the shortest path between the two nodes, the A* algorithm also finds the shortest path by using heuristic approaches. The map we created consists of three elements: the obstacle, the starting point and the end point (target).
A few steps are used in algorithms to find a 3D path. First, information about the heights of obstacles from a local starting point to an endpoint is obtained. Then, according to the height of these obstacles and the shortest path planning, the maximum height to which the UAV will fly is determined. Several alternative route planning based on 2D path planning algorithms based on obstacle heights. The most appropriate one of the path planning is determined by various methods.
Redline is the result of path planning with A* algorithm and the Purple line is the result of path planning with the Dijkstra algorithm.  Table 1 and 2.
Figure5. 2D algorithm path Figure6. 3D algorithm path As seen in Figure 5, there are 4 different obstacles and each of them has a different height. According to the A* algorithm from the starting point to the target point in the mobile robots, it is 0.4408 sec and 1.6785 sec according to the Dijkstra algorithm. As the height given to the unmanned aerial vehicles (UAV) is higher than the obstacle height, the algorithm calculates the shortest path by ignoring the obstacles (shown in Fig.6). The path of the algorithm calculated from the starting point to the target point is as seen in Table 5.   Fig.7).

Figure7. UAV testing enviorment
The results of the UAV testing environment are as seen in Table3. The images in the flight path of unmanned aerial vehicles are as shown in Table 5.  When the battery is full is equal to 16.8 V and when the battery is empty is equal to 13,2 V. According to the result, the higher the UAV, the more battery power is spent. According to the A* algorithm, the 28 m path went to 0.3477 sec. and the 22 m path went to 0.1604 sec., According to the Dijkstra algorithm, the 28 m path went to 1.4512 sec. and the 22 m path went to 1.7371 sec, In other words, the advantage of using unmanned aerial vehicles both reduces the length of the road and reduces the time savings. Comparing the results of the A-star algorithm and the Dijkstra algorithm, the two path length algorithms show the same path length but only in time saving A* algorithm shows better performances the Dijkstra algorithm.