Top Banner
CS 326A: Motion Planning ai.stanford.edu/~latombe/cs326/2007/index.htm Non-Holonomic Motion Planning
33

CS 326A: Motion Planning

Jan 19, 2016

Download

Documents

Eros

CS 326A: Motion Planning. ai.stanford.edu/~latombe/cs326/2007/index.htm Non-Holonomic Motion Planning. Under-Actuated 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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CS 326A: Motion Planning

CS 326A: Motion Planningai.stanford.edu/~latombe/cs326/2007/index.htm

Non-Holonomic Motion Planning

Page 2: CS 326A: Motion Planning

Under-Actuated 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 326A: 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 326A: Motion Planning

Example: Car-Like Robot

yy

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

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

L

dx/dt = v cosdy/dt = v sin

ddt = (v/L) tan

| <

dx sin – dy cos = 0

Page 5: CS 326A: Motion Planning

Example: Car-Like Robot

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 cosdy/dt = v sin

ddt = (v/L) tan

| <

dx sin – dy cos = 0

yy

xx

L

Page 6: CS 326A: Motion Planning

Example: Car-Like Robot

dx/dt = v cosdy/dt = v sin

ddt = (v/L) tan

| <

dx sin – dy cos = 0

yy

xx

L

Lower-bounded turning radius

Page 7: CS 326A: Motion Planning

How Can This Work?Tangent Space/Velocity

Space

x

y

(x,y,)

(dx,dy,d)

(dx,dy)

yy

xx

L

dx/dt = v cosdy/dt = v sin

ddt = (v/L) tan

| <

Page 8: CS 326A: Motion Planning

x

y

(x,y,)

(dx,dy,d)

(dx,dy)dx/dt = v cosdy/dt = v sin

ddt = (v/L) tan

| <

yy

xx

L

How Can This Work?Tangent Space/Velocity

Space

Page 9: CS 326A: Motion Planning

Lie Bracket

Maneuver made of 4 motions

X (t)

Y

-X

-Y

Page 10: CS 326A: Motion Planning

Lie Bracket

Maneuver made of 4 motionsFor example:

dx/dt = v cosdy/dt = v sin

ddt = (v/L) tan

| <

X: Going straight

Y: Turning, angle

0,sin,cos X

tan,sin,cos

LY

T

T

Page 11: CS 326A: Motion Planning

Maneuver made of 4 motionsFor example:

X (t)

Y

-X

-Y

[X,Y] (t2 )

Lie bracket

Lie Bracket

X: Going straight

Y: Turning, angle

0,sin,cos X

tan,sin,cos

LY

T

T

Page 12: CS 326A: Motion Planning

[X,Y] = dY.X – dX.Y

X1/x X1/y X1/

dX = X2/x X2/y X1/

X2/x X2/y X2/

X (t)

Y

-X

-Y

[X,Y] (t2 )

Lie bracket

Lie Bracket

[X,Y] Lin(X,Y) the motion constraint is nonholonomic

Page 13: CS 326A: Motion Planning

Tractor-Trailer Example

4-D configuration space 2-D control/velocity space two independent

velocity vectors X and Y U = [X,Y] Lin(X,Y) V = [X,U] Lin(X,Y,U)

Page 14: CS 326A: Motion Planning

Nonholonomic Path Planning Approaches

Two-phase planning (path deformation):• Compute collision-free path ignoring nonholonomic

constraints• Transform this path into a nonholonomic one• Efficient, but possible only if robot is “controllable”• Need for a “good” set of maneuvers

Direct planning (control-based sampling):• Use “control-based” sampling to generate a tree of

milestones until one is close enough to the goal (deterministic or randomized)

• Robot need not be controllable• Applicable to high-dimensional c-spaces

Page 15: CS 326A: Motion Planning

Path DeformationHolonomic path

Nonholonomic path

Page 16: CS 326A: Motion Planning

Type 1 Maneuver

Allows sidewise motion

dq

dq

(x1, y1, 0+)

(x3, y3, 0)

(x2, y2, 0+)

(x0, y0, 0)

d

(x,y)

q

CYL(x,y,,)

= 2tand = 2(1/cos1) > 0

(x,y,)

When 0, so does d and the cylinder becomes arbitrarily small

Page 17: CS 326A: Motion Planning

Type 2 Maneuver

Allows pure rotation

Page 18: CS 326A: Motion Planning

Combination

Page 19: CS 326A: Motion Planning

Coverage of a Path by Cylinders

x

y

+q q’

Page 20: CS 326A: Motion Planning

Path Examples

Page 21: CS 326A: 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 22: CS 326A: Motion Planning

Reeds and Shepp Paths

Page 23: CS 326A: Motion Planning

Reeds and Shepp Paths

CC|C0 CC|C C|CS0C|C

Given any two configurations,the shortest RS paths betweenthem is also the shortest path

Page 24: CS 326A: Motion Planning

Example of Generated Path

Holonomic

Nonholonomic

Page 25: CS 326A: Motion Planning

Path Optimization

Page 26: CS 326A: Motion Planning

Nonholonomic Path Planning Approaches

Two-phase planning (path deformation):• Compute collision-free path ignoring nonholonomic

constraints• Transform this path into a nonholonomic one• Efficient, but possible only if robot is “controllable”• Need for a “good” set of maneuvers

Direct planning (control-based sampling):• Use “control-based” sampling to generate a tree of

milestones until one is close enough to the goal (deterministic or randomized)

• Robot need not be controllable• Applicable to high-dimensional c-spaces

Page 27: CS 326A: Motion Planning

Control-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. If the motion is collision-free, then the

endpoint is the new milestone

Tree-structured roadmaps Need for endgame regions

Page 28: CS 326A: Motion Planning

Example

1. Select a milestone m2. Pick v, , and t3. Integrate motion from m new milestone m’

dx/dt = v cosdy/dt = v sin

ddt = (v/L) tan

| <

Page 29: CS 326A: Motion Planning

Example Indexing array: A 3-D grid is placed over the configuration space. Each milestone falls into one cell of the grid. A maximum number of milestones is allowed in each cell (e.g., 2 or 3).

Asymptotic completeness: If a path exists, the planner is guaranteed to find one if the resolution of the grid is fine enough.

Page 30: CS 326A: Motion Planning

Computed Paths

Page 31: CS 326A: Motion Planning

Computed Paths

max=45o, min=22.5o

Car That Can Only Turn Left

max=45o

Tractor-trailer

Page 32: CS 326A: Motion Planning

Application

Page 33: CS 326A: Motion Planning

SummaryTwo planning approaches:

Path deformation: Fast but paths can be far from optimal. Restricted to “controllable” robots.

Control-based sampling: Can generate better paths, but slower. Can be scaled to higher dimensional space using probabilistic sampling techniques (next lecture)