16
RRT-Blossom RRT-Blossom RRT with local flood-fill RRT with local flood-fill behavior behavior Maciej Kalisiak DGP Laboratory University of Toronto [email protected] Michiel van de Panne Imager Laboratory University of British Columbia [email protected]

RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory

RRT-BlossomRRT-BlossomRRT with local flood-fill RRT with local flood-fill

behaviorbehavior

Maciej KalisiakDGP Laboratory

University of [email protected]

Michiel van de PanneImager Laboratory

University of British [email protected]

Page 2: RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory

Highly-constrained terrainHighly-constrained terrain

Page 3: RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory

PurposePurpose►highly-constrained environmentshighly-constrained environments

less room to moveless room to move → → smaller search spacesmaller search space → → motion planning should be easiermotion planning should be easier

►Rapidly-Exploring Random Trees (Rapidly-Exploring Random Trees (RRTRRT)) popular motion planning algorithmpopular motion planning algorithm does poorly in highly-constrained terraindoes poorly in highly-constrained terrain

►RRT-BlossomRRT-Blossom variation of RRT well adapted to such terrainvariation of RRT well adapted to such terrain

Page 4: RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory

Flood-fill traits to emulateFlood-fill traits to emulate►generally, a flood-fill:generally, a flood-fill:

has a constant rate of fillhas a constant rate of fill does not visit a location more than oncedoes not visit a location more than once

► in RRT context this translates to:in RRT context this translates to: make sure tree gains an edge on make sure tree gains an edge on eacheach iteration iteration do not re-explore the same space twicedo not re-explore the same space twice

Page 5: RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory

Key modificationsKey modifications►receding edgesreceding edges

allow edges that recede from the target pointallow edges that recede from the target point►re-exploration preventionre-exploration prevention

do not revisit same space with multiple nodesdo not revisit same space with multiple nodes►node “blossoming”node “blossoming”

avoid duplicate work by immediately and avoid duplicate work by immediately and permanently keeping or discarding tested edgespermanently keeping or discarding tested edges

Page 6: RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory

Receding edgesReceding edges

► often provide useful information → worth keepingoften provide useful information → worth keeping► RRTRRT does not allow receding edges does not allow receding edges► RRT-CTRRT-CT† allows receding edges, but does not allows receding edges, but does not

guard against resultant re-explorationguard against resultant re-exploration

† P.Cheng & S.M.LaValle, Reducing Metric Sensitivity in Randomized Trajectory Design, IROS 2001

Page 7: RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory

Re-explorationRe-exploration(“regression”)(“regression”)

► RRTRRT guarantees no guarantees no edge/node overlapedge/node overlap

► receding edges break this receding edges break this guaranteeguarantee

► now possible: multiple tree now possible: multiple tree nodes exploring same spacenodes exploring same space

► re-exploration = wasted effort re-exploration = wasted effort (often huge!)(often huge!)

Page 8: RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory

Preventing re-explorationPreventing re-exploration► generally, re-exploration non-trivial to detectgenerally, re-exploration non-trivial to detect► approximation that works well:approximation that works well:

► prevention: do not prevention: do not instantiate edges which instantiate edges which satisfy the abovesatisfy the above

edge regresses if its leaf node is closer to a tree node other than its parent

Page 9: RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory

BlossomingBlossoming► instantiate instantiate allall valid edges out of chosen node valid edges out of chosen node► avoids duplicate edge computation and testingavoids duplicate edge computation and testing► RRTRRT: “memoryless”: “memoryless”

recomputes good & bad edgesrecomputes good & bad edges► RRT-CTRRT-CT: remembers only bad edges: remembers only bad edges

recomputes good edgesrecomputes good edges► RRT-BlossomRRT-Blossom: “remembers” all edges: “remembers” all edges

by instantiating all valid edges out of node, no need by instantiating all valid edges out of node, no need to remember anythingto remember anything

Page 10: RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory

Viability issueViability issue► dead-end branches can “block” needed edgesdead-end branches can “block” needed edges

can prevent discovery of solution!can prevent discovery of solution!► fix for re-exploration check:fix for re-exploration check:

ignore such nonviable branchesignore such nonviable branches► viability discovered on-the-flyviability discovered on-the-fly

Page 11: RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory

Experiments: agentsExperiments: agents

point car bike

kinematic kinodynamic

Page 12: RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory

Experiments: terrainsExperiments: terrains

T

complex

rooms

tunnel

Page 13: RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory

Results: pointResults: point(holonomic)(holonomic)

Page 14: RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory

Results: carResults: car(nonholonomic)(nonholonomic)

Page 15: RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory

Results: bikeResults: bike(kinodynamic)(kinodynamic)

Page 16: RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory

Take-awayTake-away►RRT-BlossomRRT-Blossom: more robust RRT: more robust RRT

highly-constrained terrain → big speeduphighly-constrained terrain → big speedup deep local minima → big speedupdeep local minima → big speedup regular terrain → comparable performanceregular terrain → comparable performance

►performs well in both settingsperforms well in both settings kinematickinematic kinodynamickinodynamic

►more atmore athttp://www.dgp.toronto.edu/~mac/rrt-blossom/http://www.dgp.toronto.edu/~mac/rrt-blossom/