41
CS 326 A: Motion CS 326 A: Motion Planning Planning http://robotics.stanford.edu/~latombe/cs326/2004 Kinodynamic Planning Kinodynamic Planning

CS 326 A: Motion Planning

  • Upload
    lorin

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

CS 326 A: Motion Planning. http://robotics.stanford.edu/~latombe/cs326/2004 Kinodynamic Planning. Underactuated Robots. Fewer controls than dimensions in configuration space What is a degree of freedom: number of dimensions of C-space (global) or number of controls (local)?. - PowerPoint PPT Presentation

Citation preview

Page 1: CS 326 A: Motion Planning

CS 326 A: Motion PlanningCS 326 A: Motion Planninghttp://robotics.stanford.edu/~latombe/cs326/2004

Kinodynamic PlanningKinodynamic Planning

Page 2: CS 326 A: Motion Planning

Underactuated RobotsUnderactuated Robots

Fewer controls than dimensions in configuration space What is a degree of freedom: number of dimensions of

C-space (global) or number of controls (local)?

Page 3: CS 326 A: Motion Planning

How can m controls generate span a C-space with n>m dimensions?

By exploiting mechanics properties:- Rolling-with-no-sliding contact (friction), e.g.,: car, bicycle, roller skate- Conservation of angular momentum: satellite robot, under-actuated robot, cat- Others: submarine, plane, object pushing

Why is it useful?- Fewer actuators (less weight)- Design simplicity- Convenience (think about driving a car with 3 controls!)

Page 4: CS 326 A: Motion Planning

Example: Car-Like RobotExample: Car-Like Robot

yy

xx

Configuration space is 3-dimensional: q = (x, y, )

But control space is 2-dimensional: (v, ) with |v| = sqrt[(dx/dt)2+(dy/dt)2]

Ldx/dt = v cos dy/dt = v sin ddt = (v/L) tan

| <

dx sin – dy cos = 0

Page 5: CS 326 A: Motion Planning

Example: Car-Like RobotExample: Car-Like Robot

yy

xx

L

q = (x,y,)q’= dq/dt = (dx/dt,dy/dt,d/dt)dx sin – dy cos = 0 is a particular form of f(q,q’)=0

A robot is nonholonomic if its motion is constrained by a non-integrable equation of the form f(q,q’) = 0

dx/dt = v cos dy/dt = v sin ddt = (v/L) tan

| <

dx sin – dy cos = 0

Page 6: CS 326 A: Motion Planning

Example: Car-Like RobotExample: Car-Like Robot

yy

xx

L

Lower-bounded turning radius

dx/dt = v cos dy/dt = v sin ddt = (v/L) tan

| <

dx sin – dy cos = 0

Page 7: CS 326 A: Motion Planning

How Can This Work?How Can This Work?Tangent Space/Velocity Tangent Space/Velocity

SpaceSpace

x

y

(x,y,)

yy

xx

L

dx/dt = v cos dy/dt = v sin ddt = (v/L) tan

| <

dx sin – dy cos = 0

(dx,dy,d)

(dx,dy)

Page 8: CS 326 A: Motion Planning

How Can This Work?How Can This Work?Tangent Space/Velocity Tangent Space/Velocity

SpaceSpace

x

y

(x,y,)

yy

xx

L

dx/dt = v cos dy/dt = v sin ddt = (v/L) tan

| <

dx sin – dy cos = 0

(dx,dy,d)

(dx,dy)

Page 9: CS 326 A: Motion Planning

Nonholonomic Path Nonholonomic Path Planning ApproachesPlanning Approaches

Two-phase planning: (first paper) Compute collision-free path ignoring

nonholonomic constraints Transform this path into a nonholonomic one Efficient, but possible only if robot is “controllable” Plus need to have “good” set of maneuvers

Direct planning: (second paper) Build a tree of milestones until one is close

enough to the goal (deterministic or randomized) Robot need not be controllable Works in high-dimensional c-spaces

Page 10: CS 326 A: Motion Planning

Path TransformPath TransformHolonomic path

Nonholonomic path

Page 11: CS 326 A: Motion Planning

Coverage of a Path by Coverage of a Path by CylindersCylinders

x

y

+q

q’

Page 12: CS 326 A: Motion Planning

Type 1 ManeuverType 1 Maneuver

Allows sidewise motion

dqdq

(x1, y1, 0+)

(x3, y3, 0)

(x2, y2, 0+)

(x0, y0, 0)

d

CYL(x,y,,)

= 2/cosd = 2(1/cos - 1)

Page 13: CS 326 A: Motion Planning

Type 2 ManeuverType 2 Maneuver

Allows pure rotation

Page 14: CS 326 A: Motion Planning

CombinationCombination

Page 15: CS 326 A: Motion Planning

Coverage of a Path by Coverage of a Path by CylindersCylinders

x

y

+q

q’

Page 16: CS 326 A: Motion Planning

CombinationCombination

Page 17: CS 326 A: Motion Planning

Path ExamplesPath Examples

Page 18: CS 326 A: Motion Planning

Drawbacks of Two-phase planning

Final path can be far from optimal

Not applicable to robots that are not locally controllable (e.g., car that can only move forward)

Page 19: CS 326 A: Motion Planning

Control Lie AlgebraControl Lie AlgebraLie Bracket [X,Y] = Basic maneuver based on 4 motions

X (t)

Y

-X

-Y

Page 20: CS 326 A: Motion Planning

Control Lie AlgebraControl Lie AlgebraLie Bracket [X,Y] = Basic maneuver based on 4 motionsFor example: X: Going straight

Y: Turning, angle 0,sin,cos X

tan,sin,cos

LY

dx/dt = v cos dy/dt = v sin ddt = (v/L) tan

| <

dx sin – dy cos = 0

Page 21: CS 326 A: Motion Planning

Control Lie AlgebraControl Lie AlgebraLie Bracket [X,Y] = Basic maneuver based on 4 motionsFor example:

X (t)

Y

-X

-Y

[X,Y] (t2 )

X: Going straight

Y: Turning, angle 0,sin,cos X

tan,sin,cos

LY

Page 22: CS 326 A: Motion Planning

Control-Based SamplingControl-Based Sampling Previous sampling technique: Pick each

milestone in some region Control-based sampling:

1. Pick control vector (at random or not)2. Integrate equation of motion over short

duration (picked at random or not)3. The endpoint is the new milestone

Tree-structured roadmaps Need for endgame regions

Page 23: CS 326 A: Motion Planning

mb

mg

Control-Based SamplingControl-Based Samplingendgame region

Page 24: CS 326 A: Motion Planning

ExampleExample

dx/dt = v cos dy/dt = v sin ddt = (v/L) tan

| <

dx sin – dy cos = 0

1. Select a milestone m2. Pick v, , and t3. Integrate motion from mnew configuration

Page 25: CS 326 A: Motion Planning

Computed PathsComputed Paths

max=45o, min=22.5o

Car That Can Only Turn Left

max=45o

Tractor-trailer

Page 26: CS 326 A: Motion Planning

Another ExampleAnother Example

Cooperative load carryingCooperative load carrying(Grasp Lab - U. Penn)(Grasp Lab - U. Penn)

Page 27: CS 326 A: Motion Planning

Nonholonomic vs. Nonholonomic vs. Dynamic ConstraintsDynamic Constraints

Nonholonomic constraint: q’ = f(q,u)

where u is the control input (function of time), with dim(u) < dim(q)

dx/dt = v cos dy/dt = v sin ddt = (v/L) tan

| <

dx sin – dy cos = 0

u = (v, )

Page 28: CS 326 A: Motion Planning

Nonholonomic vs. Nonholonomic vs. Dynamic ConstraintsDynamic Constraints

Nonholonomic constraint: q’ = f(q,u)

where u is the control input (function of time), with dim(u) < dim(q)

Dynamic constraint: s = (q,q’), the state of the system s’ = f(s,u) where u is the control

input

Page 29: CS 326 A: Motion Planning

General Dynamic EquationGeneral Dynamic EquationFor an arbitrary mechanical linkage:u = M(q)q” + C(q,q’) + G(q) + F(q,q’)where:- M is the inertia matrix- C is the vector of centrifugal and Coriolis terms- G is the vector of gravity terms- F is the vector of friction terms+ constraints on u

Page 30: CS 326 A: Motion Planning

Nonholonomic vs. Nonholonomic vs. Dynamic ConstraintsDynamic Constraints

Nonholonomic constraint: q’ = f(q,u)

where u is the control input (function of time), with dim(u) < dim(q)

Dynamic constraint: s = (q,q’), the state of the system s’ = f(s,u) where u is the control input Similar techniques to handle nonholonomic and dynamic constraints (kinodynamic planning)

Page 31: CS 326 A: Motion Planning

““Space” Robot (ARL Space” Robot (ARL Lab)Lab)

air bearing

gas tankair thrusters

obstacles

robot

Page 32: CS 326 A: Motion Planning

Modeling of RobotModeling of Robot

xx

y

f q = (x,y)s = (q,q’)u = (f,)x” = (f/m) cosy” = (f/m) sinf fmax

s’ = F(s,u)

Page 33: CS 326 A: Motion Planning

mb

mg

PRM in State (x Time) PRM in State (x Time) SpaceSpace

The roadmap is a tree oriented along the time axis

endgame region

Page 34: CS 326 A: Motion Planning

Computed PathComputed Path

Mean planning time: .002 s Mean number of milestones: 22

Page 35: CS 326 A: Motion Planning

Another PathAnother Path

Mean planning time: .27s Mean number of milestones: 1946

Page 36: CS 326 A: Motion Planning

Example with ReplanningExample with Replanning

11 22 33

44 55 66

77

Page 37: CS 326 A: Motion Planning

Another Example with Another Example with ReplanningReplanning

Total duration : 40 sec

Page 38: CS 326 A: Motion Planning

mb

R(mb)

Endgame region

Expansive SpaceExpansive Space

m

Rw(M)RRww(m)(m)

lookout pointlookout

Page 39: CS 326 A: Motion Planning

Expansive SpaceExpansive SpaceVisibility Reachability

S

Visibility Reachability

Page 40: CS 326 A: Motion Planning

Optimality of a TrajectoryOptimality of a Trajectory

Often one seeks a trajectory that optimizes a given criterion, e.g.:– smallest number of backup maneuvers, – minimal execution time, – minimal energy consumption

Bobrow’s paper+ variational techniques

Page 41: CS 326 A: Motion Planning

Variational Path/Trajectory Variational Path/Trajectory OptimizationOptimization

Steepest descent technique. Parameterize the geometry of a trajectory,

e.g., by defining control points through which cubic spines are fitted.

Vary the parameters. For the new values re-compute the optimal control. If better value of criterion, vary further.

No performance guarantee regarding optimality of computed trajectory