160 likes | 290 Views
Maciej Kalisiak DGP Laboratory University of Toronto mac@dgp.toronto.edu. Michiel van de Panne Imager Laboratory University of British Columbia van@cs.ubc.ca. RRT-Blossom. RRT with local flood-fill behavior. Highly-constrained terrain. Purpose. highly-constrained environments
E N D
Maciej Kalisiak DGP Laboratory University of Toronto mac@dgp.toronto.edu Michiel van de Panne Imager Laboratory University of British Columbia van@cs.ubc.ca RRT-Blossom RRT with local flood-fill behavior
Purpose • highly-constrained environments • less room to move • → smaller search space • → motion planning should be easier • Rapidly-Exploring Random Trees (RRT) • popular motion planning algorithm • does poorly in highly-constrained terrain • RRT-Blossom • variation of RRT well adapted to such terrain
Flood-fill traits to emulate • generally, a flood-fill: • has a constant rate of fill • does not visit a location more than once • in RRT context this translates to: • make sure tree gains an edge on each iteration • do not re-explore the same space twice
Key modifications • receding edges • allow edges that recede from the target point • re-exploration prevention • do not revisit same space with multiple nodes • node “blossoming” • avoid duplicate work by immediately and permanently keeping or discarding tested edges
Receding edges • often provide useful information → worth keeping • RRT does not allow receding edges • RRT-CT† allows receding edges, but does not guard against resultant re-exploration † P.Cheng & S.M.LaValle, Reducing Metric Sensitivity in Randomized Trajectory Design, IROS 2001
Re-exploration(“regression”) • RRT guarantees no edge/node overlap • receding edges break this guarantee • now possible: multiple tree nodes exploring same space • re-exploration = wasted effort (often huge!)
generally, re-exploration non-trivial to detect approximation that works well: prevention: do not instantiate edges which satisfy the above Preventing re-exploration • edge regresses if its leaf node is closer to a tree nodeother than its parent
Blossoming • instantiate all valid edges out of chosen node • avoids duplicate edge computation and testing • RRT: “memoryless” • recomputes good & bad edges • RRT-CT: remembers only bad edges • recomputes good edges • RRT-Blossom: “remembers” all edges • by instantiating all valid edges out of node, no need to remember anything
Viability issue • dead-end branches can “block” needed edges • can prevent discovery of solution! • fix for re-exploration check: • ignore such nonviable branches • viability discovered on-the-fly
Experiments: agents point car bike kinematic kinodynamic
Experiments: terrains T rooms complex tunnel
Take-away • RRT-Blossom: more robust RRT • highly-constrained terrain → big speedup • deep local minima → big speedup • regular terrain → comparable performance • performs well in both settings • kinematic • kinodynamic • more at http://www.dgp.toronto.edu/~mac/rrt-blossom/