Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... ·...

83
16.412/6.834J Cognitive Robotics February 7 th , 2005 Probabilistic Methods for Kinodynamic Path Planning Lecturer: Prof. Brian C. Williams Based on Past Student Lectures by: Paul Elliott, Aisha Walcott, Nathan Ickes and Stanislav Funiak

Transcript of Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... ·...

Page 1: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

16.412/6.834J Cognitive Robotics February 7th, 2005

Probabilistic Methods for Kinodynamic Path Planning

Lecturer:Prof. Brian C. Williams

Based on Past Student Lectures by:Paul Elliott, Aisha Walcott, Nathan Ickes and Stanislav Funiak

Page 2: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

How do we maneuver or manipulate?

courtesy NASA JSC

courtesy NASA Ames

Page 3: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Outline

Roadmap path planningProbabilistic roadmapsPlanning in the real worldPlanning amidst moving obstaclesRRT-based plannersConclusions

Page 4: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Outline

• Roadmap path planning• Probabilistic roadmaps• Planning in the real world• Planning amidst moving obstacles• RRT-based planners• Conclusions

Brian Williams, Fall 03

Page 5: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Path Planning through Obstacles

Startposition

GoalpositionBrian Williams, Fall 03

Page 6: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

1. Create Configuration Space

Brian Williams, Fall 03

Startposition

Goalposition

Idea: Transform to equivalent problem of navigating a point.

Assume: Vehicle translates, but no rotation

Page 7: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

2. Map From Continuous Problem to a Roadmap: Create Visibility Graph

Startposition

GoalpositionBrian Williams, Fall 03

Page 8: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Startposition

2. Map From Continuous Problem to a Roadmap: Create Visibility Graph

GoalpositionBrian Williams, Fall 03

Page 9: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

3. Plan Shortest PathStart

position

GoalpositionBrian Williams, Fall 03

Page 10: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Startposition

Resulting Solution

GoalpositionBrian Williams, Fall 03

Page 11: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

A Visibility Graph is One Kind of Roadmap

Startposition

What are some other types of roadmaps?

GoalpositionBrian Williams, Fall 03

Page 12: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Roadmaps: Voronoi Diagrams

Brian Williams, Fall 03

Lines equidistant from CSpace obstacles

Page 13: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Roadmaps: Approximate Fixed Cell

Brian Williams, Fall 03

Page 14: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Roadmaps: Approximate Fixed Cell

Brian Williams, Fall 03

Page 15: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Roadmaps: Exact Cell Decomposition

Brian Williams, Fall 03

Page 16: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Potential Functions Khatib 1986Latombe 1991Koditschek 1998

Attractive Potentialfor goals

Repulsive Potentialfor obstacles

Combined PotentialField

Move along force: F(x) = ∇Uatt(x)-∇Urep(x)Brian Williams, Fall 03

Page 17: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Exploring Roadmaps

• Shortest path– Dijkstra’s algorithm– Bellman-Ford algorithm– Floyd-Warshall algorithm– Johnson’s algorithm

• Informed search– Uniform cost search– Greedy search– A* search– Beam search– Hill climbing

Brian Williams, Fall 03

Page 18: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Robonaut Teamwork: Tele-robotic

Brian Williams, Fall 03

•High dimensional state space•Controllability and dynamics•Safety and compliance

Page 19: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Outline

Roadmap path planningProbabilistic roadmapsPlanning in the real worldPlanning amidst moving obstaclesRRT-based plannersConclusions

Page 20: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Applicability of Lazy Probabilistic Road Maps

to Portable Satellite Assistant

By Paul Elliott

Page 21: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

courtesy NASA Ames

Page 22: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Zvezda Service Module

Idea: Probabilistic Roadmaps• Search randomly generated roadmap• Probabilistically complete• Trim infeasible edges and nodes lazily

Page 23: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Place Start and Goal

Goal

Start

Page 24: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Place Nodes Randomly

Page 25: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Select a Set of Neighbors

Page 26: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

A* Search

16

18

18

21

2

Page 27: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

A* Search

Page 28: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

A* Search

Page 29: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Check Feasible Nodes

Page 30: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Check Feasible Nodes

Page 31: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Check Feasible Nodes

Page 32: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

A* Search

Page 33: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Check Feasible Edges

Page 34: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

A* Search

Page 35: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Lazy PRM AlgorithmBuild Roadmap

Start and Goal NodesUniform Dist NodesNearest Neighbors

qinit, qgoalBuild Roadmap

Shortest Path (A*)

Node Enhancement

Remove Colliding node/edge No path found

Check NodesCollision

Check EdgesCollision

Page 36: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Lazy PRM AlgorithmShortest Path (A*)

Heuristic = distance to the goalPath length = distance between nodes

qinit, qgoalBuild Roadmap

Shortest Path (A*)

Node Enhancement

Remove Colliding node/edge

Check Nodes

Check Edges

Collision

Collision

No path found

Page 37: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Lazy PRM AlgorithmCheck Nodes & Edges

Search from Start and End for collisionsFirst check Nodes then Edges

qinit, qgoalBuild Roadmap

Shortest Path (A*)

Node Enhancement

Check Nodes

Check Edges

Remove Colliding node/edge

Collision

Collision

No path found

Page 38: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Lazy PRM AlgorithmRemove Node/Edge

For Nodes, remove all edgesFor Edges, just remove the edge

qinit, qgoalBuild Roadmap

Shortest Path (A*)

Node Enhancement

Check Nodes

Check Edges

Remove Colliding node/edge

Collision

Collision

No path found

Page 39: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Lazy PRM AlgorithmNode Enhancement

Add ½ uniformlyAdd ½ clustered around midpoints of removed edges

qinit, qgoalBuild Roadmap

Shortest Path (A*)

Node Enhancement

Remove Colliding node/edge No path found

Check NodesCollision

Check EdgesCollision

Page 40: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

PRMs Fall Short For Dynamical Systems

Using PRM1. Construct roadmap2. A* finds path in

roadmap3. Must derive control

inputs from path

Cannot always find inputs for an arbitrary path

Page 41: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Outline

Roadmap path planningProbabilistic roadmapsPlanning in the real worldPlanning amidst moving obstaclesRRT-based plannersConclusions

Page 42: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Path Planning in the Real World

Real World RobotsHave inertiaHave limited controllabilityHave limited sensorsFace a dynamic environmentFace an unreliable environment

Static planners (e.g. PRM) are not sufficient

Have limited sensors

Face an unreliable environment

Static planners (e.g. PRM) are not sufficient

Page 43: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Two Approaches to Path Planning

Kinematic: only concerned with motion, without regard to the forces that cause it

Works well: when position controlled directly.Works poorly: for systems with significant inertia.

Kinodynamic: incorporates dynamic constraintsPlans velocity as well as position

Page 44: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Representing Static State

Configuration space represents the position and orientation of a robotSufficient for static planners like PRM

x

y

θExample: Steerable car

Configuration space(x, y, θ)

Page 45: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Representing Dynamic State

State space incorporates robot dynamic stateAllows expression of dynamic constraintsDoubles dimensionality

x

y

θExample: Steerable car

State spaceX = (x, y, θ, x, y, θ)Constraints

•max velocity, min turn•car dynamics

...

Page 46: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Incorporating Dynamic Constraints

For some states, collision is unavoidableRobot actuators can apply limited force

Path planner should avoid these states

ObstacleImminent collision region

Page 47: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Regions in State Space

Collision regions: XcollClearly illegal

Region of Imminent Collision: XricWhere robot’s actuators cannot prevent a collision

Free Space: Xfree = X – (Xcoll + Xric)

Collision-free planning involves finding paths that lie entirely in Xfree

XcollXricXfree

Page 48: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Constraints on Maneuvering

Nonholonomic: Fewer controllable degrees of freedom then total degrees of freedom Example: steerable car

Equation of Motion: G( s, s ) = 0Constraint is a function of state and time derivative of state

3 dof (x, y, θ), but only1 controllable dof (steering angle)

..

Page 49: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Outline

Roadmap path planningProbabilistic roadmapsPlanning in the real worldPlanning amidst moving obstaclesRRT-based plannersConclusions

Page 50: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Problem

Kinodynamic motion planning amidst moving obstacles with known trajectoriesExample: Asteroid avoidance problemMoving Obstacle Planner (MOP)

Extension to PRM

Page 51: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

MOP Overview

Similar to PRM, exceptDoes not pre-compute the roadmapIncrementally constructs the roadmap by extending it from existing nodesRoadmap is a directed tree rooted at initial state × time point and oriented along time axis

Page 52: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Building the Roadmap

Nodes(state, time)

Collision- free?Randomly choose

existing node

1. Randomly choose an existing node

Select control input u at random

2. Randomly select control input u

3. Randomly select integration time interval δ ∈[0, δmax ]

Integrate equations of motion from an existing node with respect to u for some time interval δ

4. Integrate equations of motion

Page 53: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Building the Roadmap (cont.)

Collision-free trajectory

5. If edge is collision-free then

Store control input uwith new edge

u

6. Store control input with new edge

Add new node

7. Add new node to roadmap

Result: Any trajectory along tree satisfies motion constraints and is collision-free!

Nodes(state, time)

Page 54: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Solution Trajectory

Start state and time(sstart, tstart)

Goal state and time(sgoal, tgoal)

1. If goal is reached then2. Proceed backwards from

the goal to the start

Page 55: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

MOP details: Inputs and Outputs

Planning Query:Let (sstart , tstart ) denote the robot’s start point in the state × time space, and (sgoal , tgoal ) denote the goaltgoal ∈Igoal , where Igoal is some time interval in which the goal should be reached

Solution Trajectory:Finite sequence of fixed control inputs applied over a specified duration of time

Avoids moving obstacles by indexing each state with the time when it is attainedObeys the dynamic constraints

Page 56: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

MOP details: Roadmap Construction

Objective: obtain new node (s’, t’)s’ = the new state in the robot’s state spacet’ = t + δ, current time plus the integration time

Each iteration:1. Select an existing node (s, t) in the roadmap at

random2. Select control input u at random 3. Select integration time δ at random from [0, δmax ]

Page 57: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

MOP details: Roadmap Construction

3. Integrate control inputs over time interval4. Edge between (s, t) and (s’, t’) is checked

for collision with static obstacles and moving obstacles

5. If collision-free, store control input u with the new edge

6. (s’, t’) is accepted as new node

Page 58: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

MOP details: Uniform Distribution

Modify to Ensure Uniform Distribution of Space:Why? If existing roadmapnodes were selected uniformly, the planner would pick a node in an already densely sampled regionAvoid oversampling of any region by dividing the state×time space into bins

Page 59: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Achieving Uniform Node DistributionSpace

1. Equally divide space2. Denote each section

as a bin; number each bin

bin 1 bin 2 bin 3 bin 4 bin 5 bin 6 bin 7

bin 8 bin 9 bin 10 bin 11 bin 12 bin 13 bin 14

. . . . . ....*bins store roadmap nodes

that lie in their region

Page 60: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Achieving Uniform Node DistributionArray

Equal-sized bins

bin 1 bin 2 bin 3 ….Existing nodes

3. Create an array of bins

Page 61: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Achieving Uniform Node Distribution

Planner randomly picks a bin with at least one node

At that bin, the planner picks a node at random

bin 1 bin 2 bin 3 ….

Page 62: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Achieving Uniform Node Distribution

Insert new node into its corresponding bin

Page 63: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Demonstration of MOP

•Point–mass robot moving in a plane•State s = (x, y, , )

x•

y

(sstart , tstart)

(sgoal , tgoal)

Moving obstacles

Static obstacle

Point-mass robot

Page 64: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Demonstration of MOP

Page 65: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Summary

MOP algorithm incrementally builds a roadmap in the state×time spaceThe roadmap is a directed tree oriented along the time axisBy including time the planner is able to generate a solution trajectory that

avoids moving and static obstaclesobeys the dynamic constraints

Bin technique to ensure that the space is explored somewhat uniformly

Page 66: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Outline

Roadmap path planningProbabilistic roadmapsPlanning in the real worldPlanning amidst moving obstaclesRRT-based plannersConclusions

Page 67: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Planning with RRTs

RRTs: Rapidly-exploring Random TreesSimilar to MOP

Incrementally builds the roadmap treeIntegrates the control inputs to ensure that the kinodynamic constraints are satisfied

Informed exploration strategy from MOPExtends to more advanced planning techniques

Page 68: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

How it Works

Build RRT in state space (X), starting at sstart

Stop when tree gets sufficiently close to sgoal

GoalStart

Page 69: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Building an RRT

To extend an RRT:Pick a random point ain XFind b, the node of the tree closest to aFind control inputs u to steer the robot from bto a

bu

a

Page 70: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Building an RRT

To extend an RRT (cont.)Apply control inputsu for time δ, so robot reaches cIf no collisions occur in getting from a to c, add c to RRT and record u with new edge

buc a

Page 71: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Executing the Path

Once the RRT reaches sgoalBacktrack along tree to identify edges that lead from sstart to sgoal

Drive robot using control inputs stored along edges in the tree

Page 72: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Principle Advantage

RRT quickly explores the state space:

Nodes most likely to be expanded are those with largest Voronoi regions

Page 73: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Advanced RRT Algorithms

1. Single RRT biased towards the goal

2. Bidirectional planners

3. RRT planning in dynamic environments

Page 74: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Example: Simple RRT Planner

Problem: ordinary RRT explores X uniformly→ slow convergence

Solution: bias distribution towards the goal

Page 75: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Goal-biased RRT

BIASED_RANDOM_STATE()1 toss ← COIN_TOSS()2 if toss = heads then3 Return sgoal4 else5 Return RANDOM_STATE()

Page 76: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Goal-biased RRT

Page 77: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

The world is full of…local minima

If too much bias, the planner may get trapped in a local minimum

A different strategy:Pick RRT point near sgoal

Based on distance from goal to the nearest v in GGradual bias towards sgoal

Rather slow convergence

Page 78: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Bidirectional Planners

Build two RRTs, from start and goal state

Complication: need to connect two RRTslocal planner will not work (dynamic constraints)bias the distribution, so that the trees meet

Page 79: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Bidirectional Planner Algorithm

Page 80: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Bidirectional Planner Example

Page 81: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Bidirectional Planner Example

Page 82: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Conclusions

Path planners for real-world robots must account for dynamic constraintsBuilding the roadmap tree incrementally

ensures that the kinodynamic constraints are satisfiedavoids the need to reconstruct control inputsfrom the pathallows extensions to moving obstaclesproblem

Page 83: Kinodynamic Path Planningweb.mit.edu/16.412j/www/html/lectures/L2_probabilistic... · 2005-02-07 · – Greedy search – A* search – Beam search – Hill climbing Brian Williams,

Conclusions

MOP and RRT planners are similarWell-suited for single-query problemsRRTs benefit from the ability to steer a robot toward a point

RRTs explore the state more uniformlyRRTs can be biased towards a goal or to grow into another RRT