“Adaptive Dynamic Collision Checking for Single and Multiple Articulated Robots in Complex Environments” Schwarzer, Saha, and Latombe Presentation by:

Slides:



Advertisements
Similar presentations
Probabilistic Roadmaps. The complexity of the robot’s free space is overwhelming.
Advertisements

Motion Planning for Point Robots CS 659 Kris Hauser.
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
Continuous Collision Detection: Progress and Challenges Gino van den Bergen dtecta
Anytime RRTs Dave Fergusson and Antony Stentz. RRT – Rapidly Exploring Random Trees Good at complex configuration spaces Efficient at providing “feasible”
Presented By: Aninoy Mahapatra
Probabilistic Roadmap
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 23, 2009.
Multi-Robot Motion Planning Jur van den Berg. Outline Recap: Configuration Space for Single Robot Multiple Robots: Problem Definition Multiple Robots:
Nonholonomic Multibody Mobile Robots: Controllability and Motion Planning in the Presence of Obstacles (1991) Jerome Barraquand Jean-Claude Latombe.
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 22, 2010.
David Hsu, Robert Kindel, Jean- Claude Latombe, Stephen Rock Presented by: Haomiao Huang Vijay Pradeep Randomized Kinodynamic Motion Planning with Moving.
Nearest Neighborhood Search in Motion Planning Lakshmi Reddy B Advisor: Nancy M. Amato Parasol lab Department of Computer Science Texas A&M University.
“Visibility-based Probabilistic Roadmaps for Motion Planning” Siméon, Laumond, Nissoux Presentation by: Eric Ng CS326A: Paper Review Spring 2003.
Finding Narrow Passages with Probabilistic Roadmaps: The Small-Step Retraction Method Presented by: Deborah Meduna and Michael Vitus by: Saha, Latombe,
Multi-Arm Manipulation Planning (1994) Yoshihito Koga Jean-Claude Latombe.
Planning Motions with Intentions By Chris Montgomery A presentation on the paper Planning Motions with Intentions written by Yoshihito Koga, Koichi Kondo,
Self-Collision Detection and Prevention for Humonoid Robots Paper by James Kuffner et al. Presented by David Camarillo.
Adaptive Dynamic Collision Checking for Many Moving Bodies Mitul Saha Department of Computer Science, Stanford University. NSF-ITR Workshop Collaborators:
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.
Self-Collision Detection and Prevention for Humonoid Robots Paper by James Kuffner et al. Jinwhan Kim.
Providing Haptic ‘Hints’ to Automatic Motion Planners Providing Haptic ‘Hints’ to Automatic Motion Planners Burchan Bayazit Joint Work With Nancy Amato.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces Kavraki, Svestka, Latombe, Overmars 1996 Presented by Dongkyu, Choi.
Exact Collision Checking of Robot Paths Fabian Schwarzer Mitul Saha Jean-Claude Latombe Computer Science Department Stanford University.
On Delaying Collision Checking in PRM Planning Gilardo Sánchez and Jean-Claude Latombe January 2002 Presented by Randall Schuh 2003 April 23.
1 Path Planning in Expansive C-Spaces D. HsuJ. –C. LatombeR. Motwani Prepared for CS326A, Spring 2003 By Xiaoshan (Shan) Pan.
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.
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,
UNC Chapel Hill M. C. Lin Overview of Last Lecture About Final Course Project –presentation, demo, write-up More geometric data structures –Binary Space.
Robot Motion Planning Bug 2 Probabilistic Roadmaps Bug 2 Probabilistic Roadmaps.
CS 326A: Motion Planning Basic Motion Planning for a Point Robot.
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.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces Kavraki, Svestka, Latombe, Overmars 1996 Presented by Chris Allocco.
Providing Haptic ‘Hints’ to Automatic Motion Planners Providing Haptic ‘Hints’ to Automatic Motion Planners Burchan Bayazit Joint Work With Nancy Amato.
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.
A Randomized Approach to Robot Path Planning Based on Lazy Evaluation Robert Bohlin, Lydia E. Kavraki (2001) Presented by: Robbie Paolini.
World space = physical space, contains robots and obstacles Configuration = set of independent parameters that characterizes the position of every point.
© Manfred Huber Autonomous Robots Robot Path Planning.
Optimal n fe Tian-Li Yu & Kai-Chun Fan. n fe n fe = Population Size × Convergence Time n fe is one of the common used metrics to measure the performance.
Gapped BLAST and PSI- BLAST: a new generation of protein database search programs By Stephen F. Altschul, Thomas L. Madden, Alejandro A. Schäffer, Jinghui.
Complexity of algorithms Algorithms can be classified by the amount of time they need to complete compared to their input size. There is a wide variety:
Path Planning for a Point Robot
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
CSC 211 Data Structures Lecture 13
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
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
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
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.
Autonomous Robots Robot Path Planning (2) © Manfred Huber 2008.
CS 326A: Motion Planning Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe,
Motion Planning for a Point Robot (2/2)
C-obstacle Query Computation for Motion Planning
Navigation In Dynamic Environment
Presented By: Aninoy Mahapatra
Sampling and Connection Strategies for Probabilistic Roadmaps
Searching: linear & binary
Searching CLRS, Sections 9.1 – 9.3.
Chapter 4 . Trajectory planning and Inverse kinematics
Adaptive dynamics for Articulated Bodies
Presentation transcript:

“Adaptive Dynamic Collision Checking for Single and Multiple Articulated Robots in Complex Environments” Schwarzer, Saha, and Latombe Presentation by: Eric Ng CS326A: Paper Review Spring 2003

Static Collision Checking Static collision checking tests a single configuration of objects for overlaps. AjAj Ai(q)Ai(q)

Dynamic Collision Checking Dynamic collision checking ensures that all configurations between A and B are collision-free. Fixed Resolution checking is a sequence of static BVH checks along path of motion, divided into  length segments.  is user defined and is function of accuracy and calculation time.

Dynamic Collision Checking Dynamic collision checking ensures that all configurations between A and B are collision-free. Fixed Resolution checking is a sequence of static BVH checks along path of motion, divided into  length segments.  is user defined and is function of accuracy and calculation time. A B

Fixed Resolution Collision Checker Dynamic collision checking ensures that all configurations between A and B are collision-free. Fixed Resolution checking is a sequence of static BVH checks along path of motion, divided into  length segments.  is user defined and is function of accuracy and calculation time. A B

Fixed Resolution Collision Checker Dynamic collision checking ensures that all configurations between A and B are collision-free. Fixed Resolution checking is a sequence of static BVH checks along path of motion, divided into  length segments.  is user defined and is function of accuracy and calculation time. A B

Fixed Resolution Collision Checker Dynamic collision checking ensures that all configurations between A and B are collision-free. Fixed Resolution checking is a sequence of static BVH checks along path of motion, divided into  length segments.  is user defined and is function of accuracy and calculation time.  A B

Drawbacks of Fixed Resolution Checking (1)  determines accuracy. If  isn’t fine enough, collision at a point between checks will not be detected. (2) Refining resolution improves accuracy, but calculation becomes more expensive. q1 q2  q1 q2 Undetected obstacle

Why Adaptive Dynamic Checking? Adaptive Dynamic Checking offers: (1) Ability to never miss collisions. (2) And not costing much more than classical collision checking. (3) Has one drawback: requires calculation of distances between objects, not just collision checking => can be computationally expensive. (Ameliorated with optimizations!)

Basis for Adaptive Dynamic Collision Checking The robot and obstacles are defined by: A 1,…,A n, whose placement in workspace is q=(q 1,…,q n ) AjAj Ai(q)Ai(q)

Basis for Adaptive Dynamic Collision Checking n ij (q) is lower bound distance between A i and A j  (q) AjAj Ai(q)Ai(q)

Basis for Adaptive Dynamic Collision Checking n ij (q) is lower bound distance between A i and A j  (q) AjAj Ai(q)Ai(q) A i (q 1 ) i (q 1, q 2 ) A j (q 2 ) i (q 1, q 2 ) is upper bound path length of A i from config 1 to 2.

Basis for Adaptive Dynamic Collision Checking Ai qaqa qbqb i (q a,q b ) qbqb qaqa j (q a,q b ) Aj If i (q a,q b ) + j (q a,q b ) < n ij (q a ) + n ij (q b ), then there exists no collisions between q a and q b n ij (q a ) n ij (q b ) Lemma

What if Inequality Fails? It does not mean there is a collision between “a” and “b”!! Inequality only determines non-collisions. Collision is defined by zero distance between Ai and Aj, ie: n ij =0. Ai qaqa qbqb qbqb qaqa Aj n ij (q b )=0

Example of Adaptive Bisection of Paths Run Inequality test on path segment. [PASS] = no collisions between q a and q b qaqa qbqb

Example of Adaptive Bisection of Paths Run Inequality test on path segment. [PASS] = no collisions between q a and q b [FAIL] = check if robot makes collision at q mid If qmid doesn’t have a collision, recursively test both sub-segments until collision is found, or both sub- segments pass inequality test ==> never misses collision! qaqa qbqb q mid Run Inequality Test

Example of Adaptive Bisection of Paths Run Inequality test on path segment. [PASS] = no collisions between q a and q b [FAIL] = check if robot makes collision at q mid If qmid doesn’t have a collision, recursively test both sub-segments until collision is found, or both sub- segments pass inequality test ==> never misses collision! qaqa qbqb q mid Run Inequality Test

Calculating the terms in the Inequality i (q a,q b ) + j (q a,q b ) < n ij (q a ) + n ij (q b ) But how do we get n ij and i (q a,q b )? A i (q 1 ) i (q 1, q 2 ) A j (q 2 )  (q) AjAj Ai(q)Ai(q)

Computing Lower Bound Dist. Betw. Objects: n ij Algorithm GREEDY-DIST(Bi, Bj)  = distance(Object i,Object j) –If  > 0, then return  –Else, we need to investigate further Object i Half,i1 Leaf,i1Leaf,i2 Half,i2 Object j Half,j1 Leaf,j1Leaf,j2 Half,j2

Computing Lower Bound Dist. Betw. Objects: n ij Algorithm GREEDY-DIST(Bi, Bj) Object i Half,i1 Leaf,i1Leaf,i2 Half,i2 Object j Half,j1 Leaf,j1Leaf,j2 Half,j2 Test both Half,j1 and Half,j2 against Object i –Dist1 = Greedy-Dist(Object I, Half,j1) –Dist2 = Greedy-Dist(Object I, Half,j2) Dist2 > 0 (stop in that search path) Dist1 !> 0 (need to continue further)  = 0  > 0  = 0

Computing Lower Bound Dist. Betw. Objects: n ij Algorithm GREEDY-DIST(Bi, Bj) Object i Half,i1 Leaf,i1Leaf,i2 Half,i2 Object j Half,j1 Leaf,j1Leaf,j2 Half,j2  = 0  > 0  = 0 Test Half,j1 against Half,i1 and Half,i2 –Dist1 = Greedy-Dist(Half,j1, Half,i1) –Dist2 = Greedy-Dist(Half,j1,Half,i2) Both Dist1 and Dist 2 > 0 => DONE! Return min(dist1, dist2) as n ij

Example of Bounding Motion Calculation: i q4 q2 q1 q3 A1 A2 A3 A4 D: dist by q3 L: length of each rigid body 4 d.o.f. robot 3 rotational and 1 prismatic joint D is the max distance travelled by Q3 L is the length of each rigid body

Example of Bounding Motion Calculation: i q1 A1 Upper Bound Path LengthRigid Body A1

Example of Bounding Motion Calculation: i q2 q1 A1 A2 Upper Bound Path LengthRigid Body A1 A2 A3 A4

Example of Bounding Motion Calculation: i q2 q1 q3 A1 A2 A3 Upper Bound Path LengthRigid Body A1 A2 A3 A4

Example of Bounding Motion Calculation: i q4 q2 q1 q3 A1 A2 A3 A4 Upper Bound Path LengthRigid Body A1 A2 A3 A4

Conclusions Adaptive Bisection Collision Checker is an efficient and robust way to determine if a proposed path is collision-free. Even though it is efficient, there is room for improvement. For example, path lengths are overly conservatively computed. Bisection method may not be most efficient solution when obstacle is always closeby the robot.

Optimizing the Process Let Q be the priority queue containing elements objects being checked. If the path segment is collision-free, then the ordering of Q has no impact on running time. But for a colliding path, the calculation can complete as soon as collision is found => ordering matters. Since longer path lengths have higher probability of collision, Q is presorted by decreasing path lengths to potentially find collisions earlier.

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 Slide courtesy Latombe,2003

More 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

Summary Adaptive bisection collision checker is a reliable and effective way to test straight line segments. Advantages over fixed resolution checker: –Never miss a collision –Eliminates need for determining resolution factor:  Determines whether subsections (“i” and “j”) of objects collide when moving from configuration “a” to “b” i (q a,q b ) + j (q a,q b ) < n ij (q a ) + n ij (q b ), does not collide –Requires lower bound distances between two bounding volumes (BVs) i & j at configs “a” & “b” –Requires upper bound distances in path lengths of objects i & j from config “a” to “b” Inequality is performed on BVH binary tree until collision is found, or tree is fully traversed…leading to no collisions found