270 likes | 427 Views
On Delaying Collision Checking in PRM Planning – Application to Multi-Robot Coordination. By: Gildardo Sanchez and Jean-Claude Latombe Presented by: Michael Graeb and Samir Menon. Delayed Collision Checking. Motivations Experimental Foundations: Collision checks removed from planner
E N D
On Delaying Collision Checking in PRM Planning – Application to Multi-Robot Coordination By: Gildardo Sanchez and Jean-Claude Latombe Presented by: Michael Graeb and Samir Menon
Delayed Collision Checking • Motivations • Experimental Foundations: Collision checks removed from planner • Improved efficiency by 2-3 orders of magnitude • Most paths remained collision free • Most time is spent checking connections • Short connections likely to be collision-free anyway • Most collision-free connections not part of final path • Hence: Postpone testing a connection until it is absolutely needed
G S Single Query • Motivations • 90% - 99.9% of milestones in multi-query roadmap unused by final path. • Most roadmaps with “good coverage” only used for a single task • Hence: Single Query • Build a roadmap with your specific tasks in mind • Bi-Directional trees are an efficient query technique
SBL Algorithm – Overall • Start roadmap with two trees • Rooted at start and goal, one node each • Try s times…
SBL Algorithm – Overall 2a) Grow a tree by one node
SBL Algorithm – Overall Start Goal 2b) Find a path from start to goal • We’re not certain all edges are valid
SBL Algorithm – Overall 2c) Test unknown edges in path • Stop once a collision is found • Remember edges’ validity, for future use
SBL Algorithm – Overall 2c) Test unknown edges in path • Stop once a collision is found • Remember edges’ validity, for future use
SBL Algorithm – Overall 2d) If all edges valid, return path
SBL Algorithm - EXPAND 1. Pick which tree, T, will receive new milestone • Uniformly random choice, 50/50 odds
SBL Algorithm - EXPAND 2. From T, pick an existing milestone, m • Random choice, with milestones in less-dense regions more likely to be picked
SBL Algorithm - EXPAND 3. Repeat until new milestone created: 3a) Take sample in neighborhood of m • Distance from m is initially p and shrinks with each successive attempt 3b) If sample collision free, add it as child of m
SBL Algorithm - EXPAND 3. Repeat until new milestone created: 3a) Take sample in neighborhood of m • Distance from m is initially p and shrinks with each successive attempt 3b) If sample collision free, add it as child of m
SBL Algorithm - EXPAND 3. Repeat until new milestone created: 3a) Take sample in neighborhood of m • Distance from m is initially p and shrinks with each successive attempt 3b) If sample collision free, add it as child of m
SBL Algorithm - EXPAND 3. Repeat until new milestone created: 3a) Take sample in neighborhood of m • Distance from m is initially p and shrinks with each successive attempt 3b) If sample collision free, add it as child of m
SBL Algorithm - EXPAND 3. Repeat until new milestone created: 3a) Take sample in neighborhood of m • Distance from m is initially p and shrinks with each successive attempt 3b) If sample collision free, add it as child of m
SBL Algorithm - EXPAND 3. Repeat until new milestone created: 3a) Take sample in neighborhood of m • Distance from m is initially p and shrinks with each successive attempt 3b) If sample collision free, add it as child of m
SBL Algorithm - EXPAND 3. Repeat until new milestone created: 3a) Take sample in neighborhood of m • Distance from m is initially p and shrinks with each successive attempt 3b) If sample collision free, add it as child of m
SBL Algorithm - CONNECT 1.m isnew milestone 2.m’ is other tree’s nearest milestone to m
SBL Algorithm - CONNECT 3. If( distance(m, m’) < ρ ) 3.1 Connect m and m’ by bridge
SBL Algorithm - CONNECT 3. If( distance(m, m’) < ρ ) 3.1 Connect m and m’ by bridge
SBL Algorithm - CONNECT … 3.2τis path from start to goal 3.3 Return results of TEST_PATH( τ )
SBL Algorithm – TEST_PATH(path) • Continually test “most unsafe” segment until we we encounter a collision, or all segments are known to be safe. • Save results for future use.
Results • Results for configuration shown in the figure
Comparative Performance Evaluation • Experimental results for the full collision-check planner
Discussion • Assumes two spatially close configurations in configuration space have low probability of collision • Saves time by checking collision between milestones only when part of candidate path from start to goal. • Valid assumption in practice & supported by experiments