Adaptive Dynamic Collision Checking for Single and Multiple Articulated Robots in Complex Environments Schwarzer, Saha, and Latombe CS326A Winter 2004,

Slides:



Advertisements
Similar presentations
Motion Planning for Point Robots CS 659 Kris Hauser.
Advertisements

Collision Detection CSCE /60 What is Collision Detection?  Given two geometric objects, determine if they overlap.  Typically, at least one of.
Collision Detection and Resolution Zhi Yuan Course: Introduction to Game Development 11/28/
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
Presented By: Aninoy Mahapatra
Probabilistic Roadmap
Iterative Relaxation of Constraints (IRC) Can’t solve originalCan solve relaxed PRMs sample randomly but… start goal C-obst difficult to sample points.
Multi-Robot Motion Planning Jur van den Berg. Outline Recap: Configuration Space for Single Robot Multiple Robots: Problem Definition Multiple Robots:
Nearest Neighborhood Search in Motion Planning Lakshmi Reddy B Advisor: Nancy M. Amato Parasol lab Department of Computer Science Texas A&M University.
Deadlock-Free and Collision- Free Coordination of Two Robot Manipulators Patrick A. O’Donnell and Tomás Lozano- Pérez by Guha Jayachandran Guha Jayachandran.
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.
Multi-Arm Manipulation Planning (1994) Yoshihito Koga Jean-Claude Latombe.
1 Last lecture  Path planning for a moving Visibility graph Cell decomposition Potential field  Geometric preliminaries Implementing geometric primitives.
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--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.
CS 326A: Motion Planning Configuration Space. Motion Planning Framework Continuous representation (configuration space and related spaces + constraints)
Sampling Strategies for Narrow Passages Presented by Irena Pashchenko CS326A, Winter 2004.
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.
Self-Collision Detection and Prevention for Humanoid Robots James Kuffner et al. presented by Jinsung Kwon.
1 Path Planning in Expansive C-Spaces D. HsuJ. –C. LatombeR. Motwani Prepared for CS326A, Spring 2003 By Xiaoshan (Shan) Pan.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Collision Detection and Distance Computation.
Algorithm for Fast MC Simulation of Proteins Itay Lotan Fabian Schwarzer Dan Halperin Jean-Claude Latombe.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Configuration Space – Basic Path-Planning Methods.
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 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 326 A: Motion Planning Coordination of Multiple Robots.
Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators Presented by Huy Nguyen April 28, 2003.
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.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces Lydia E. Kavraki Petr Švetka Jean-Claude Latombe Mark H. Overmars Presented.
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.
Constraints-based Motion Planning for an Automatic, Flexible Laser Scanning Robotized Platform Th. Borangiu, A. Dogar, A. Dumitrache University Politehnica.
World space = physical space, contains robots and obstacles Configuration = set of independent parameters that characterizes the position of every point.
Introduction Tracking the corners Camera model and collision detection Keyframes Path Correction Controlling the entire path of a virtual camera In computer.
Chapter 5 Trajectory Planning 5.1 INTRODUCTION In this chapters …….  Path and trajectory planning means the way that a robot is moved from one location.
Chapter 5 Trajectory Planning 5.1 INTRODUCTION In this chapters …….  Path and trajectory planning means the way that a robot is moved from one location.
Robotics Chapter 5 – Path and Trajectory Planning
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.
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 Configuration Space.
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.
Computer Game Design and Development
School of Systems, Engineering, University of Reading rkala.99k.org April, 2013 Motion Planning for Multiple Autonomous Vehicles Rahul Kala Multi-Level.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
Interactive Continuous Collision Detection for Polygon Soups Xin Huang 11/20/2007.
Autonomous Robots Robot Path Planning (2) © Manfred Huber 2008.
NUS CS 5247 David Hsu Configuration Space. 2 What is a path?
Real-Time Configuration Space Transforms for Obstacle Avoidance Wyatt S. Newman and Michael S. Branicky.
CS 326A: Motion Planning Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe,
C-obstacle Query Computation for Motion Planning
Navigation In Dynamic Environment
Analysis and design of algorithm
Presented By: Aninoy Mahapatra
Chapter 4 . Trajectory planning and Inverse kinematics
Algorithm Course Algorithms Lecture 3 Sorting Algorithm-1
Presentation transcript:

Adaptive Dynamic Collision Checking for Single and Multiple Articulated Robots in Complex Environments Schwarzer, Saha, and Latombe CS326A Winter 2004, Presented by Irena Pashchenko

Static vs. Dynamic Collision Checking Static checking tests a single configuration q for overlaps A j (q) A i (q)

Static vs. Dynamic Collision Checking Dynamic checking ensure that all configurations on a continuous path are collision-free. qaqa qbqb

Fixed Resolution Methods Fixed Resolution checking is a sequence of static BVH checks along path of motion, divided into  length segments. qaqa qbqb 

Fixed Resolution Methods  is user selected value. Compromise between efficiency and reliability. qaqa qbqb 

Adaptive Dynamic Collision Checking Automatic local adjustment of value  Collisions are never missed Does not cost much more than classical collision checking. Requires calculation of distances between objects; typically more expensive than plain collision checking. But paper proposed new techniques and heuristics to speed this up. Applicable to straight path segments in c-space Suited for scenarios with manipulator arms and/or multiple robots

Definitions The robot and obstacles are defined by: A 1,…,A n, whose placement in workspace is q=(q 1,…,q n ) A j (q) A i (q) i (q a, q b )  ij (q) A i (q a ) A j (q b )  ij (q) ≡  distance (A i, A j )  i (q a,q b ) ≡  curveLength (A i ) on q a … q b 

Key Lemma for Adaptive Bisection AiAi qaqa qbqb i (q a,q b ) qbqb qaqa j (q a,q b ) AjAj Lemma: If i (q a,q b ) + j (q a,q b ) < η ij (q a ) + η ij (q b ), then there exists no collisions between A i (q a ) and A j (q b ) η ij (q a ) η ij (q b )

Key Lemma for Adaptive Bisection Inequality only determines non-collisions. AiAi qaqa qbqb qaqa AjAj η ij (q b ) = 0 Collision is defined by zero distance between A i and A j, i.e. η ij = 0.

Adaptive Bisection of Paths Example qaqa qbqb q mid Run Inequality Tests 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 q mid doesn’t have a collision, recursively test both sub- segments until collision is found, or both sub-segments pass inequality test  Collisions are never missed!

Optimizations 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.

Calculating Terms in the Inequality How do we get  ij (q) and i (q a,q b ) ? i (q a,q b ) + j (q a,q b ) < η ij (q a ) + η ij (q b ) A j (q) A i (q) i (q a, q b )  ij (q) A i (q a ) A j (q b )

Algorithm GREEDY-DIST(B i,B j ) d = distance(B i, B j ) If triangles or d > 0, then return d  = GREEDY-DIST( B i, B j.childLeft ) if(  > 0 )  = GREEDY-DIST(B i, B j.childRight ) if(  > 0 ) return min { ,  } return 0 Object i Half,i1 Leaf,i1Leaf,i2 Half,i2 Object j Half,j1 Leaf,j1Leaf,j2 Half,j2 Lower Bound On Distance Betw. Objects:  ij (q) Rectangle Swept Spheres (RSS)

Bounding Motions in Workspace i (q a,q b ) q4q4 q2q2 q1q1 q3q3 A1A1 A2A2 A3A3 A4A4 4 d.o.f. robot Joints: 3 rotational and 1 prismatic D is the max distance traveled by q 3 L is the length of each rigid link

Bounding Motions in Workspace i (q a,q b ) q3q3 A3A3 q2q2 A2A2 q4q4 A4A4 q1q1 A1A1 Upper Bound Path LengthRigid Body A1A1 1 (q a,q b )  Lq a,1  q b,1 2 (q a,q b )  2Lq a,1  q b,1  Lq a,2  q b,2 3 (q a,q b )  (2L  D)q a,1  q b,1  (L  D)q a,2  q b,2  q a,3  q b,3 4 (q a,q b )  (3L  D)q a,1  q b,1  (2L  D)q a,2  q b,2  q a,3  q b,3  Lq a,4  q b,4 A2A2 A3A3 A4A4

Summary – Adaptive Bisection Collision Checker Efficient and robust way to determine collision-free paths. Advantages over fixed resolution checker: Never misses a collision Eliminates need for determining resolution factor:  There is room for improvement. Derive tighter bounds on path lengths. Greedy Distance Computation algorithm, nearly as efficient as pure collision checker Fast technique for bounding lengths of paths traced out in workspace Heuristics for ordering collisions tests

Summary Limitations: Not the best method if one wants to determine the first collision configuration moving from q a to q b Bad-case scenario: two moving objects stay very close along a long section of a path segment. (The key inequality fails to do its job here, and does not sample the path segments at coarser resolution.)