car-like robot: how to park a car? (nonholonomic planning)

24
Car-Like Robot: How to Park a Car? (Nonholonomic Planning) 1

Upload: sinjin

Post on 19-Jan-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Car-Like Robot: How to Park a Car? (Nonholonomic Planning). Types of Path Constraints. Local constraints: e.g., lie in free space Differential constraints: e.g., have bounded curvature Global constraints: e.g., have minimal length. Types of Path Constraints. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

Car-Like Robot:How to Park a Car? (Nonholonomic Planning)

1

Page 2: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

Types of Path Constraints

Local constraints: e.g., lie in free space

Differential constraints: e.g., have bounded

curvature Global constraints:

e.g., have minimal length

2

Page 3: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

Types of Path Constraints

Local constraints: e.g., lie in free space

Differential constraints: e.g., have bounded

curvature Global constraints:

e.g., have minimal length

3

Page 4: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

Car-Like Robot

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

4

yy

xx

L

Page 5: Car-Like Robot: How to Park a Car? (Nonholonomic 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 6: Car-Like Robot: How to Park a Car? (Nonholonomic 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: Car-Like Robot: How to Park a Car? (Nonholonomic 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

| < dx sin – dy cos = 0

Page 8: Car-Like Robot: How to Park a Car? (Nonholonomic 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: Car-Like Robot: How to Park a Car? (Nonholonomic 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 10: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

Type 2 Maneuver

Allows pure rotation10

Page 11: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

Combination dq

dq

(x1, y1, 0+)

(x3, y3, 0)

(x2, y2, 0+)

(x0, y0, 0)

d

11

Page 12: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

Combination

12

Page 13: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

Coverage of a Path by Cylinders

x

y

+q q’

Path created ignoring the car constraints 13

Page 14: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

Path Examples

14

Page 15: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

Drawbacks

Final path can be far from optimal

Not applicable to car that can only move forward (e.g., think of an airplane)

15

Page 16: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

Reeds and Shepp Paths

Page 17: Car-Like Robot: How to Park a Car? (Nonholonomic 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 18: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

Example of Generated Path

Holonomic

Nonholonomic

Page 19: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

Other Technique: Control-Based Sampling

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

| <

dx sin – dy cos = 0

1. Select a node m2. Pick v, , and dt3. Integrate motion from mnew configuration

19

Page 20: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

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.

Other Technique: Control-Based Sampling

Page 21: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

Computed Paths

max=45o, min=22.5o

Car That Can Only Turn Left

max=45o

Tractor-trailer

21

Page 22: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

Application

22

Page 23: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

Architectural Design: Verification of Building

Code

C. Han23

Page 24: Car-Like Robot: How to Park a Car? (Nonholonomic Planning)

Other “Similar” Robots/Moving Objects

(Nonholonomic) Rolling-with-no-sliding

contact (friction), e.g.: car, bicycle, roller skate

Submarine, airplane

Conservation of angular momentum: satellite robot, under-actuated robot, cat

Why is it useful?- Fewer actuators: design simplicity, less weight- Convenience (think about driving a car with 3

controls!) 24