Académique Documents
Professionnel Documents
Culture Documents
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
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
Paul I. Muntean
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. )
Figure5. A* algorithm
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
Paul I. Muntean
Test run 1 2 3 4
Time [sec] 40 45 61 47
Paul I. Muntean
Paul I. Muntean
Positionof the robot. Start and Stop positions. Red line, path. The PC Desktop.
Paul I. Muntean
Paul I. Muntean
Paul I. Muntean
BSC Handshake procedure Controller knows only his area Vehicle moves across the cells
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.
Paul I. Muntean