A comprehensive study on path planning algorithms in multi-agent robot soccer domain

download A comprehensive study on path planning algorithms in multi-agent robot soccer domain

of 7

Transcript of A comprehensive study on path planning algorithms in multi-agent robot soccer domain

  • 8/6/2019 A comprehensive study on path planning algorithms in multi-agent robot soccer domain

    1/7

  • 8/6/2019 A comprehensive study on path planning algorithms in multi-agent robot soccer domain

    2/7

    points -being unstable points- do not cause any problem due

    to the robots inertia and other dynamics.

    APF methods can vary regarding how they measure the

    distance to the goal, and the type of the functions they

    utilize. In this study, additive attractive/repulsive potential,

    and navigation potential based methods are investigated. In

    addition to these methods, a modified version of additive

    potential fields is also investigated.

    Fig. 1: From left to right: maximum, saddle, and minimum

    critical points are shown where figures at the top are the

    functions and the below are the gradient vectors of them.

    1) Additive attractive/repulsive potential: The intuition

    behind the additive potential functions is attracting the robot

    to the goal position while repelling the robot from the

    obstacles by superposing these two effects into one resultant

    force applied on the robot. This potential function can be

    constructed as U(q) = Uatt(q) + Urep(q), that is the sum ofthe attractive and repulsive potentials.

    Attractive potential:

    The essential requirement in construction of the at-

    tractive potential is that Uatt should be monotonicallyincreasing with the current distance d(q, qgoal) of therobot to the goal, qgoal. Two common Uatt functionsare the ones having conical and/or quadratic forms. In

    the experiments, combinations of the two are used since

    the conical functions suffer from the discontinuity in

    the goal position, that is division-by-zero problem in

    computational sense.

    Uatt(q) = 1

    2d2

    , d d

    goal

    dgoald 12

    (dgoal)2, d > dgoal

    (1)

    where d = d(q, qqoal), is the attraction gain, and dgoal

    is the threshold after which quadratic function changes

    to the conical form.

    The gradient of the function (1) is obtained as;

    Uatt(q) =

    (q qqoal), d(q, qgoal) d

    goal

    dgoal(qqqoal)d(q,qgoal)

    , d(q, qgoal) > dgoal

    (2)

    Repulsive potential:

    The behavior of a proper repulsive potential function

    should look like the behavior of a tightened spring, or

    the magnets getting closer to each other so that obstacle

    avoidance can be satisfied. In this study following

    formula is utilized,

    Urep(q) = 12(

    1D(q)

    1Q

    )2

    , D(q) Q

    0, D(q) > Q

    (3)

    Derivative of the repulsive potential function(3) is the

    repulsive force which is,

    Urep(q) =

    ( 1

    Q 1

    D(q)) 1D2(q)D(q), D(q) Q

    0, D(q) > Q

    (4)

    where Q is the distance threshold for an obstacle tocreate a repulsion effect on the robot, and is therepulsion gain.

    The gain parameters (i.e. and ) and the thresholdparameters(i.e. Q and d) are set empirically.

    The total repulsive potential field can be obtained bysumming up the potentials caused by all of the obsta-

    cles,

    Urep =

    Nk=1

    Urepi(q)

    and the movement is realized by following the negative

    gradient of the sum of attractive/repulsive potentials or

    simply the following vectorial sum;

    U(q) = Uatt(q) Urep(q)

    In this study, the translation velocity assignment is

    simply done by utilizingU(q)

    .

    2) Navigation Potential: Due to the local minima prob-

    lem in the additive attractive/repulsive potential fields, many

    other local-minima free potential field methods are proposed

    such as wave-front planner [5][6]. However these methods

    have discretization problems and thats why they become

    computationally intractable for high dimensional and large

    configuration spaces. To solve the local minima problem,

    a special function to be constructed which has the only

    minimum at the goal position. These functions are called

    navigation functions, formally defined in [7][8].

    A function :Qfree [0, 1] is called a navigationfunction if it

    is smooth (or at least Ck for k 2) has a unique minimum at qgoal in the connected com-

    ponent of the free space that contains qgoal. is uniformly maximal on the boundary of the free space,

    and

    is Morse1

    As in the case of attractive/repulsive potential functions,

    navigation functions are used to move the robot from an

    arbitrary configuration to the goal configuration in the neg-

    ative gradient direction of the potential at that instant. The

    1Detailed discussion can be found in [9].

  • 8/6/2019 A comprehensive study on path planning algorithms in multi-agent robot soccer domain

    3/7

    Fig. 3: A screenshot from the Webots simulator, while robot

    is tested in a three-obstacle between robot and the goal case.

    navigation potential functions can be constructed as follows:

    =(d(q, qgoal))

    2

    ((q) + d(q, qgoal)2

    )

    1

    (5)

    where (q) is a repulsive-like function calculated as

    i(q) = (d(q, qi))2 ri

    2

    for each obstacle having a radius of ri. The critical pointin choosing Bi(q) is that QOi = q | i(q) 0; this meansi(q) is negative inside an obstacle and it is positive outsidein the free space, which requires

    0(q) = (d(q, q0))2 r0

    2

    where q0 is the center and r0 is the radius of the sphere

    world.In this report, it is assumed that the configuration space is

    bounded by a sphere centered at q0 and the other obstaclesare also spherical centered at qi.

    The in the equation (5) is necessary for bounding thenavigation function so that it has 0 at the goal and 1 on theboundary of any obstacle.

    The on the other hand, has an effect of making thenavigation function has the form of a bowl near to the goal.

    Increasing causes the other critical points(local minimumetc.) shift toward the obstacles and resulting in a negligible

    repulsive behavior compared to the overwhelming influence

    of the attractive field. The effect of increasing is shown inthe figure2, for the case of having three obstacle in front of

    the robot and a goal position beyond the obstacles as it is

    illustrated in the figure 3.

    Once a proper value is decided, robots configurationor -in this study- velocity is updated with the negative

    gradient of the navigation potential(equation (6)) function

    similar to the whats been done in the attractive/repulsive

    potential functions.

    3) Modified Additive-Potential Function: To deal with

    local minimum problem in additive functions one idea would

    be applying random forces on the robot once it is detected

    that the robot stops without reaching to the goal position

    (viz. getting stuck at a local minimum). Similar method is

    proposed in [10], called random walk.

    Another solution to the local minima problem would be

    using repulsive forces in a different form. For instance, if

    the robot is imagined as a fluid or gas particle flowing

    towards the goal, robot will be able to pass through obstacles

    standing between the robot and the goal position. Which can

    be realized by applying tangential attractive/repulsive forceswhen the robot is at a certain distance from an obstacle.

    However, this method will not be successful in the case

    of confronting narrow passages, causing collision to the

    obstacles. Another problem this method will cause is the

    oscillatory movements in locally cluttered environments in

    which there might be paths that are longer in the sense of

    euclidean distance but shorter in time since robot can reach

    higher speeds in obstacle-free paths.

    One solution to the oscillatory movement problem would

    be grouping the obstacles together and having virtual obsta-

    cles which may contain narrow passages, and the obstacles

    that are sufficiently close to each other as it is shown in

    figure 4 and 6. This method with the visibility testing is

    proposed in [11], and I have successfully implemented this

    method(given in the algorithm 1), and tested in the simulation

    environment in one of my earlier studies. Although tests are

    done in highly cluttered environments, generated paths were

    close to the optimal paths and no local minima problem is

    observed.

    Algorithm 1: Obstacle Grouping

    while preObstList.size() > 0 doclosestObst getClosestObst()if isVisible(closestObst)=TRUE then

    tempObst closestObstrepeat

    if isLinkable(tempObst,preObstList[i])=TRUE

    then

    linkObsts(tempObst, preObstList[i])

    tempObst tempObstNeighborend if

    until preObstList.size()= 0end if

    virtualObst closestObstgroupObsts(virtualObst)

    postObstList.push back(virtualObst)

    end while

    B. Visibility Graphs

    A visibility graph is a graph consisting of intervisible

    locations, typically in the euclidean plane. Nodes of the graph

    represent a point location/vertex, and edges represent visible

    connections between the vertices. Visibility also refers to the

    condition when each edge stays in the free configuration

    space (viz. no obstacle inter-penetration). In other words,

    visible lines are the line segments that a robot supposed

    to follow to reach its goal position without colliding any

    obstacle on its path.

  • 8/6/2019 A comprehensive study on path planning algorithms in multi-agent robot soccer domain

    4/7

    =

    2dd[((q) + d2)

    2

    )] 1

    (q + d2)1

    1((q) + 2d21d)

    ((q) + d2)2

    (6)

    where d = d(q, qgoal) and (q) =N

    i=0

    i(q)

    Nj=0,j=i i(q)

    . i(q) = 2(q qi) for i > 0, 0(q) = 2(q q0).

    Fig. 2: From left to right and top to bottom, is changed between 1 and 6, and navigation potential function is calculatedfor the sphere-world by sampling the world for the specific configurations(viz. 2D positions) varying in polar coordinates

    r = [0.01, 2.0] and = [0.01, 2] with the discrete sampling steps of 0.01. As it is clearly shown that doesnt effect thenavigation potential considerably after a certain value, which is = 4 in this case.

    Fig. 4: Closest obstacle and its neighbor obstacle are linked

    to each other and nwe virtual obstacle makes obstacle C

    invisible to the robot (adapted from[11])

    Fig. 5: Obstacle 3, 4 and 5 are linked to each other.They

    form a virtual obstacle (adapted from [11])

    The standard visibility graph is defined in a 2-D polygonal

    configuration space where the nodes includes the start andgoal location in addition to the vertices of the configuration

    space obstacles, and the edges that connect two distinct line-

    of-sight nodes, i.e.;

    eij = svi + (1 s)vj cl(Qfree)s [0, 1].

    Fig. 6: The thin solid lines delineate the edges of the visibility

    graph for the these three obstacles (filled polygons). The blue

    line segments represent the shortest path from start to goal

    position.

    General algorithm for a VG can be summarized as follows:

    Expand the obstacles by utilizing Minkowsky Differ-

  • 8/6/2019 A comprehensive study on path planning algorithms in multi-agent robot soccer domain

    5/7

    ence[13] if the robot has a polygonal representation

    (otherwise approximate it)

    Construct edges between each node pairs considering

    the visibility criterion

    Search graph via a shortest-path finding algorithm, e.g.

    A*, Dijkstras etc.

    If the robot is assumed to be a point robot, visibility graph

    construction is nothing but picking a node pair and checkingif the edge between these nodes crosses the obstacles edges.

    Let V = v1, v2,...vn be the set of vertices of the polygonalobstacles in the configuration space as well as the start and

    goal configurations. Therefore, general graph construction

    requires: t / [0, 1] and u / [0, 1] where t and u representsa scalar value, fraction of the line segments between two

    arbitrary vertices. More formally [14]:

    t =vkvi vlvkvjvi vlvk

    (7)

    u =

    vkvi vjvi

    vjvi vlvk (8)vivj , vkvl, vi = vj , vk = vl (9)

    For instance; if vjvi vlvk = 0 then these line segmentsare parallel, and also if vkvi = 0 these lines are collinear.Otherwise t and u are going to be calculated as scalar values.If they are not in the interval of[0, 1], then these lines are notintersecting with each other. Since selecting vivj has O(n2)complexity and there are O(n) intersection tests this VGconstruction method has an overall complexity of O(n3).

    A better approach would be applying the rotation plane

    sweep algorithm which has the complexity of O(n2logn),

    which is shown in the figure 7. Sweep line algorithm also

    Fig. 7: Rotation sweep line algorithm. Adapted from [9].

    discards adding needless edges but only considers supporting

    and seperating lines which reduces the number of edges.

    Once the visibility graph is constructed, an optimal path

    search algorithm such as A* can be utilized to obtain a set

    of edges that are on the shortest path.

    C. Rapidly Growing Random Trees

    An RRT is basically a data structure and algorithm which

    efficiently searches nonconvex high-dimensional spaces. The

    way RRT is constructed can be given as follows:

    Start with the initial state as the root of a trees

    Pick a random state in anywhere or in the direction of

    the target Find the closest node in the current trees

    Extend that node toward the target if possible

    There are many variations of RRTs. In this study, RRT-

    base [15], RRT-connect [16], ERRT [17], and Bidirectional

    Multi-Bridge ERRT[18] is going to be studied.

    To mention them briefly:

    RRT-connect expands two trees towards each other,

    one from the start node, and the other from the goal

    node. They interchange the roles of expanding-towards-

    the-other and expanding-randomly. The algorithm ter-

    minates ones a connection is established between trees.

    ERRT makes use of the idea of way-point caching.Therefore search operation becomes biased towards the

    paths found in the earlier successful executions.

    Multi-Bridge ERRT is similar to the RRT-connect but

    it continues to execution although a connection is estab-

    lished between the trees until a prespecified number of

    connections are established. Then the resultant structure

    is not a tree anymore. To find the shortest path an

    optimal graph search algorithm is used, such as A*.

    III. EXPERIMENTAL SETUP

    Webots[19] or Gazebo simulation environments are goingto be used by heavily utilizing ROS[20] graph concepts in the

    design of the system. If time permits, the winner algorithm

    can be run on the actual system with real robots8 for a

    previously defined test scenario.

    Fig. 8: An actual soccer

    robot, from the team Robo-

    Turk.

    Fig. 9: Simulated robot in

    Webots simulation environ-

    ment.

    IV. EXPERIMENTS

    In this section preliminary results for the APF methods are

    given for three scenarios, one-obstacle direct-free path, three-

    obstacle indirect-free path, two-obstacle direct-free path.

  • 8/6/2019 A comprehensive study on path planning algorithms in multi-agent robot soccer domain

    6/7

    A. Case: One-obstacle direct-free path

    In this experiment, we would like to see if the robot

    can traverse around a single obstacle to reach the goal

    position by following a preferably linear path. Normally,

    since the obtacle is not entirely in the path of the robot, we

    would expect that the robot almost-directly goes to the target

    position. But it is shown that without doing a visibility check

    basic additive potential fields may cause perturbances in thepath or even oscillations depending on how the attraction

    and repulsive gains are set. Navigation functions, on the

    other hand, may give a better path if is properly chosen.Since there is not a theoretical way to select best , selectionprocess may require serious intuition and effort.

    Fig. 10: Left: additive att/rep potential function, right: navi-

    gation potential function.

    B. Case: Three-obstacle indirect-free path

    Fig. 11: Left: additive att/rep potential function, right: navi-gation potential function.

    As it is shown in figure 13, basic att/rep potential function

    method suffers from the local minima problem and robot gets

    stuck at some point. On the other hand, navigation function

    finds a path to the goal, though far from being optimal.

    Figure 12 shows how the path length varies with different values.

    C. Case: Two-obstacle direct-free path

    Although this case is similar to first case, it shows the

    severity of the additive att/rep potential fields which even

    Fig. 12: From top left to the bottom right values are 3,4,5and 7. The time it takes to reach to the goal is t3 =novalue, t4 = 62s, t5 = 53s and t7 = 45s in simulationtime. Thats why is chosen to be 7 in the experiments.Please notice that the viewpoints of these figures are different

    than each other, careful inspection will reveal the fact that

    as values decrease, the length of the path increases sincethe shape of the bowl=like potential function becomes more

    spreaded-out.

    TABLE I: Overall results

    Additive Navigation

    Experiment time(sec.) path(m) time(sec.) path(m)

    Case 1 2.5 1.25 2.5 1.26Case 2 45.52 1.97Case 3 1.5 1.09

    may not result a complete solution, although the only thing

    that the robot should do is going just forward.

    Navigation function, on the other hand, could find a path

    between the obstacles, though the movement was a little

    oscillatory. One reason of the oscillation is the delay between

    the communication nodes(=processes) since the PC that Ive

    used for the experiments was a standard laptop.

    The overall results for the three experiment cases are given

    in the table I. Although additive potential functions are lack

    of completeness, in most of the cases, they provide shorter

    paths than the paths navigation functions return.

    V. CONCLUSIONS AND FUTURE WOR K

    In this report, several path planning algorithms are in-

    vestigated and preliminary test results are given for various

    APF methods. It can be deduced from the test results

    that the APF with navigation function is not suitable for

    robot soccer domain since it may require a great deal of

    time to speed the robot up until finally robot is started to

    being gravitated towards the goal position. However, additive

    attractive/repulsive potential function based APF with the

    obstacle grouping extension gives promising results.

    In this study, Im at the stage of implementing VG

    and various RRT algorithms. Once the implementations are

    finished, APF w/ obstacle grouping, VG, and RRT-based

  • 8/6/2019 A comprehensive study on path planning algorithms in multi-agent robot soccer domain

    7/7

    Fig. 13: Top: additive att/rep potential function, bottom:

    navigation potential function.

    algorithms are going to be tested for the scenarios pretty

    much the same with the ones used to test APF methods as

    it is given in this report.

    During the tests, there will be several comparison metrics,

    such as:

    tplan: The time it takes for the algorithm to generatesound and preferably-optimal path.

    texec: The overall and individual times it takes foreach robot to follow the path being generated, or to

    reach a particular goal configuration from a given initial

    configuration.

    safety: How safe the robots are while traversingthrough this path. This can be calculated by summing up

    the distances between the robots while they are getting

    closer to each other during their journey. Summation

    procedure can be done if the robots are close to each

    less than a predefined safety region threshold.

    As a feature work, dynamics of the robot and the ball-if

    it is being dribbled- can be taken into account to compare

    these algorithms again by using the similar metrics as theyare given above. This kind of a planning approach is applied

    to the RRT based planner, called behavioral kinodynamic

    RRT[21]. Therefore, test scenarios can be enriched by adding

    controllable and uncontrollable dynamic robots to the en-

    vironment, and a ball dribbling scenario where the ball

    possession can also be considered as yet-another comparison

    metric.

    V I. ACKNOWLEDGEMENTS

    Some part of this study, particularly APF case-studies are

    done for the homework fulfillment of CS548 Robot Motion

    Control and Planning course offered by Dr. Uluc Saranli.

    REFERENCES

    [1] V. J. Lumelsky and A. A. Stepanov. Path-planning strategies for apoint mobile automaton moving amidst obstacles of arbitrary shape.Algoritmica, 2:403-430, 1987

    [2] H. Choset and J. W. Burdick. Sensor based planning, part ii: Incremen-tal construction of the generalized voronoi graph. In IEEE InternationalConference on Robotics and Automation, Nagoya, Japan, May 1995.

    [3] I. Kamon, E. Rivlin, E.Rimon. A new range-sensor based globallyconvergent navigation algorithm for mobile robots. Robotics and

    Automation, 1996. Proceedings., 1996 IEEE International Conferenceon In Robotics and Automation, 1996. Proceedings., 1996 IEEEInternational Conference on, Vol. 1 (1996), pp. 429-435 vol.1.

    [4] Khatib, O. 1986. Real-time obstacle avoidance for manipulators andmobile robots. Int. J. Rob. Res. 5(1):9098.

    [5] R. Jarvis. Coliision free trajectory planning using distance trans-forms.Mech. Eng. Trans. of the IE Aus, 1985.

    [6] J. Barraquand, B. Langlois, and J.C.Latombe. Numerical potentialfield techniques for robot planning. IEEE Transactions on Man andCybernetics, 22(2):224-241, Mar/Apr 1992.

    [7] Koditschek, Daniel E., and Rimon, Elon: Robot navigation functionson manifolds with boundary, Advances in Applied Mathematics 11(4),volume 11, 412442, 1990.

    [8] Rimon, Elon and Koditschek, Daniele; Exact robot navigation usingartificial potential functions IEEE Transactions on Robotics and Au-tomation. Vol. 8, no. 5, pp. 501-518. Oct. 1992

    [9] Principles of Robot Motion by Howie Choset etal., MIT Press, 2005,ISBN: 0-262-03327-5[10] J. Barraquand and J.-C. Latombe. Robot motion planning: A

    distributed representation approach. Internat. J. Robot. Res.,10(6):628649, 1991

    [11] B. Zhang,W.Chen, M. Fei, An optimized method for path planningbased on artificial potential field, Sixth International Conference onIntelligent Systems Design and Applications (ISDA06) Volume 3(2006)

    [12] Lozano-Perez T. and Michael A. Wesley. 1979. An algorithm forplanning collision-free paths among polyhedral obstacles. Commun.ACM 22, 10 (October 1979), 560-570

    [13] M. de Berg, M. van Kreveld, and M. Overmars. ComputationalGeometry: Algorithms and Applications. Springer, Berlin, 1997.

    [14] Goldman R., Intersection of Two Lines in Three-Space, in Andrew S.Glassner, ed., Graphics Gems, Academic Press, p. 304, 1990.

    [15] S. M. LaValle. Rapidly-exploring random trees: A new tool for path

    planning. TR 98-11, Computer Science Dept., Iowa State Univ., Oct.1998

    [16] Kuffner, J.J., Jr.; LaValle, S.M.; , RRT-connect: An efficient approachto single-query path planning , Robotics and Automation, 2000.Proceedings. ICRA 00. IEEE International Conference on , vol.2,no., pp.995-1001 vol.2, 2000

    [17] Bruce, J.; Veloso, M.; , Real-time randomized path planning forrobot navigation, Intelligent Robots and Systems, 2002. IEEE/RSJInternational Conference on , vol.3, no., pp. 2383- 2388 vol.3, 2002

    [18] Based on: Bruce J. R., Real-Time Motion Planning and Safe Naviga-tion in Dynamic Multi-Robot Environments, PhD. Thesis, 2006

    [19] Michel, O. Webots: Professional Mobile Robot Simulation, Interna-tional Journal of Advanced Robotic Systems, Vol. 1, Num. 1, pages39-42, 2004

    [20] Quigley M., Conley K., Gerkey B., Faust J., Foote T. B., Leibs J.,Wheeler R., and Ng A. Y. (2009). Ros: an open-source robot operatingsystem. n International Conference on Robotics and Automation, ser.Open-Source Software workshop.

    [21] Zickler S., Physics-Based Robot Motion Planning in Dynamic Multi-Body Environments PhD Thesis, 2010, Computer Science Department,Carnegie Mellon University Thesis Number: CMU-CS-10-115