Kinodynamic Path Planning: Aisha Walcott, Nathan Ickes, Stanislav Funiak
Kinodynamic Path Planning: Aisha Walcott, Nathan Ickes, Stanislav Funiak
Kinodynamic Path Planning: Aisha Walcott, Nathan Ickes, Stanislav Funiak
Using PRM
1. Construct roadmap
2. A* finds path in
roadmap
3. Must derive control
inputs from path
Path itself is not enough:
need control inputs
Cannot always execute
an arbitrary path
Have inertia
Have limited controlability
Have limited sensors
Face a dynamic environment
Face an unreliable environment
Outline
Outline
Obstacle
Xric Xcoll
Constraints on Maneuvering
Not all degrees of freedom are controllable
Consider a steerable car
System has 3 dof (x, y, ),
but only one controllable
dof (steering angle)
.
Equation. of Motion: G( s, s ) = 0
Constraint is a function of state and time derivative
of state
Constraints on Maneuvering
Nonholonomic: fewer controllable DOFs
than total DOFs
Nonholonomic systems cannot execute an
arbitrary path in configuration space
This is a problem for PRM and other
configuration space planners
Outline
Problem
Kinodynamic motion planning amidst
moving obstacles with known trajectories
Example: Asteroid avoidance problem
Known trajectories
Moving Obstacles
Asteroids
Docking station
http://antwrp.gsfc.nasa.gov/apod/astropix.html
MOP Overview
Similar to PRM, except
Does not pre-compute the roadmap
Incrementally constructs the roadmap by
extending it from existing nodes
Roadmap is a directed tree rooted at initial
state time point and oriented along time
axis
MOP Overview
For each query, the planner incrementally
builds new roadmap in state time space
Why? The environment includes moving
Randomly choose an
existing node
2.
Nodes
Select control
input u at random
(state, time)
3.
4.
Integrate equations of
motion
Randomly choose
existing node
Collision- free?
Collision-free trajectory
u
Store control input u
with new edge
Solution Trajectory
1.
2.
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 attained
Obeys the dynamic constraints
Each iteration:
1. Select an existing node (s, t) in the roadmap at
random
2. Select control input u at random
3. Select integration time at random from [0, max ]
Space
bin 1
bin 8
...
*bins store roadmap nodes
that lie in their region
.
.
.
bin 5
bin 6
...
bin 7
Array
Create an array of
bins
Equal-sized bins
Existing nodes
bin 1
bin 2
bin 3 .
bin 1
bin 2
bin 3 .
Demonstration of MOP
Pointmass robot moving
in a plane
State s = (x, y, x, y )
(sgoal , tgoal)
Moving obstacles
Point-mass robot
(sstart , tstart)
Static obstacle
Demonstration of MOP
Summary
MOP algorithm incrementally builds a roadmap in
the statetime space
The roadmap is a directed tree oriented along the
time axis
By including time the planner is able to generate a
solution trajectory that
avoids moving and static obstacles
obeys the dynamic constraints
Outline
How it Works
Build a rapidly-exploring random tree in
state space (X), starting at sstart
Stop when tree gets sufficiently close to sgoal
Goal
Start
Building an RRT
To extend an RRT:
Pick a random point a
in X
Find b, the node of the
tree closest to a
Find control inputs u to
steer the robot from b
to a
b
a
Building an RRT
To extend an RRT (cont.)
Apply control inputs u
for time , so robot
reaches c
If no collisions occur
in getting from a to c,
add c to RRT and
record u with new edge
u
c
b
a
Principle Advantage
RRT quickly
explores the state
space:
Nodes most likely
to be expanded are
those with largest
Voronoi regions
Goal-biased RRT
BIASED_RANDOM_STATE()
1 toss COIN_TOSS()
2 if toss = heads then
3
Return sgoal
4 else
5
Return RANDOM_STATE()
Goal-biased RRT
local minima
Bidirectional Planners
Build two RRTs, from start and goal state
Demos
Holonomic
Removing an object from a cage
Nonholonomic/kinodynamic
Steerable car moving in forward direction
Car with limited controllability
Conclusions
Path planners for real-world robots must
account for dynamic constraints
Building the roadmap tree incrementally
ensures that the kinodynamic constraints are
satisfied
avoids the need to reconstruct control inputs
from the path
allows extensions to moving obstacles problem
Conclusions
MOP and RRT planners are similar
Well-suited for single-query problems
RRTs benefit from the ability to steer a
robot toward a point
RRTs explore the state more uniformly
RRTs can be biased towards a goal or to grow
into another RRT