Title: PRM Methods for Closed Kinematic Chains
1PRM Methods for Closed Kinematic Chains
2Outline
- What are closed kinematic chains?
- Why are they more difficult than open kinematic
chains? - What methods have been developed to deal with
these difficulties? - How good are these methods?
3Closed Chains
- In class, we discussed open kinematic chains with
one end completely free to move around and used
Denavit-Hartenberg parameters to represent them - Closed chains form a closed loop, from the base
to the tool to the base - Can be thought of as two or more open/serial
chains that are linked at two points
4Examples
- Stewart platform, closed molecular chains,
reconfigurable robots, two arms grasping the same
object
5Difficulties for normal PRM
- Probabilistic Roadmap methods have been effective
in solving high-dimensional problems, including
open kinematic chains - In closed chains, each serial arm is constrained
by its connection to the other(s). - This makes things hard, even for PRM
6Random Samples and Closure
- Let Ccons be the set of all configurations in C
that satisfy the constraints of a closed chain
system - Let Csat Ccons n Cfree
- Since Csat is generally of lower dimension than
C, the probability that a randomly chosen point
lies in Csat is zero. - Blindly generating the nodes of the PRM will
therefore result in very poor results.
7(No Transcript)
8A little more background
- Forward Kinematics As seen in class, this
problem solves for the location of the end
effector from the known joint angles - Inverse Kinematics Solves the inverse problem
Knowing the location of the end effector, solve
for all possible sets of angles yielding that
location (sometimes multiple solutions, more
difficult).
9Dealing with limitations of basic PRM
- More promising methods for motion planning of
closed chain systems have been found - Most are based on splitting the closed loop into
an active and passive part - The active part is solved using usual PRM
methods, the passive part joint angles are found
using inverse kinematics - This maintains loop closure
10(No Transcript)
11Papers
- LaValle, Yakey, Kavraki (1999,2001)
- Works but very slow performance
- Han and Amato (2000)
- Better performance
- Cortes, Simeon, Laumond (2002)
- Best performance
12LaValle, Yakey, Kavraki
- Uses the standard method of generating roadmap
- Randomly samples c-space
- Attempts to connect nodes with local planner
- Admits most points are not in Csat so uses
steepest descent type of method to move samples
into Csat
13(No Transcript)
14LaValle, Yakey, Kavraki
- Worked but resulting performance not so great
- Initial results took hours to compute
- Some improvements in 2001 paper but still takes
15 to 30 minutes for 9 and 11 link examples.
15Han Amato Paper
- Basic principles
- Break chain into active and passive parts, using
PRM (OBPRM) to solve active and inverse
kinematics to maintain closure - Use two-stage approach
- 1st, generate kinematics-valid configurations
- 2nd, fill the space with copies of these
configurations and remove parts that intersect
obstacles
16Han Amato Two-stage process
- Kinematic Roadmap
- Ignore environment, fix a single rigid link, use
PRM to generate random configurations - Stage two
- Place copies of Kinematic Roadmap in environment
by random configs of fixed link - Remove parts that intersect obstacles
- Use local path planners to connect the roadmaps
17(No Transcript)
18Algorithm
- Kinematic Roadmap Construction
- 1. Node Generation
- (find self-collision-free closure configurations)
- 2. Connection
- (connect nodes and save paths with edges)
- (repeat as desired)
- Prototype Kinematics-Based PRM
- I. Populate Environment with Kinematic Roadmap
- generate random base configurations and retain
collision-free parts of kinematic roadmap in
roadmap - II. Additional Connection of Roadmap Nodes
- connect roadmap nodes with the same closure
structure using rigid body planners
19Node Generation for Kinematic Roadmap
- 1. Randomly generate Ta
- 2. Use forward kinematics for active chains to
- compute end-frame configurations at the break
point of each closed chain - 3. Use inverse kinematics for passive chains to
compute - joint variables Tp to achieve the end-frame
- configurations computed in Step 2.
- 4. If a solution is found in Step 3 (closure
exists) - 5. If closure configuration T (Ta Tp )
- is self-collision free
- 6. Retain as a kinematic roadmap node
20Node Connection for Kinematic Roadmap
- 1. For any two nearby' closure configurations Ti
and Tj - 2. Use (simple) local planner to find path from
Tia to - Tja Ta(t) t from 0 1, where Ta(0) Tia ,
a(1) Tja - 3. For each intermediate point on the path Ta(t)
- 4. If inverse kinematics determines that no Tp(t)
exists to satisfy the closure constraints - 5. return no-edge
- 6. Choose the closure configuration T(t) so that
is continuous from previous step - 7. If T(t) involves self-collision, then return
no-edge - 8. endfor
- 9. save the edge (and with it, the path T(t) t
from 0 1) - 10. return edge-exist
21Populating Environment with copies
- 1. Choose random vertex T from the kinematic
roadmap - 2. Generate random base configuration gwb
- 3. If the configuration (gwb, T) is
collision-free - 4. Retain (gwb, T) as a roadmap vertex
- 5. For each neighbor of T, say T, in the
kinematic map - 6. If (gwb, T) is collision-free
- 7. Retain (gwb, T) as a roadmap vertex
- 8. Retrieve the path T(t) connecting T and T
from the kinematic map - 9. If (gwb, T(t)) is collision-free for all
intermediate closure configurations along the
path - 10. Add an edge between (gwb, T) and (gwb, T)
- (repeat as desired)
22Connecting Nodes of Same Closure Type
- 1. For each closure configuration T in kinematic
roadmap - 2. Collect all roadmap nodes with this closure
configuration in a set - 3. Use rigid body PRM connection methods to
connect configurations in the set - 4. Add the edges generated in Step 3 to the
roadmap - 5. endfor
23Some advantages of 2-phase algorithm
- Generates achievable configurations for closed
chain systems with reasonable speed - Reusing the kinematic roadmaps greatly reduces
collision checks since self-collisions are
checked once per reused kinematic configuration
24Results
25Results
26Comments
- Using kinematics to guide PRM certainly has made
an improvement - Overall, works decently well but seems to have
trouble with larger numbers of links - Authors plan to continue working on optimizing
for higher number of links
27Cortés, Siméon, Laumond
- Another similar method
- Builds on Han Amato method
- Identifies major drawback of method and tries to
solve it - Random Loop Generator Algorithm
28Problems with 2-stage method
- Choice of where to break loop into active and
passive parts is important - A configuration is valid only when the end-frame
of the active-chain is in the workspace of the
passive chain - The probability of a valid configuration
therefore depends on the intersection of active
workspace and passive workspace - This probability can be judged by the size of the
volume of the intersection of these spaces
29Problems with 2-stage method
- A closed-form inverse kinematics solution is
required for an efficient roadmap method - Therefore the passive chain must be short
- With long active chains and short passive chains,
the volume of intersection (and mentioned
probability) will be small
30Rand Loop Generator Algorithm
- Rather than simply randomly choosing a set of
angles within each joint limit, choose angles one
at a time and change the interval at each step - Change in a way to guide resulting tool
configuration toward a conservative approximation
of the space reachable by the passive chain - Shorter passive chains with efficient inverse
solutions are OK
31Random Loop Generator
- Similar to collision detection methods, uses
spherical shapes to represent reachable
workspaces and determine intersections
32RLG Algorithm
33- RESULTS
- With passive reachable space as a sphere,
generate 1000 active configurations for which the
tool is inside the sphere - N-Number of sampled configs
- T-computation time in seconds
34Random Loop Generator
- This approach was implemented into the generic
motion planning software Move3D - Used Visibility-PRM for an even more efficient
implementation of the method - Two examples
- Pipe held by a car-like robot and by a mobile
articulated arm, with obstacles in the room (12
joint closed loop) - Two holonomic mobile manipulators carrying a
plate object (18 dofs) with obstacles
35(No Transcript)
36Results
- Pipe problem Only solved by car moving through
wider passage while other robot passes through
smaller. Took 5 seconds to solve on Sun Blade
100. - Plate problem solved in 25 seconds what took 10
minutes by the standard random sampling
37Comments
- RLG shows good performance
- RLG not greatly affected by increased complexity,
thus its comparative performance is even great
for tough problems - Used in A Manipulation Planner for Pick and Place
Operations under Continuous Grasps and Placements
by same authors for solving pick and place
manipulation type problems.
38Comments
- Also used in developing an extremely general
approach to solving parallel mechanisms in
Probabilistic Motion Planning for Parallel
Mechanisms by same authors - Examples
- Stewart Platform, ring around snake-obstacle
Graph computed in 60 s. Plans on this graph in
hundredths of a second - 4 Stewart Platform Puzzle Piece Problem 15
seconds
39(No Transcript)
40(No Transcript)
41References
- A Probabilistic Roadmap Approach for Systems with
Closed Kinematic Chains by Steven M. LaValle,
Jeffrey Yakey, and Lydia Kavraki, IEEE
International Conference on Robotics and
Automation, 1999. - A Kinematics-Based Probabilistic Roadmap Method
for Closed Chain Systems, Li Han and Nancy M.
Amato, Proceedings of the Workshop on Algorithmic
Foundations of Robotics (WAFR'00), March 2000 - A random loop generator for planning the motions
of closed kinematic chains using PRM
methodsCortes, J. Simeon, T. Laumond,
J.P.Robotics and Automation, 2002. Proceedings.
ICRA '02. IEEE International Conference onVolume
2, 11-15 May 2002 Page(s)2141 - 2146 vol.2 - Probabilistic motion planning for parallel
mechanismsCortes, J. Simeon, T.Robotics and
Automation, 2003. Proceedings. ICRA '03. IEEE
International Conference onVolume 3, 14-19
Sept. 2003 Page(s)4354 - 4359 vol.3 Also