230 likes | 387 Views
Presented by David Stavens. Manipulation Planning. Before: Want to move the robot from one configuration to another, around obstacles. Now: Want to robot to grasp some object and move it to a new location. If this is the only slide you see:
E N D
Manipulation Planning • Before: Want to move the robot from one configuration to another, around obstacles. • Now: Want to robot to grasp some object and move it to a new location. • If this is the only slide you see: • Key ideas very similar. Almost consider object to be another DOF in the configuration space.
Why is this hard? Example. • Consider the robot on the left. • Want to remove the bar from the “cage”. • Cannot be done in one motion! • (Also this paper operates in continuous spaces.) Cage Bar
Key Terms • CP = Stable Placements of the Object • CG = Valid Grasps of the Object by the Robot
Transit Paths • A transit path is a path of the robot when it is NOT grasping the object. • A transit path is in CP (recall: CP is the set of stable placements) • BUT not all paths in CP are transit paths. • Path must correspond to static object placement. • A set of transit paths forms a manifold given a fixed object position.
Transfer Paths • Analogously: • A path when the robot IS grasping the object. • Transfer paths are in CG (recall: valid grasps). • As before, not all paths in CG are transfer paths. • Paths must correspond to a static grasp. • Set of transfer paths forms a manifold for fixed grasp.
Key Idea of the Paper • Consider the intersection of CG and CP. • Corresponds to the configurations that are valid grasps paired with valid placements of the object. • Essentially, the manipulator may “pick up” or “release” the object at these intersections. • So: Connect CG CP components by transit and transfer paths. U
The Algorithm • Randomly generate a configuration. • Decide at random whether configuration will be used to expand within CG CP connected components OR connect components with transfer/transit paths. • Keep configuration if it links two or more components • Determine this by using more basic planner, as usual. U
C-Space Example CP = Valid Placements Transfer Path CG = Valid Grasps Transit Path CP CG U (Not exhaustively labeled.)
Example Connected Component 4 • We connect these CG CP connected components via transfer or transit paths. Connected Components 2 and 3 (Can’t Rotate the Board) Connected component 1 U
Transfer/Transit Paths for Example Transfer Path Transit Path
Planning in CG CP Topology U • “Virtual Joint” between last link and object. • Hard to sample into CG CP directly. • Paper uses planner from prior work. U
Paths in CG CP U • Technically these paths are NOT realizable since they correspond to a change in grasp and a change in object placement all at once. • Unless you’re throwing the object ;-) • Paper shows these paths can always be decomposed into transfer and transit paths. • The “reduction property”. (Proved in different paper.) • Notice that reduction property is similar to the transformation process in the PRM Kinodynamics paper: ignore constraints and then transform to obey.
Planning Transit/Transfer Paths • Step 1 • Ignore dynamic object, compute roadmap. • Step 2 • Remove edges blocked by object’s position. • Step 3 • Search the roadmap with the following caveats:
Possible Search Outcomes Path exists regardless of the obstacle. Initial Roadmap Use Rapidly-exploring Random Trees (RRTs) to bypass obstacle. No path regardless of the obstacle.
Important Caveat (From Kris) • Let C1 and C2 be two components. • Let G1 and G2 be all grasps in C1 and C2. • Let P1 and P2 be all placements in C1 and C2. • If G1 and G2 disjoint: can’t use transfer paths. • If P1 and P2 disjoint: can’t use transit paths. • (I believe algorithm simply fails to find a connection in this case.)
1, 2, 3 4, 5, 6 7, 8, 9
1 2 3 4 5
Random Choice of Connectivity • Recall algorithm selects randomly whether it will use a generated configuration to expand within the CG CP connected components or to expand the inter-connectivity of those components. • Probability of the former: • α ( 1 – estimated_coverage_ratio ) • How they determine estimated coverage is cited. • Perhaps like PRMs. U
Limitations • How does this scale to multiple objects/robots? • (Does reduction property even work?) • Maybe hierarchical planning is better: • Symbolic Task Planning • Geometric Manipulation Planning • Assumes “pick and place”.
A Note on Uncertainty • What about uncertainty? • Object position is uncertain. • Robot motion is uncertain. • Proper locations to grasp object is uncertain. • Paper assumes perception will handle this? • Hard problem in general, cluttered environments. • Perhaps joint approach is needed that uses some manipulation and some perception.
Learning Valid Grasps (CG) • Grasping Previously Unknown Objects • More At: http://www.cs.stanford.edu/group/stair/multimedia.php • STAIR Robot. Prof. Andrew Ng’s group.