170 likes | 318 Views
On Delaying Collision Checking in PRM Planning--Application to Multi-Robot Coordination. Gildardo Sanchez & Jean-Claude Latombe Presented by Chris Varma April 17, 2002. Presentation Outline. Introduction to SBL SBL Collision Checking Milestone sampling strategies Connection strategies
E N D
On Delaying Collision Checking in PRM Planning--Application to Multi-Robot Coordination Gildardo Sanchez & Jean-Claude Latombe Presented by Chris Varma April 17, 2002
Presentation Outline • Introduction to SBL • SBL • Collision Checking • Milestone sampling strategies • Connection strategies • Key Observations • Lazy collision-checking strategy • Experimental Results • Q&A
Introduction to SBL • SBL • Single-query in milestone sampling strategy • Bi-directional: build two trees—init. & goal • Lazy collision-checking planner • No time wasted on testing non-candidate paths • Little time spent on checking connections not collision-free • Adaptive sampler: locally adjusts sampling resolution to local obstacle density—shrinks neighborhood w/ each failure • Assumption: obstacle regions are “thick” in most directions Note: We do not cover application of SBL to multi-agent setting
SBL: Collision Checker • SBL uses PQP to perform collision checks • Fast • Easy to use—i.e. requires little parameter tuning • Robust • Alternative: checker that works symbiotically with sampling strategy • Sampling strategy picks each new configuration • Would enable some reuse of sampled configurations
Milestone Sampling Strategies • Multi-stage • Uniformly generate milestones and paths • Enhancement step: select more milestones around milestones lying in narrow areas • Obstacle-sensitive • Goal: capture F’s boundaries • E.g. Gaussian sampling: retain config as milestone only if collision-free & a forbidden config is a neighbor • Narrow-passage • 1st roadmap: “dilated” free space F’—penetrate obstacles to widen narrow passages….so easier to find connections • Resample F’ to find neighbors that are collision-free milestones define as F • Diffusion • Idea: want roadmap tree(s) to diffuse across components of F
SBL: Milestone Sampling Strategy • Single-query strategy • Computes new roadmap for each query • Pre-computation justified only if 100’s of queries • Utilizes knowledge of query configurations • Only explores restricted subsets of components of F reachable from configurations • Grows two trees—T(init) & T(goal) iteratively until connect • Milestone m’ in neighborhood of m, connected by local path • More efficient than single-directional • Diffusion • Randomly select a milestone m w/ p = 1/w(m) • Pick successor m’ of m by randomly sampling neighborhood of m uniformly • w = some sampling density function
Key Observations • Most local paths in a roadmap are not on final path • Test of a connection most costly when collision-free • Shorter connection between 2 milestones = higher prior probability of being collision-free • So testing early is useless and costly • If connection between 2 milestones in collision, most likely to be midpoint
Explaining Points 3 and 4 • Assume: q and q’ collision-free configurations close to each other • q and q’ form connection that intersects “thick” object • Lighter region is area in which q’ must be selected to cause intersection
SBL: Connection Strategy (1) • Delayed collision-checking strategy • Collision checking consumes 99% of runtime • Avoid collision tests before absolutely needed
SBL: Connection Strategy (2) • Lazy collision-checking • Check sampled configurations for collision if no collision, add as milestone • Don’t check connections until identify path from initial to goal configurations • Then, midpoint of longest untested segment always tested next recursively • Next segment isn’t necessarily sub-segment because each subsegment is ½ of original, thus neither may now be longest • If collision found, transfer milestones between trees to preserve work done
Transferring Milestones • Segment u is found to be in collision • Thus, segment u is deleted and all milestones in T(goal) transferred to T(init)
Environments of Experiments d) Robot loads/unloads parts e) Environment of narrow passages • 6 dof robot arm equipped w/ welding gun • 6 dof robot arm in narrow config space • Robot transfers large sheet from table
Convergence Rates Figure: Convergence rates for problems c and d, respectively. s = max # of milestones Small s = high failure rate of SBL High s = essentially 100% success rate of SBL Notice: exponential decrease in failures as s increases PRM planner’s quality
Comparing Collision Checking • SBL results for average of 100 runs on each example where s = 10K • Full Collision-Checker Planner (FCCP) results for average of 100 runs on each example where s = 10K • Differences between Planners • Milestones added in FCCP only if connection between them is collision-free • In FCCP, no milestone transferred from one tree to other
Results Figure: Ratio of (collision checks on the path) to (total # of collision checks performed) for each planner for each example and for the averages of examples Note: This provides good measure of overall improvement offered by SBL in running time since collision checking is 99% of computing time.
Results Figure: SBL results for average of 100 runs on each example where s = 10K Figure: Full Collision-Checker Planner (FCCP) results for average of 100 runs on each example where s = 10K • Differences • Milestones added in FCCP only if connection between them is collision-free • In FCCP, no milestone transferred from one tree to other