Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

download Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

of 17

Transcript of Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

  • 8/3/2019 Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

    1/17

    Mobile Robot Navigation on Partially

    Known Maps using the A* Algorithm

    Paul-Ioan MUNTEAN

    Technical University of Cluj-Napoca, RomaniaFaculty of Automation & Computer Science, Department of Automation & Applied Informatics

    http://aut.utcluj.ro

    Paul I. Muntean

  • 8/3/2019 Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

    2/17

    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

  • 8/3/2019 Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

    3/17

    Introduction

    Pros and contras for using the A* Algorithm.

    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 sortedOpen List (the cost of the insertion

    can be logarithmic in the length of the

    list).

    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 studylike computer games ex: Counter

    Strike ,bots path planning.

    Paul I. Muntean

  • 8/3/2019 Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

    4/17

    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

  • 8/3/2019 Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

    5/17

    Offline Testing of the A* Algorithm.

    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

    Figure2. Path Determined from start to goal

    Testing the A* algorithm by using different algorithm parameters.

    One cell equals ten centimeters

    Figure1. GUI of the A* testing application

    Paul I. Muntean

  • 8/3/2019 Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

    6/17

    Offline Testing of the A* Algorithm.

    Testing the A* algorithm by using different algorithm parameters.

    T.N. H D F. P. F. T [sec]

    1 0 y yes m 0.0975

    2 1 y yes m 0.0302

    3 2 y yes m 0.0104

    4 3 y yes m 0.0033

    5 4 y yes m 0.0034

    6 0 y yes M(x,y) 0.1025

    7 1 y yes M(x,y) 0.0494

    8 2 y yes M(x,y) 0.0275

    9 3 y yes M(x,y) 0.0173

    10 4 y yes M(x,y) 0.0110

    11 5 y yes M(x,y) 0.0108

    12 6 y yes M(x,y) 0.0087

    13 7 y yes M(x,y) 0.0075

    14 8 y yes M(x,y) 0.0078

    15 0 y yes D. S. 0.108

    16 1 y yes D. S. 0.0286

    17 2 y yes D. S. 0.0114

    18 3 y yes D. S. 0.0034

    19 4 y yes D. S. 0.0037

    20 0 y yes E 0.1120

    21 1 y yes E 0.0499

    22 2 y yes E 0.0254

    23 3 y yes E 0.0205

    24 4 y yes E 0.0146

    25 5 y yes E 0.0153

    26 0 y yes SQR 0.1235

    27 1 y yes SQR 0.0155

    28 2 y yes SQR 0.0012

    29 3 y yes SQR 0.0011

    30 4 y yes SQR 0.001531 0 y no m 30

    32 1 y no m 1.3443

    33 2 y no m 0.0124

    34 3 y no m 0.0322

    35 0 y no M(x,y) 10.685

    36 1 y no M(x,y) 2.7441

    37 2 y no M(x,y) 30

    38 0 y no D. S. 30

    39 1 y no D. S. 1.3152

    40 2 y no D. S. 0.0358

    41 3 y no D. S. 0.345342 0 y no E 25.305

    43 1 y no E 2.2041

    44 2 y no E 30

    45 0 y no SQR 25.966

    46 1 y no SQR 30

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

    Paul I. Muntean

  • 8/3/2019 Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

    7/17

    Implementation of the Path Plannig program

    Figure3. Overview of the s. implementation Figure4. ArRobot task tree

    Real RobotCommunication protocol

    ArRobot Class ,(send control Commands and receive

    sensor data (odometry, sonar) from the robot)

    Control Algorithm

    UI

    SIP (Server Information packet)

    The branches priority

    Timeout

    Reality two more(action handling and

    state reflection) (Action handling handles theinternal actions which can be added to this branch andstate reflection updates the robots internal information. )

    Paul I. Muntean

  • 8/3/2019 Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

    8/17

    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.

    Implementation of the Path Plannig program

    Figure7. GUI of Path P. ApplicationFigure6 . Class Structure of p.p. app.Figure5. A* algorithm

    Paul I. Muntean

  • 8/3/2019 Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

    9/17

    Offline Testing of the A* Algorithm.

    Path Planning with the Pioneer Robot Simulator.

    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

    7.55x8.46meters , 1:120 scale7.55x8.46meters , 1:120 scale 7.55x8.46meters , 1:120 scale

    Paul I. Muntean

  • 8/3/2019 Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

    10/17

    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 Fast Mode Map Time [sec]

    1 Yes S.Map 40

    2 No S.Map 45

    3 Yes F.Map 61

    4 No F.Map 47

    Table 3.Test results for the path planning application.

    Paul I. Muntean

  • 8/3/2019 Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

    11/17

    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 yaxis.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

  • 8/3/2019 Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

    12/17

    Online Testing of the A* Algorithm.

    Path Planning with the real Pioneer 2 Robot.

    Figure11. C12 Laboratory on Dorobantilor Street. Positionof the robot.

    Start and Stop positions.

    Red line, path.

    The PC Desktop.

    Paul I. Muntean

  • 8/3/2019 Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

    13/17

    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

  • 8/3/2019 Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

    14/17

    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

  • 8/3/2019 Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

    15/17

    Possible Improvements of Path Planning

    A distrubuted path planning algorithm

    Figure16. Map composed of cells

    Characteristics of the Multi Cell Area

    BSCHandshake procedure

    Controller knows only his area

    Vehicle moves across the cells

    Figure17. Control S. with Coordinator.

    Figure 18. GUI of Robot Com

    Result:The Pioneer 2 can be controlled in a

    multi distributed controll manner.

    Paul I. Muntean

  • 8/3/2019 Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

    16/17

    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 andcontinuous 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

  • 8/3/2019 Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul

    17/17

    Special Thanks:

    To: supervisor Radu Robotin.

    -forcontinuous help andguidance.

    Department of Automation.

    Thank You for Your Attention!

    Paul I. Muntean