180 likes | 494 Views
A Randomized Approach to Robot Path Planning Based on Lazy Evaluation. Robert Bohlin , Lydia E. Kavraki (2001) Presented by: Robbie Paolini. Robot Path Planning Goals. Plan in new configuration spaces instantly Avoid long preprocessing times Planning time should relate to difficulty
E N D
A Randomized Approach to Robot Path Planning Based on Lazy Evaluation Robert Bohlin, Lydia E. Kavraki (2001) Presented by: Robbie Paolini
Robot Path Planning Goals • Plan in new configuration spaces instantly • Avoid long preprocessing times • Planning time should relate to difficulty • Time should relate to quality of solution • Planner should “learn” • Use info from previous queries to speed up subsequent plans
Probabilistic Roadmap • Construct a network of paths (a roadmap) verified to be collision free • Hard to find global strategy to plan efficiently • Complex geometry and expensive collision checks => long planning times • A lot of it unnecessary PRMs satisfy most of our goals, but are still too slow
Lazy PRM • Avoid local planners as much as possible • Keep a global view throughout planning • Only check for collisions when we have to Theme: In terms of collision checking, it is ALWAYS advantageous to use a lazy evaluation, since we can never do more work than a basic PRM
Building the Initial Roadmap • Distribute N nodes uniformly at random • For PRM, choice of N is important • For Lazy PRM, we only check for collisions on a small number of nodes, so less sensitive to N
Building the Initial Roadmap • Where do we add edges? • Add edges to nodes close enough together • For a manipulator, use a weighted Euclidean metric
Searching for the Shortest Path • A* to find the best path in the graph • Authors use a weighted Euclidean Metric • Could also consider other metrics • Power consumption, dynamic forces on joints, smooth paths…
Checking Paths for Collisions • Want to remove colliding nodes and edges efficiently • Remove nodes first, then edges • Check nodes at ends of path and work towards the center 2 3 6 4 5 1
Checking Paths for Collisions • Check edges in similar order as nodes • Start at a given resolution, work inward, increase resolution, work inward • Store all collision checks for later use 2 3 4 1 5
Node Enhancement • If no path is found, we need to create new nodes. Where? • We can use leftover roadmap to guide us! • Generate nodes around midpoints of removed edges • To avoid overfitting, randomly add nodes as well
Multiple Queries • Storing collision checks => immediate benefit • Even in the long run, after many queries, many nodes may never be explored Lazy PRM will find the shortest feasible path with less collision checks than a PRM!
Probabilistic Completeness • Both PRM and Lazy PRM give bounds on failure probability related to node density • PRM: Node density in • Lazy PRM: Node density in • However, PRM generates nodes in and then checks if in , so density is the same • AND: Lazy PRM doesn’t even check all nodes
Experiments • Industrial manipulator in realistic environment • Planning time breakdown: • Collision Checking: 79% • Graph Building: 19% • Graph Searching: 2% • Entire roadmap: 500,000 collision checks • Lazy PRM (average): 92 to 693 checks (<0.1%) • 27% of collision checks are on solution path
Discussion • Lazy PRMs are especially good if collision checking is expensive • If cheap, should remove several nodes each collision check to reduce graph search time • Excellent performance in low clutter • In high clutter, check collision of nodes before adding it to roadmap (but not edges) PRMs face same issues as Lazy PRMs, but they also collision check entire roadmap
Future Work • Understand how N affects Lazy PRM • Make algorithm more robust to decrease worst case performance • More testing of node enhancement, see how it does in cheap collision checking, high clutter environments • Trying many paths next to each other could be a waste… but then we’re at the mercy of heuristics.