A comprehensive study on path planning algorithms in multi-agent robot soccer domain
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