6
COMPARISION OF VARIOUS POPULAR PATH PLANNING ALGORITHMS 1 Koyya Shiva Karthik Reddy, 2 Vishnunandan Venkatesh Department of Electrical and Electronics Engineering Rochester institute of Technology ABSTARCT Path planning is a complex task where usually the robot has to consider many conditions in the environment apart from just following a map to reach the desired destination/goal. In the current project various popular path planning algorithms are compared in terms of their complexities of time and space. The algorithms were implemented in a known environment based upon grid based maps in MATLAB with random goal, start and obstacles as nodes of the matrix. Three algorithms were choose, A* algorithm as the baseline which was then compared against greedy best first search and joint point search. Ke ywords : A*, Greedy best first search, Jump point search, path planning INTRODUCTION The paper is divided into IV section the I section talks about the previous work and related research in this field, the second section will talk about all 3 algorithm we are implementing , the III section will talk about the future work that needs to be done and IV section will discuss the result of the work achieved. Before talking about the implementation of the algorithms the following assumptions are made by us towards solving our problem: Point Robot with Ideal Localization Workspace is bounded and known Static source, goal Number of obstacles are finite and static Our path planning algorithms implement grid based maps. Grid-based approaches overlay a grid on configuration space, and assume each configuration is identified with a grid point. I. PREVIOUS RESEARCH IN THE FIELD 1. Hierarchical A-Star Algorithm for Big Map Navigation in Special Areas This paper addresses the use of A* in the case for path planning of a large map. The paper talks about a variation of A* called the hierarchical A* algorithm where it basically divides large maps into layers of smaller maps and then applies the A* algorithm to the smaller maps individually to find the shortest path. Then all the shortest paths of the smaller maps are arranged in hierarchy to obtain the best path for the entire map. This method is useful when the map is a country or a state etc. In our case we don't have a very large map. Our map is limited to an indoor environment as we plan to implement the system to a mobile robot. So we don't need to implement hierarchical A*. Apart from this crucial point the algorithm we plan to implement end of the day is the Jump Point Search which would be much efficient than the A*. 2. Path Planning of Automated Guided Vehicles Based on Improve d A-Star Algorithm The motive behind this paper is to implement A* in Automated Guided Vehicles. The improvement over regular A* in the paper is the removal of diagonal paths. An obstacle avoidance technique is also implemented where the AGV (Automated Guided Vehicle) avoids collision with obstacles. Technically the improved algorithm is the A* without diagonal movements. Our Base algorithm is very similar to this case where since we look to implement the path planning algorithm in a mobile robot we also excluded diagonal paths (i.e. paths are only in the left, right, up, down directions and don’t move diagonally across nodes in the map.). Our algorithm also avoids obstacles. The advantage we plan to present is that we will implement the Jump point search which will be much efficient than regular A* algorithm.

artifical intelligence final paper

Embed Size (px)

Citation preview

Page 1: artifical intelligence final paper

COMPARISION OF VARIOUS POPULAR PATH PLANNING ALGORITHMS

1Koyya Shiva Karthik Reddy, 2Vishnunandan Venkatesh

Department of Electrical and Electronics Engineering

Rochester institute of Technology

ABSTARCT

Path planning is a complex task where usually the

robot has to consider many conditions in the environment apart from just following a map to reach the desired destination/goal. In the current project various popular path planning algorithms are compared in terms of their complexities of time and space. The algorithms were implemented in a known environment based upon grid based maps in MATLAB with random goal, start and obstacles as nodes of the matrix. Three algorithms were choose, A* algorithm as the baseline which was then compared against greedy best first search and joint point search.

Keywords : A*, Greedy best first search, Jump point search, path planning

INTRODUCTION

The paper is divided into IV section the I section talks about the previous work and related research in this field, the second section will talk about all 3 algorithm we are implementing , the III section will talk about the future work that needs to be done and IV section will discuss the result of the work achieved. Before talking about the implementation of the algorithms the following assumptions are made by us towards solving our problem:

Point Robot with Ideal Localization Workspace is bounded and known

Static source, goal

Number of obstacles are finite and static

Our path planning algorithms implement grid based maps. Grid-based approaches overlay a grid on configuration space, and assume each configuration is identified with a grid point.

I. PREVIOUS RESEARCH IN THE FIELD

1. Hierarchical A-Star Algorithm for Big Map Navigation in Special Areas

This paper addresses the use of A* in the case for path planning of a large map. The paper talks about a variation of A* called the hierarchical A* algorithm where it basically divides large maps into layers of smaller maps and then applies the A* algorithm to the smaller maps individually to find the shortest path. Then all the shortest paths of the smaller maps are arranged in hierarchy to obtain the best path for the entire map. This method is useful when the map is a country or a state etc.

In our case we don't have a very large map. Our map is limited to an indoor environment as we plan to implement the system to a mobile robot. So we don't need to implement hierarchical A*. Apart from this crucial point the algorithm we plan to implement end of the day is the Jump Point Search which would be much efficient than the A*.

2. Path Planning of Automated Guided Vehicles Based on Improved A-Star Algorithm The motive behind this paper is to implement A* in Automated Guided Vehicles. The improvement over regular A* in the paper is the removal of diagonal paths. An obstacle avoidance technique is also implemented where the AGV (Automated Guided Vehicle) avoids collision with obstacles. Technically the improved algorithm is the A* without diagonal movements.

Our Base algorithm is very similar to this case where since we look to implement the path planning algorithm in a mobile robot we also excluded diagonal paths (i.e. paths are only in the left, right, up, down directions and don’t move diagonally across nodes in the map.). Our algorithm also avoids obstacles. The advantage we plan to present is that we will implement the Jump point search which will be much efficient than regular A* algorithm.

Page 2: artifical intelligence final paper

3. Path finding of 2D & 3D Game Real-Time Strategy with Depth Direction A*Algorithm for Multi-Layer

A comparison of all the various path planning algorithms such as A*, Depth First Search, Iterative Deepening, Breadth First Search, Dijkstra’s Algorithm, Best First Search, A-Star Algorithm (A*), Iterative Deepening A*. Besides, the paper proposes Depth Direction A*.

Depth Direction A* is very similar to our proposed Jump Point Search and with the help of this paper we see proof that Depth Direction A* is faster than a* although it evaluates more nodes. This is also a proof that Jump Point Search is faster than A* as it is very similar to Depth Direction A*.

4. Path Planning for Virtual Human Motion Using Improved A* Algorithm

This paper utilises weights to reduce search steps and to ignore nodes that have obstacles. This in turn reduces the time. The improvement is the adding of weights.

This concept of using weights to ignore nodes with obstacles is similar to how we ignore obstacles when we calculate the value of F=G+H and thereby we save time. We do this by giving all our obstacles a value of infinity in the map. During the search whenever any node in the map has a value of infinity the obstacle is detected in the map. Thus it is ignored with logical conditions. The method implemented in the above paper is also similarly implemented in ours. 5. Optimization using Boundary Lookup Jump Point Search

One of the crucial information that significantly differentiates our project and the above paper is that in the paper above the obstacles are dynamic in the map. The search method used is Jump point search. Since obstacles are dynamic for every instance of real time, the path planning algorithm is implemented with the map being updated at those instances of real time. Hence when a map is stored in memory during one implementation of the Jump Point Search then at the next instance of time the current map is deleted from the cache and a new map is made and the algorithm is

implemented again.

In our implementation of the project the map consists of static obstacles. There may be real time obstacles that are dynamic along the path but these obstacles don’t change the map. Only the static obstacles are taken in the map . A simple obstacle avoider is used in the execution avoiding real time dynamic obstacles without making any changes to the map. 6. Sensor-Based Path-Planning Algorithms for a Nonholonomic Mobile Robot A nonholonomic system in physics and mathematics is a system whose state depends on the path taken in order to achieve it. Thus it is basically a path planning system. In this paper depth first search and best first search are used to implement path planning for a mobile robot. Sensors are used to avoid obstacles along the path. Depth first search and greedy best first search are okay to implement when the map is an indoor based map and is not very complex. In cases where the map is complex the algorithm takes a lot of time to find the path

Our proposed project will be very fast when compared to the above paper's proposed system as we use a much efficient path planning algorithm which is the Jump Point Search.

II. ALGORITHMS EXPLANATION A. A* algorithm: A* is graph search algorithm

that finds the least-cost path from a given initial node to one goal node (out of one or more possible goals). It uses a distance-plus-cost heuristic function (usually denoted f(x)) to determine the order in which the search visits nodes in the tree. The f(x) is the sum of the h(x) heuristic which is the distance of any current node

from the goal and g(x) which is the

distance of the current node from the start.

A-Star Algorithm Pseudo Code

Create Start Node with Current

Position Add Start Node to Queue While Queue Not Empty Sort Node Queue by f(N) Value in Ascending

Get First Node From Queue call Node “N” If N is Goal Then Found and Exit

Loop Else

Page 3: artifical intelligence final paper

Mark N Node as Visited Expand each reachable Node from N call Node

“Next N” f(Next N) = g(Next N) + h(Next N) Loop FIGURE 1 A*:

B. Greedy best first search: The Best-First-Search

algorithm works in a similar way, except that it has some estimate or called a heuristic of how far from the goal any vertex is. Instead of selecting the vertex closest to the starting point, it selects the vertex closest to the goal.

Best First Search Pseudo Code

Create Start Node with Current Position Add Start Node to Queue

While Queue Not Empty Sort Node Queue by Cost Value in Ascending Get First Node From Queue call Node “N”

If N is Goal Then Found and Exit Loop Else Mark N Node as Visited

Expand each reachable Node from N call Node “Next N” Loop FIGURE 2 GREEDY

C. Jump point search: Jump point search is an

optimization to the A* search algorithm path finding algorithm for uniform-cost grids. It reduces symmetries in the search procedure by means of graph pruning, eliminating certain nodes in the grid based on assumptions that can be made about the current node's neighbours, as long as certain conditions relating to the grid are satisfied. As a result, the algorithm can consider long jumps along straight (horizontal, vertical and diagonal) lines in the grid , rather than the small steps from one grid position to the next as in A*.

FIGURE 3 JUMP POINT SEARCH

III. RESULTS

The results of any path planning algorithm can be compared in terms of the 3 factors 1. Computational complexity:

Computational complexity of any algorithm is described in terms of number of resources the algorithm used to reach the desired result the resources can be CPU time or memory or other resources.

2. Time complexity: time complexity is defined as the time taken by the algorithm to find the path between the start and the goal.

3. Space complexity: space complexity is the amount of nodes or units it had to explore before reaching the goal, more the nodes explored more the memory utilization.

For the obstacle course as shown in figure 1, 2 and 3 all the three algorithms were compared in a 7x7 grid the size 7x7 was choose so that the path can easily be visualized . The table 1 below shows the results for all three algorithms.

Page 4: artifical intelligence final paper

FIGURE1 The algorithms were also compared for maps as large 5000x5000 so as to test the limits, the algorithms worked fine in those maps as well, even with random obstacle path. A thing that should be noted here is that the results in the table show that the jump point search has the best result but it may not be the case every time in a few special cases greedy and A* might overpower jump point search. Appendix 1 shows the results of the implementations.

IV. FUTURE WORK

Path planning is not a new technology it has been extensively researched for more than past 30 years but the recent development are mainly focused to improve the computational complexity of these algorithms. As a future extension of this project the algorithms can be further optimised for better performance and be can tested on a mobile robot in a real environment with dynamic obstacle course. Real time implementation and tackling of problems like SLAM will be a good future prospect for this project.

V. REFRENCES [1]. Haifeng Wang; Jiawei Zhou; Guifeng Zheng; Yun Liang, "HAS: Hierarchical A-Star Algorithm for Big Map Navigation in Special Areas," in Digital Home (ICDH), 2014 5th International Conference on , vol., no., pp.222-225, 28-30 Nov. 2014

[2]. Chunbao Wang; Lin Wang; Jian Qin;

Zhengzhi Wu; Lihong Duan; Zhongqiu Li; Mequn Cao; Xicui Ou; Xia Su; Weiguang Li; Zhijiang Lu; Mengjie Li; Yulong Wang; Jianjun Long; Meiling Huang; Yinghong Li; Qiuhong Wang, "Path planning of automated guided vehicles based on improved A-Star algorithm," in Information and Automation, 2015 IEEE International Conference on , vol., no., pp.2071-2076, 8-10 Aug. 2015

[3]. Khantanapoka, K.; Chinnasarn, K., "Pathfinding of 2D & 3D game real-time strategy with depth direction A∗ algorithm for multi-layer," in Natural Language Processing, 2009. SNLP '09. Eighth International Symposium on , vol., no., pp.184-188, 20-22 Oct. 2009

[4]. Junfeng Yao; Chao Lin; Xiaobiao Xie; Wang, A.J.; Chih-Cheng Hung, "Path Planning for Virtual Human Motion Using Improved A* Star Algorithm," in Information Technology: New Generations (ITNG), 2010 Seventh International Conference on , vol., no., pp.1154-1158, 12-14 April 2010

[5]. Traish, J.; Tulip, J.; Moore, W., "Optimization using Boundary Lookup Jump Point Search," in Computational Intelligence and AI in Games, IEEE Transactions on , vol.PP, no.99, pp.1-1

Page 5: artifical intelligence final paper

APPENDIX 1

Page 6: artifical intelligence final paper