Vous êtes sur la page 1sur 17

Mobile Robot Navigation on Partially Known Maps using the A* Algorithm

Paul-Ioan MUNTEAN

Technical University of Cluj-Napoca, Romania Faculty of Automation & Computer Science, Department of Automation & Applied Informatics http://aut.utcluj.ro

Paul I. Muntean

Outline: 1. Introduction 2. Testing the A* Algorithm 3. Developping the Path Planning application 4. Testing the Path Planning app. On the P2 simulator 5. Testing the Path Planning application on P2 6. Future improvements of the Path P. Algorithm 7. Conclusions
Paul I. Muntean

Introduction
Pros and contras for using the A* Algorithm. Pros: Offers advantages of Dijkstra algorithm and Best-First-Search. It has many optimized variants like the bidirectional A* or D*. It can be easilly abstracted and be used in many fields of study like computer games ex: Counter Strike ,bots path planning. Cons: it uses huge amounts of memory to keep the data of proceeding nodes. Limited regarding path planning in 3D space but optimized it copes even with this problem. A* must insert nodes into a sorted Open List (the cost of the insertion can be logarithmic in the length of the list).

Paul I. Muntean

Introduction
A* Algorithm description.

The A* algorithm uses a best-first search and finds the least-cost path from a given initial node to one goal node (out of one or more possible goals). The path-cost function, which is the cost from the starting node to the current node (usually denoted g(x)) and an admissible "heuristic estimate" of the distance to the goal (usually denoted h(x)). F = G + H (1) Starting with the initial node, it maintains a priority queue of nodes to be traversed, known as the open list.

Paul I. Muntean

Offline Testing of the A* Algorithm.


Testing the A* algorithm by using different algorithm parameters.

One cell equals ten centimeters

Figure1. GUI of the A* testing application

Figure2. Path Determined from start to goal

Characteristics of the application Guarantee high accuracy using Kernel32.dll The results have four decimals The path from start to goal position is the shortest
Paul I. Muntean

Offline Testing of the A* Algorithm.


Testing the A* algorithm by using different algorithm parameters.
T.N. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 H 0 1 2 3 4 0 1 2 3 4 5 6 7 8 0 1 2 3 4 0 1 2 3 D y y y y y y y y y y y y y y y y y y y y y y y F. P. yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes F. m m m m m M(x,y) M(x,y) M(x,y) M(x,y) M(x,y) M(x,y) M(x,y) M(x,y) M(x,y) D. S. D. S. D. S. D. S. D. S. E E E E T [sec] 0.0975 0.0302 0.0104 0.0033 0.0034 0.1025 0.0494 0.0275 0.0173 0.0110 0.0108 0.0087 0.0075 0.0078 0.108 0.0286 0.0114 0.0034 0.0037 0.1120 0.0499 0.0254 0.0205 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 4 5 0 1 2 3 4 0 1 2 3 0 1 2 0 1 2 3 0 1 2 0 1 y y y y y y y y y y y y y y y y y y y y y y y yes yes yes yes yes yes yes no no no no no no no no no no no no no no no no E E SQR SQR SQR SQR SQR m m m m M(x,y) M(x,y) M(x,y) D. S. D. S. D. S. D. S. E E E SQR SQR 0.0146 0.0153 0.1235 0.0155 0.0012 0.0011 0.0015 30 1.3443 0.0124 0.0322 10.685 2.7441 30 30 1.3152 0.0358 0.3453 25.305 2.2041 30 25.966 30

Table 1.Test Results for A* vs A* Fast

Table 2.Test Results for A* vs A* Fast

Paul I. Muntean

Implementation of the Path Plannig program

Figure3. Overview of the s. implementation Real Robot Communication protocol ArRobot Class ,(send control Commands and receive sensor data (odometry, sonar) from the robot) Control Algorithm UI
Paul I. Muntean

Figure4. ArRobot task tree SIP (Server Information packet) The branches priority Timeout Reality two more(action handling and state reflection) (Action handling handles the
internal actions which can be added to this branch and state reflection updates the robots internal information. )

Implementation of the Path Plannig program

Figure5. A* algorithm

Figure6 . Class Structure of p.p. app.

Figure7. GUI of Path P. Application

From Code to Class Diagram to Path Planning app. A* algorithm pseudo code Components of the Class Diagram Componets of the GUI Loaded Map,Partialy known. Next Step Simulation with the Pioneer Simulator.
Paul I. Muntean

Offline Testing of the A* Algorithm.


Path Planning with the Pioneer Robot Simulator.
7.55x8.46 meters , 1:120 scale 7.55x8.46 meters , 1:120 scale 7.55x8.46 meters , 1:120 scale

Figure 8. Map loaded in the Path Planning Application.

Figure 9.First Map loaded in the Pioneer Robot Simulator

Figure 10.Second Map loaded in the Pioneer Robot Simulator

Paul I. Muntean

Offline Testing of the A* Algorithm.


Path Planning with the Pioneer Robot Simulator. Two unknown environments. Handling partially unknown maps. Real world environment.

Test run 1 2 3 4

Fast Mode Yes No Yes No

Map S.Map S.Map F.Map F.Map

Time [sec] 40 45 61 47

Table 3.Test results for the path planning application.

Paul I. Muntean

Online Testing of the A* Algorithm.


Path Planning with the real Pioneer 2 Robot.
The path planning application communicates directly with the real Pionner 2 Robot. As testing area the C12 laboratory was used with an obstacle which was not present on the map loaded in the simulator. The starting position of the robot is the left lower corner of the room where we consider to have 0 on the x axis and 0 on the y axis.The initial coordinates of the robot when it starts are the same so it is of big importance to have an agreement betwen the starting coordinates of the robot and the (0,0) coordinates of the map. The robot is set there and after selecting the starting position on the map which coresponds to the actual position of the robot we select the desired position on the map where we want the robot to go. Along his path it is placed a 15 x 50 x 50 box which represent the unknown obstacle. The robot folows the path and when it reaches the obstacles after a few turns and action needed to avoid it passes the obstale and continuos on the path to the final destination. The goal possition is reached and then the robot stops.

Paul I. Muntean

Online Testing of the A* Algorithm.


Path Planning with the real Pioneer 2 Robot.

Positionof the robot. Start and Stop positions. Red line, path. The PC Desktop.
Paul I. Muntean

Figure11. C12 Laboratory on Dorobantilor Street.

Online Testing of the A* Algorithm.


Path Planning with the real Pioneer 2 Robot.

Figure 12.Path planning with the Pionner 2 Robot

Figure 13.Going between the desks

Paul I. Muntean

Online Testing of the A* Algorithm.


Path Planning with the real Pioneer 2 Robot, other tests.

Figure 14.Going to the entrance dor.

Figure 15.Going from start to goal position and back

Paul I. Muntean

Possible Improvements of Path Planning


A distrubuted path planning algorithm

Figure16. Map composed of cells

Figure17. Control S. with Coordinator.

Characteristics of the Multi Cell Area


Figure 18. GUI of Robot Com

BSC Handshake procedure Controller knows only his area Vehicle moves across the cells

Result:The Pioneer 2 can be controlled in a multi distributed controll manner.

Paul I. Muntean

Conclusions

The process of developing a path planning application it is a gradual process starting with algorithm understanding ,determining the limits of the A*,simulating the path planning algorithm on the Simulator, simulation on the real robot and continuous tuning of the application; Using more advanced sensors and methods of interpreting raw data from them could be the key for obtaining a system that is capable to cope with more demanding terrains. Sensor fusion which can be helpful in obtaining a better result. Future improvements can be made by using the Distributed Control application.

Paul I. Muntean

Special Thanks: To: supervisor Radu Robotin. -for continuous help and guidance. Department of Automation.

Thank You for Your Attention!

Paul I. Muntean

Vous aimerez peut-être aussi