A SMOOTHING STRATEGY FOR PRM PATHS
Application to 6-axes MOTOMAN manipulator
Reda Guernane, Mahmoud Belhocine
Divison Robotique et Productique , Centre de Développement des Technologies Avancées,CDTA, Cité 20 août 1956,
B
P 1
7,
Haouch Oukil, Baba Hassen,Alger, Algeria
Keywords: Probabilistic Roadmap, A*, smoothing, motion planning, 6-axis manipulator, collision checks.
Abstract: This paper describes the use of the probabilistic motion planning technique SBL “Single-Query
Bidirectional Probabilistic Algorithm with Lazy Collision Checking” or in motion planning for robot
manipulators. We present a novel strategy to remedy the PRM “Probabilistic Roadmap” paths which are
both excessively long and velocity discontinuous. The optimization of the path will be done first through
Coarse optimal lazy A* optimization and then through a Fine cutting-triangles-edge one, the edges
discontinuities are smoothed with cubic polynomials taking the robot’s specific Dynamic and Cinematic
constraints. The whole strategy is applied to the 6 axes robot Manipulator MOTOMAN SV3X.
1 INTRODUCTION
The motion planning problem has been in a great
difficulty solving path planning for real industrial
robot manipulator which are usually 6 or above
degrees of freedoms (dofs). The traditional
techniques (Latombe, 1991) can hardly solve
problems until 4 or 5 dofs, while its known to be
definitely impossible for 6 dofs in 3D space.
The introduction of random techniques in
roadmap generation (Kavraki, 1996) has greatly
simplified the planning problem, theirs greatest
advantages being, easiness of understanding,
implementing, they can deals with complicated
scene and can solve problem with high number of
dofs.
Their idea consists of randomly sampling the
configuration space (Lozano-Péréz, 1979) of the
robot in order to capture the connectivity of free
space, static configurations are tested using fast
hierarchical collision checking algorithms (Larsen,
1998), the configurations are then connected with a
simple but very fast local planner to obtain the so
called Roadmap. Roadmap techniques are generally
classified in two branches, the Multiple Query and
the Single Query, for the first one a roadmap is pre-
calculated and used later for multiple queries, the
second one does not precompute such roadmap but it
explores the free space starting from given initial
configuration in search for a final one, the
constructed graph is valid only for one query. but
PRM generated paths are know to be discontinuous
and far from optimal.
Among all PRM variants, we have chosen the
SBL (Sanchez-Ante, 2001) because it is the most
successful one due to its speed and behaviour even
in cluttered environment. Still, the path generated is
far from optimal due to the fact that the algorithm
generates nodes randomly and diffuses them
homogeneously in the free space, which is not
necessarily the shortest path. The SBL is called:
-Single query: the network is recalculated for
each start/goal pair.
-Bidirectional: because the network construction
is started simultaneously from the start and goal
configuration.
-Lazy collision: because the collision checks are
delayed until they are extremely needed (Bohlin,
2000).
Our work consists at optimizing the Raw PRM
path in some sense by modifying the PRM path; this
path is the optimal among those using only the nodes
on the raw path and connected with straight line in
C-space. Then using a fine optimization scheme we
optimize further the path from the previous step,
finally we smooth the sharp corners with cubic
polynomial taking the robot specific dynamic and
kinematic constraints. The result is an optimized
smooth trajectory ready for execution.
205
Guernane R. and Belhocine M. (2005).
A SMOOTHING STRATEGY FOR PRM PATHS - Application to 6-axes MOTOMAN manipulator.
In Proceedings of the Second International Conference on Informatics in Control, Automation and Robotics - Robotics and Automation, pages 205-210
DOI: 10.5220/0001167202050210
Copyright
c
SciTePress
2 REALTED WORKS
The use of smoothing on paths was already
suggested in 2D workspaces but less in 3D
workspaces. In (Quinlan, 1993) the authors represent
the path as an elastic band under tension forces to
pull the path tight. Repulsion forces from the
obstacles are added to keep the path from “hugging”
the obstacles. B-splines are used in (Foley, 1990)
(Kant, 1987) to construct smooth paths from a cell
decomposition of the free space. Cubic splines are
also used in (Tondu, 1999). The use of smoothing
techniques on PRM paths has been already
proposed, the authors often use shortcutting segment
or parts of segment methods already used in
(Laumond, 1990) (Berchtold, 1994). In most of the
cases after such smoothing, paths are shorter but still
not optimal in any sense and discontinuous in
velocity.
3 COARSE OPTIMIZATION
Given a graph of nodes relating the initial and final
nodes, many search technique are available to obtain
the path composed of a sequence of nodes relating
the start and goal nodes.
The A* algorithm obtains the optimal path out of
the graph of nodes without the need to explore the
whole graph, this is done is by guiding the search
with a cost function describing heuristic rules.
The evaluation function
f
ˆ
is defined such that
its value
()
nf
ˆ
at any node n is an estimate of the
minimum cost path constrained to go through n. This
is calculated using an estimate of the cost of the
minimal path from the start node to node n plus an
estimate of the cost of the minimal path from node n
to the goal node.
()
nf
ˆ
=
g
ˆ
(n) +
h
ˆ
(n)
It is straightforward to calculate a value for
g
ˆ
by summing the arc costs of the path already found
from the start node to node n. Finding a value for
h
ˆ
is not so simple and heuristic information obtained
from the graph has to be relied upon. For example,
the straight line distance from node n to ng can be
used as the value for
h
ˆ
. If
h
ˆ
is an underestimate of
h then A* is guaranteed to find the minimum cost
path and the algorithm is said to be admissible. A
proof is given in (Doyle, 1995).
In the usual A* and graph searching algorithms
require a graph containing all admissible edges or
segment between nodes, whereas we have only
edges between consecutive nodes of the PRM path
so we will need to construct a graph out of the path
nodes by testing the straight line segments between
each pair, this may be costly especially in
complicated scene where the number of triangles is
extremely high. In order to avoid collision testing all
edges, we propose to “lazifythe A* algorithm.
3.1 Postponing Collision Checks
The idea is delay segment collision testing until it is
“necessary”, the necessity in our case is when a node
is sorted to be placed in the optimal path.
In the beginning all pair of nodes are assumed to
have and admissible edge joining them except for
the (n
s
,n
g
) as we know it is not admissible (this
trivial solution should have seen tested before the
launching the planner)
Initially a node can be expanded to all other
nodes in the graph, except for the initial node that
cannot be expanded to the goal node.
In traditional A* the use pointers to specify
relation between nodes resulting from a certain node
expansion, here we use a parent-child notion, each
node expand as a father of the resulting child node.
Also, each of the raw PRM path nodes can be
expanded to all other nodes with two exceptions:
- The starting node does not expand to the goal
one.
- The goal node does not expand to any node.
Lazy A* algorithm
1. insert start node n
s
in a list called OPEN
2. While
3. n SORT
4. if TEST(n) is true then
4.1. if n is the goal node then terminate the
algorithm & use pointers to extract optimal
path else EXPAND(n).
else REALOCATE(n)
5. end while loop
The OPEN that will hold all nodes to be
expanded; nodes are added and removed in each
iteration. The While loop is an indefinite loop,
whereas standard A* the condition is the OPEN list
not empty, this was so because we are sure that the
algorithm will find a solution before OPEN is
empty, the loop is terminated once the solution is
found
3.2 List Sorting
The SORT procedure will return the node with
minimum cost path constrained to go through this
later in the OPEN list, this also means that we do not
ICINCO 2005 - ROBOTICS AND AUTOMATION
206
sort all the OPEN list in any given order., the
minimum cost node n is also removed from OPEN.
3.3 Testing segments
Algorithm for TEST
1. let n
p
the parent of node n
2. if edge E(n
p
, n) belong to PRM path return
true
3. if CLEAR(E(n,n
p
)) return true
4. return false
The TEST(n) is an algorithm that will test if the
segment relating the current node n to its father node
(the one which has
ENGENDERED n in OPEN) is clear
or notIf the segment joining node n and its parent
node belongs to the raw path generated by RPM
planner then the segment is declared safe (there is no
need to test the segment since it is have been tested
during PRM planning,), otherwise the segment is
tested for collision.
3.4 Reallocating a node
If the segment relating node n to its parent node
happens to be colliding, then reallocated will try to
add n as a child to another node already in CLOSED
list. Among all nodes in CLOSED that have not
already been tested with n, n will be added to the
one with minimum cost path constrained to go n.
If there are no such node in CLOSED then n will
remain "orphan" and out of the OPEN list until it is
inserted back by some node.
Algorithm for REALLOCATE
1. for all nodes in CLOSED that have not been
already tested with n
1.1. choose node n
p
with minimum cost path
constrained to go through n
1.2. set n
p
as the father of node n
2. if a node n
p
was found then insert node n in
OPEN
3.5 Node Expansion
The EXPAND procedure is responsible for inserting
a node’s children to OPEN taking care the following
conditions:
- If a child is already in CLOSED or in OPEN
it will not be added to neither of the lists.
- If a child node is already in OPEN and its
current cost path is higher than the cost of
going through the current parent node n, this
later is set as its new parent with the cost
updated to the new one.
The cost function is usually the distance from
initial and final configurations criterion, the cost of
the path through a stain number of nodes is the sum
of the costs of individual segments or edges costs.
We could choose the Euclidian norm of the edge, or
more generally a weighted Euclidian norm
4 FINE OPTIMIZATION
Here we use a simple cut-triangle-edge scheme,
many variant are found in (Berchtold, 1994); for
each two consecutive segments E(n
1
,n
2
) , E(n
2
,n
3
) ,
we try to cut the triangle edge represented by n
1
n
2
n
3
(figure 1 ) with a segment E(n’,n”) where n’, n” are
at the middle of segment E(n
1
,n
2
) , E(n
2
,n
3
)
respectively .This techniques will have two
advantage:
1- Smooth the path by replacing the sharp
angles with wider ones.
2- Optimize the path in any norm (triangle’s
inequality
Cutting-tiangle-edge Algorithm
1. Input path T
2. For each segment E(n
i
, n
i+1
) of path T ,i=1, m-1
2.1. Calculate node n
i
' at the middle of segment
E(n
i
, n
i+1
)
3. For each segment E(n
i
',n'
i+1
) , i=1, m-2
3.1. If segment E(n
i
',n'
i+1
) is Clear
3.1.1. replace segments E(n'
i
, n
i+1
) and
E(n
i+1
, n'
i+1
) in T with E(n
i
',n'
i+1
)
4. Return T
5 CUBIC SMOOTHING
Since the PRM path are inherently peace-wise
curves. The transition from one line segment to the
next induces an abrupt change in direction. The
robot cannot execute the corresponding trajectory
without coming at rest at each of these points. In
Figure 1: cutting-triangle-edge technique
A SMOOTHING STRATEGY FOR PRM PATHS: Application to 6-axes MOTOMAN manipulator
207
order to avoid this, we should have a continuous
joint velocity. So we have to smooth path , we will
accomplish this taking care to modify the least
possible the original one, to achieve this , we smooth
the corners using a polynomial with a given degree
and parameters.
First and second order polynomial are easy to
calculate but they fit poorly, fourth order and higher
polynomials provides seamless fit but they are very
difficult if not impossible to calculate, that is why
we believe the compromise would be to choose the
cubic polynomial (Brock, 1999). The parameters are
not complicated to calculate, the curve has C
2
continuity and it enables tighter approximation to the
turn compared to quadratic polynomial. We will
here explain the procedure for a single joint; the
same applies to all remaining joints. The joint
position turn is governed by the following cubic
polynomial:
3
3
2
210
)( tatataatq +++=
(1)
The duration d of the cubic turn (Figure 2) is thus :
max
2
q
q
d
=
(2)
Figure 2: cubic smoothing.
q
is the change in velocity of the two
consecutive segments. The detailed description of
the calculation of the start and the end
configurations of the cubic turn and the cubic
parameters are found in (Brock, 1999). The Cubic
turns are tested for collision by sampling the
polynomial to a number of configuration m linearly
separated by a distance ε sufficiently small, if all m
configurations are collision free than the cubic turn
is collision free.
6 SIMULATION RESULTS
SBL planner, smoothing techniques are written in
C++, the animation and visualization API was also
implemented in C++ using COIN visualization
library and its binding SoQt.
The tests were run on a 1.7GHZ Pentium 4 PC
with 128 Mbytes of main memory running Linux
OS. We have constructed a 3D CAD model for the 6
axes MOTMAN SV3X manipulator.For the PRM
planner, the maximum number of milestones
allowed to be generated is 10000 and the distance
threshold ρ for the segment discretization was set to
0.015. We have simulated a robot Gross movement
from initial configuration to a final configuration in
the scene shown in figure 3a, 3b respectively.
Running the SBL planner for the given query gives
the results shown in table 1.
Table 1: result of SBL planner query for the given
example.
Here the generated raw path is a 7 node path,
figure 4a shows path traced by a point on the end
effector along the SBL path. It is apparent that the
path is lengthy and requires optimization.
6.1 Lazy A* application
Using a simple Euclidian path cost, the path is
shown on figure 4b with a cost of 6.66959.
If we place a weight of 10 on the shoulder axis
weighted Euclidian norm, while we put a weight on
only one, this lead to more Minimization of
Euclidian distance along that axis,. The path is
shown in figure 5a and its cost being 9.58155.
Total
-time
(s)
#nods
In trees
#nodes
In path
#total
CC
#CC
in path
#
sampled
nodes
total C
C
time(s)
0.39
55 9 448 123 136 0.38
d
i
q
starting
q
e
ndi
ng
t
(s)
q
(a) (b)
Figure 4: (a) raw trajectory, (b) Euclidian norm A* path.
(a) (b)
Figure 3: configurations, (a) initial, (b) final .
ICINCO 2005 - ROBOTICS AND AUTOMATION
208
L
norm minimization: In this example we
penalize the maximum joint movement of the edge
between two nodes; the generated path is shown in
figure 5b with a cost of 5.7734.
a) b)
Figure 5: a) lazy A* with shoulder axis penalty path;
b) L
minimization lazy A* path.
6.2 Lazy A* versus A*
In order to evaluate the efficiency of the lazy A*
with the standard A* we have run the SBL planner
for 10 times for the same query, hence 10 different
path have been generated. We have calculated the
number of collision checks required for each
technique in order to find the optimized path in some
sense. The results are:
- average Collision checks for Lazy A*: 107.7
- average Collision checks for A*: 823.4
The ratio of the two averages is 1/8
- Lazy A* time is = 0.25 s
- A* time is = 0.95
Using scenes that are extremely complicated will
favour more and more the use of the lazy A*
algorithm.
6.3 Lazy A* versus random
shortcutting
Random shortcutting (Laumond, 1990) segments
techniques are frequently used to reduce the number
of segments on the path, but the resulting path is not
necessarily optimal in any sense.
Figures 5a and 5b show the result of the
application of the Lazy A* and the Shortcutting
method respectively, in the chosen Euclidian norm,
only the A* managed to find the Optimal path, the
cost function being 6.3212, the cost for the
Shortcutting method is 7.7305.
a) b)
Figure 6: a) shortcutting path. b) Lazy A* path.
6.4 Cutting-triangle-edge
application
We apply this technique on the optimal A* path
(figure 4b), it is clear that the application of this
technique will not dwarf any optimization gained
from the A* because it only shortcut parts of
segments which is more optimized in any norm used
(this is the triangle’ inequality which is a condition
of normality).
The results are:
- the algorithm managed to cut all segment
- the cost of path generated is : 5.77343
- the time taken is : 0.05 seconds
Figure 7a shows the generated path.
a) b)
Figure 7: a) cutting-triangle-edge path: b) cubic smoothing
path.
6.5 Cubic smoothing and trajectory
generation
Up to now, we where dealing with C-space spatial
paths, in order to execute the path parameterized
with time or simply the trajectory, we need to
associate joint velocities with each segment of the
path. It is clear that if we require the robot to follow
a C-space straight line segment of the path, then we
should synchronize all joints with constant velocities
so that the joint movement is linear.
What we have done is chose a velocity v that is
smaller or equal than any of the physical maximum
joint velocities. v is fixed for all segments making
C
1
C
2
C
2
A SMOOTHING STRATEGY FOR PRM PATHS: Application to 6-axes MOTOMAN manipulator
209
the path. Using v and the maximum joint
displacement in the given segment, we calculate the
segment duration d
i
, d
i
is used to calculate the joint
velocities for the remaining 5 joints. In this way, we
guarantee our piece-wise path following and prevent
assigning later joint velocities that exceed actual
ones.
Choosing v to be 0.10s
-1
, we calculated the 6
joints velocities and durations for all 4 segments
making the path issued from the fine optimization
step (figure 7a).
The total duration of the trajectory is 9.6246
seconds. Using this trajectory along with typical
maximum normalized acceleration of 0.20s
-2
we
calculated the 3 cubic durations and polynomial’s
parameters. Table 2 shows the calculated cubic
durations for the three corners smoothed.
Figure 7b shows the path with smoothed corners.
Table 2: cubic smoothing durations
q
1
q
2
q
3
q
4
q
5
q
6
c
1
d(s)
0.1851
0.3350
0.1122
0.0125
0.1466
0
c
2
d(s)
0.2867
1.3977
0.1125
0.0462
0.1749
1.0765
c
3
d(s)
0.4878
0.1580
0.4982
0.1064
0.5288
0.9235
The cubic duration that is null means no cubic
turn is needed due to the velocities of the two
consecutive segments being equal. It is clear that the
total trajectory duration can be reduced by using
higher joint velocities, but the cubic deviation will
be consequently higher.
7 CONCLUSION AND FUTURE
WORKS
The results show that the PRM paths can be
optimized through any criterion thought the Lazy A*
algorithm instead of blind shortcutting techniques,
the proposed lazy A* calculate the optimal path with
minimum collision checks compared to standard A*,
the remaining edges are smoothed thought cubic
polynomial resulting in minimum deviation from
original path, the final trajectory is an optimized
smooth trajectory ready for execution.
We are implementing the approach on the
physical MOTOMAN SV3X 6-axes manipulator,
and also working on a scheme to optimize
furthermore the PRM path by using an enhanced A*
algorithm along with other techniques.
REFERENCES
Latombe J-C., 1991. Robot Motion Planning, Kluwer
Academic Publishers.
Kavraki, E., Svestka, P., Latombe, J-C. and Overmars,
M.H, 1996. Probabilistic Roadmap for path planning in
high-dimensional configuration spaces, IEEE Trans,
Robot & Autom, 12(4) 556-580.
Lozano-Péerez, T. and Wesley, M.A, 1979. An Algorithm
for Planning Collision Free Paths among Polyhedral
Obstacles, Communications of the ACM, vol. 22 ,no.
10, pp. 560-570.
Larsen, E., Gottschalk, S., Lin, M-C., Manocha, D., 1998.
Fast Proximity Queries with Swept Sphere Volume»,
Technical report TR99-018, Department of Computer
Science, University of N. Carolina, Chapel Hill.
Sanchez-Ante, G. and Latombe, J-C., 2001. A single-
query bi-directional probabilistic roadmap planner with
lazy collision checking, In Proc, 10th Int. Symp. Of
Robotics Research, ISRR’2001, Lorne, Victoria,
Australia.
Bohlin, R. and Kavraki, L., 2000. Path Planning Using
Lazy PRM. In Proceedings of the IEEE International
Conference on Robotics and Automation, pp. 521–528,
IEEE Press, San Fransisco, CA.
Quinlan, S. and Khatib, O., 1993. Elastic Bands:
Connecting Path Planning and Control,’’ Proceedings
of the International Conference on Robotics and
Automation, Atlanta, GA, pp. 802-807.
Foley, J., van Dam, A., Feiner, S. and Hughes,. J. 1990
Computer Graphics: Principles and Practices, 2nd ed.
Addison-Wesley.
Kant, K. and Zucker. S-W. 1987. Planning smooth
collision-free trajectories: path, velocity, and splines in
free-space,” The International Journal of Robotics
Research, 2(3), pp.117–126.
Tondu, B. and Bazaz, S.A. 1999. The Three-Cubic
Method: An Optimal Online Robot Joint Trajectory
Generator under Velocity, Acceleration, and
Wandering Constraints,The International Journal of
Robotics Research, vol.18, n°9 pp.893–901.
Laumond, J-P. Taix, M. and Jacobs, P. 1990. A motion
planner for car-like robots based on a global/local
approach," Proc. IEEE Internat. Workshop Intell.
Robot Syst. 765-773.
Berchtold, S. and Glavina, B., 1994. A scalable optimizer
for automatically generated manipulator motions, Proc.
IEEE/RSJ/GI Int. Conf. Intelligent Robots and
Systems, 1796-1802, München, Germany.
Doyle, A-B., 1995. Algorithms and Computational
Techniques for Robot Path Planning”, Phd thesis.
Brock, O., 1999. Generating robot motion; the integration
of planning and execution, PhD thesis, Stanford
University.
ICINCO 2005 - ROBOTICS AND AUTOMATION
210