Exact Collision Checking of Robot Paths Fabian Schwarzer Mitul Saha Jean-Claude Latombe Computer Science Department Stanford University.

Slides:



Advertisements
Similar presentations
Complete Motion Planning
Advertisements

Collision Detection CSCE /60 What is Collision Detection?  Given two geometric objects, determine if they overlap.  Typically, at least one of.
By Lydia E. Kavraki, Petr Svestka, Jean-Claude Latombe, Mark H. Overmars Emre Dirican
Geometric Representations & Collision Detection Kris Hauser I400/B659: Intelligent Robotics Spring 2014.
Probabilistic Roadmap
Experiences with Streaming Construction of SAH KD Trees Stefan Popov, Johannes Günther, Hans-Peter Seidel, Philipp Slusallek.
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song and Nancy M. Amato Department of Computer Science Texas A&M University College Station,
Sampling and Connection Strategies for PRM Planners Jean-Claude Latombe Computer Science Department Stanford University.
Algorithmic Robotics and Motion Planning Dan Halperin Tel Aviv University Fall 2006/7 Dynamic Maintenance and Self-Collision Testing for Large Kinematic.
David Hsu, Robert Kindel, Jean- Claude Latombe, Stephen Rock Presented by: Haomiao Huang Vijay Pradeep Randomized Kinodynamic Motion Planning with Moving.
Footstep Planning Among Obstacles for Biped Robots James Kuffner et al. presented by Jinsung Kwon.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Fast C-obstacle Query Computation for Motion Planning Liang-Jun Zhang 12/13/2005 Liang-Jun Zhang 1 Young.
Motion Planning of Multi-Limbed Robots Subject to Equilibrium Constraints. Timothy Bretl Presented by Patrick Mihelich and Salik Syed.
CS 326 A: Motion Planning Probabilistic Roadmaps Basic Techniques.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Collision Detection and Distance Computation: Feature Tracking Methods.
Finding Narrow Passages with Probabilistic Roadmaps: The Small-Step Retraction Method Presented by: Deborah Meduna and Michael Vitus by: Saha, Latombe,
1 Single Robot Motion Planning - II Liang-Jun Zhang COMP Sep 24, 2008.
1 Last lecture  Path planning for a moving Visibility graph Cell decomposition Potential field  Geometric preliminaries Implementing geometric primitives.
Adaptive Dynamic Collision Checking for Many Moving Bodies Mitul Saha Department of Computer Science, Stanford University. NSF-ITR Workshop Collaborators:
UNC Chapel Hill M. C. Lin References Collision Detection between Geometric Models: A Survey, by M. Lin and S. Gottschalk, Proc. of IMA Conference on Mathematics.
On Delaying Collision Checking in PRM Planning G. Sánchez and J. Latombe presented by Niloy J. Mitra.
On Delaying Collision Checking in PRM Planning--Application to Multi-Robot Coordination Gildardo Sanchez & Jean-Claude Latombe Presented by Chris Varma.
1 Finding “Narrow Passages” with Probabilistic Roadmaps: The Small-Step Retraction Method Mitul Saha and Jean-Claude Latombe Research supported by NSF,
CS 326A: Motion Planning ai.stanford.edu/~latombe/cs326/2007/index.htm Probabilistic Roadmaps: Basic Techniques.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Continuous Collision Detection David Knott COMP 259 class presentation.
Dynamic Maintenance and Self Collision Testing for Large Kinematic Chains Lotan, Schwarzer, Halperin, Latombe.
On Delaying Collision Checking in PRM Planning Gilardo Sánchez and Jean-Claude Latombe January 2002 Presented by Randall Schuh 2003 April 23.
NUS CS 5247 David Hsu1 Last lecture  Multiple-query PRM  Lazy PRM (single-query PRM)
Adaptive Dynamic Collision Checking for Single and Multiple Articulated Robots in Complex Environments Schwarzer, Saha, and Latombe CS326A Winter 2004,
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Collision Detection and Distance Computation.
OBBTree: A Hierarchical Structure for Rapid Interference Detection Gottschalk, M. C. Lin and D. ManochaM. C. LinD. Manocha Department of Computer Science,
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song, Nancy M. Amato Department of Computer Science Texas A&M University College Station,
Kinetic Data Structures and their Application in Collision Detection Sean Curtis COMP 768 Oct. 16, 2007.
Motion Algorithms: Planning, Simulating, Analyzing Motion of Physical Objects Jean-Claude Latombe Computer Science Department Stanford University.
Robot Motion Planning Bug 2 Probabilistic Roadmaps Bug 2 Probabilistic Roadmaps.
“Adaptive Dynamic Collision Checking for Single and Multiple Articulated Robots in Complex Environments” Schwarzer, Saha, and Latombe Presentation by:
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Constraint-Based Motion Planning using Voronoi Diagrams Maxim Garber and Ming C. Lin Department of Computer.
The University of North Carolina at CHAPEL HILL A Simple Path Non-Existence Algorithm using C-obstacle Query Liang-Jun Zhang.
Collision Detection and Distance Computation CS 326A: Motion Planning.
CS 326 A: Motion Planning Collision Detection and Distance Computation.
CS 326A: Motion Planning Probabilistic Roadmaps: Sampling and Connection Strategies.
CS 326 A: Motion Planning Probabilistic Roadmaps Basic Techniques.
Efficient Distance Computation between Non-Convex Objects By Sean Quinlan Presented by Sean Augenstein and Nicolas Lee.
Hybrid Bounding Volumes for Distance Queries Distance Query returns the minimum distance between two geometric models Major application is path planning.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces Kavraki, Svestka, Latombe, Overmars 1996 Presented by Chris Allocco.
1 Single Robot Motion Planning Liang-Jun Zhang COMP Sep 22, 2008.
Providing Haptic ‘Hints’ to Automatic Motion Planners Providing Haptic ‘Hints’ to Automatic Motion Planners by Burchan Bayazit Department of Computer Science.
CS 326A: Motion Planning ai.stanford.edu/~latombe/cs326/2007/index.htm Collision Detection and Distance Computation.
CS B659: Principles of Intelligent Robot Motion Collision Detection.
Efficient Maintenance and Self-Collision Testing for Kinematic Chains Itay Lotan Fabian Schwarzer Dan Halperin Jean-Claude Latombe.
World space = physical space, contains robots and obstacles Configuration = set of independent parameters that characterizes the position of every point.
Efficient Maintenance and Self- Collision Testing for Kinematic Chains Itay Lotan Fabian Schwarzer Dan Halperin Jean-Claude Latombe.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars.
NUS CS5247 Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators By Patrick A. O’Donnell and Tomás Lozano-Pérez MIT Artificial Intelligence.
CS B659: Principles of Intelligent Robot Motion Rigid Transformations and Collision Detection.
CIS 350 – I Game Programming Instructor: Rolf Lakaemper.
UNC Chapel Hill M. C. Lin Introduction to Motion Planning Applications Overview of the Problem Basics – Planning for Point Robot –Visibility Graphs –Roadmap.
Randomized Kinodynamics Planning Steven M. LaVelle and James J
NUS CS5247 Using a PRM Planner to Compare Centralized and Decoupled Planning for Multi-Robot Systems By Gildardo Sánchez and Jean-Claude Latombe In Proc.
Interactive Continuous Collision Detection for Polygon Soups Xin Huang 11/20/2007.
Minkowski Sums and Distance Computation Eric Larsen COMP
Motion Planning CS121 – Winter Basic Problem Are two given points connected by a path?
CS 326A: Motion Planning Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe,
Tree growing motion planners + optimizing planners
Motion Planning for a Point Robot (2/2)
Artificial Intelligence Lab
C-obstacle Query Computation for Motion Planning
Sampling and Connection Strategies for Probabilistic Roadmaps
Collision Detection.
Motion Planning CS121 – Winter 2003 Motion Planning.
Presentation transcript:

Exact Collision Checking of Robot Paths Fabian Schwarzer Mitul Saha Jean-Claude Latombe Computer Science Department Stanford University

Motivation (1) One tenet of PRM planning is that sampled configurations and connections can be efficiently tested for collision.

[Quinlan, 94; Gottschalk, Lin, Manocha, 96] Static collision tests (for sampled configurations) are done efficiently using pre-computed bounding volumes (BV) hierarchies Motivation (2)

But dynamic collision tests (for connections) using BV hierarchies are usually approximate. Motivation (3)    too large  collisions are missed   too small  slow test of local paths

Motivation (3)  But dynamic collision tests (for connections) using BV hierarchies are usually approximate.

Previous Approaches to Dynamic Collision Testing Bounding-volume (BV) hierarchies  Discretization issue Feature-tracking methods [Lin, Canny, 91] [Mirtich, 98] V-Clip [Cohen, Lin, Manocha, Ponamgi, 95] I-Collide [Basch, Guibas, Hershberger, 97] KDS  Geometric complexity issue with highly non-convex objects Swept-volume intersection [Cameron, 85] [Foisy, Hayward, 93]  Swept-volumes are expensive to compute. Too much data.

Our Approach Problem: Given two configurations, test if the straight path between them is collision-free, or not. Ideas: a)Relate configuration changes to path lengths in workspace b)Use distance computation rather than pure collision checking

For any q and q’ no robot point traces a path longer than: (q,q’) = 3|  q 1 |+2|  q 2 |+|  q 3 | q = (q 1,q 2,q 3 ) q’ = (q’ 1,q’ 2,q’ 3 )  q i = q’ i -q i q1q1 q2q2 q3q3 Ideas: a) Relate configuration changes to path lengths in workspace b) Use distance computation rather than pure collision checking

If (q,q’) <  (q) +  (q’) then the straight path between q and q’ is collision-free  (q)  (q) = Euclidean distance between robot and obstacles (or lower bound) q1q1 q2q2 q3q3 Ideas: a) Relate configuration changes to path lengths in workspace b) Use distance computation rather than pure collision checking

q q’ {q” | (q,q”) <  (q)} {q” | (q’,q”) <  (q’)} (q,q’) <  (q) +  (q’) Ideas: a) Relate configuration changes to path lengths in workspace b) Use distance computation rather than pure collision checking

q q’ {q” | (q,q”) <  (q)} {q” | (q’,q”) <  (q’)} Bisection (q,q’) >  (q) +  (q’) Ideas: a) Relate configuration changes to path lengths in workspace b) Use distance computation rather than pure collision checking

 Use BV hierarchy + same recursion as for pure collision checking  But compute distance between BVs instead of testing BV overlap   BVs are RSSs Greedy Distance Computation  returns lower bounds on distance that are often much larger than ½ actual distances  small factor slower than a pure collision checking  much faster than BV-based exact or approximate distance computation

Generalization Robot(s) and static obstacles treated as collection of rigid bodies A1, …, An. i (q,q’): upper bound on length of curve segment traced by any point on Ai when robot system is linearly interpolated between q and q’ 1 (q,q’) = |  q 1 | 2 (q,q’) = 2|  q 1 |+|  q 2 | 3 (q,q’) = 3|  q 1 |+2|  q 2 |+|  q 3 | q1q1 q2q2 q3q3

Generalization Robot(s) and static obstacles treated as collection of rigid bodies A1, …, An. i (q,q’): upper bound on length of curve segment traced by any point on Ai when robot system is linearly interpolated between q and q’ If i (q,q’) + j (q,q’) <  ij (q) +  ij (q’) then Ai and Aj do not collide between q and q’

Generalized Bisection Method I.Until Q is not empty do: 1.[q a,q b ] ij  remove-first(Q) 2.If i (q a,q b ) + j (q a,q b )   ij (q a ) +  ij (q b ) then a.q mid  (q a +q b )/2 b.If  ij (q mid ) = 0 then return collision c.Else insert [q a,q mid ] ij and [q mid,q b ] ij into Q II.Return no collision Each pair of bodies is checked independently of the others  priority queue Q of elements [q a,q b ] ij Initially, Q consists of [q,q’] ij for all pairs of bodies Ai and Aj that need to be tested.

Heuristic Ordering Q Goal: Discover collision quicker if there is one. Sort Q by decreasing values of: [ i (q a,q b ) + j (q a,q b )] – [  ij (q a ) +  ij (q b )] Possible extension to multi-segment paths (very useful with lazy collision-checking PRM)

Segment Covering Strategies Allows caching of forward kinematic results

Two Arms and Three Rings Two 20-dof linkages, with 320 triangles each Three rings with 6,300 triangles each

Robot in a Cage Robot: 2,991 triangles Cage: 432 triangles

Spot Welding Robot: 2,991 triangles Obstacles: 74,681 triangles

Comparative Experiment Robot: 2,502 triangles Obstacles: 432 Triangles SBL  17 sec A-SBL  4.8 sec SBL: PRM planner (single-query, bi-directional, lazy in cc) with fixed-discretization collision checker A-SBL: Same planner, with new collision checker Experiment: Run SBL 10 times on same planning problem with some resolution  If a collision has been missed, reduce  and repeat If no collision has been missed, return average planning time Run A-SBL 10 times and return average planning time

Some Results Robot: 2,502 triangles Obstacles: 432 Triangles SBL  17 sec A-SBL  4.8 sec Robot: 2,991 triangles Obstacles: 74,681 triangles SBL  1.20 sec A-SBL  0.81 sec Robot: 2,991 triangles Obstacles: 432 Triangles SBL  83 sec A-SBL  44 sec Robot: 2,502 triangles Obstacles: 34,171 triangles SBL  3.2 sec A-SBL  2.1 sec Robots: 6 x 2,991 triangles Obstacles: 19,668 triangles SBL  85 sec A-SBL  52 sec

Conclusion New collision checker suited for PRM planners:  Faster than fixed-resolution checkers  Fully reliable Future work:  Automatic computation of tight upper bounds on path lengths in w-space from robot kinematics  Better treatment of pairs of moving bodies (e.g., bodies moving along parallel paths)

Acknowledgements This research was partially funded by grants from General Motors and ABB Additional geometric models were provided by PSA (Peugeot-Citroen)

Greedy Computation of  ij (q) Algorithm GREEDY-DIST(Ba,Bb) 1.h  distance(Ba,Bb) 2.If Ba and Bb are both triangles then return h 3.If h > 0 then return h 4.If Ba is “bigger” than Bb then switch Ba and Bb 5.   GREEDY-DIST(Ba,Bb 1 ) 6.If  > 0 then 1.   GREEDY-DIST(Ba,Bb 2 ) 2.If  > 0 then return min{ ,  } 7.Return 0 Ba Bb GREEDY-DIST  is small factor slower than a pure collision checker  is much faster than BV-based exact or approximate distance computation  returns lower-bounds that are often much larger than ½ actual distances Idea: BV hierarchy + same recursion as for pure collision checking, but compute distance between boxes (  BVs are RSSs)  ij (q)