cs b659: principles of intelligent robot motion

48
CS B659: Principles of Intelligent Robot Motion Configuration Space

Upload: addison-oneil

Post on 03-Jan-2016

38 views

Category:

Documents


4 download

DESCRIPTION

CS B659: Principles of Intelligent Robot Motion. Configuration Space. Readings. Ch 3.1-3.4 A Simple Motion-Planning Algorithm for General Robot Manipulators , T. Lozano-Perez, 1987. * Spatial Planning: a Configuration Space Approach , T. Lozano-Perez, 1980. Agenda. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CS B659: Principles of Intelligent Robot Motion

CS B659: Principles of Intelligent Robot Motion

Configuration Space

Page 2: CS B659: Principles of Intelligent Robot Motion

Readings

Ch 3.1-3.4 A Simple Motion-Planning Algorithm for General

Robot Manipulators, T. Lozano-Perez, 1987. * Spatial Planning: a Configuration Space

Approach, T. Lozano-Perez, 1980.

Page 3: CS B659: Principles of Intelligent Robot Motion

Agenda

Introduce configuration spaces (C-spaces)Topology of C-spacesMapping obstacles into C-space

Discuss semester project ideas Reading schedule

Page 4: CS B659: Principles of Intelligent Robot Motion

Motion Planning Framework

Continuous representation(configuration space and related spaces + constraints)

Discretization(random sampling, criticality-based decomposition)

Graph searching(blind, best-first, A*)

Page 5: CS B659: Principles of Intelligent Robot Motion

Robots have different shapes and kinematics! What is a path?

Page 6: CS B659: Principles of Intelligent Robot Motion

Idea: Reduce robot to a point Configuration Space

Feasible space

Forbidden space

Page 7: CS B659: Principles of Intelligent Robot Motion

Configuration Space

q=(q1,…,qn)

qq11qq22

qq33

qqnn

A robot configuration is a specification of the positions of all robot points relative to a fixed coordinate system

Usually a configuration is expressed as a “vector” of parameters

Page 8: CS B659: Principles of Intelligent Robot Motion

reference point

Rigid Robot

3-parameter representation: q = (x,y,) In a 3-D workspace q would be of the form

(x,y,z,)

x

y

robot reference direction

workspace

Page 9: CS B659: Principles of Intelligent Robot Motion

Articulated Robot

qq11

qq22

q = (q1,q2,…,q10)

Page 10: CS B659: Principles of Intelligent Robot Motion

Protein

Page 11: CS B659: Principles of Intelligent Robot Motion

Configuration Space Space of all its possible configurations But the topology of this space is usually

not that of a Cartesian space

y

robot

x

q

q’

3-D cylinder embedded in 4-D space

x

y

2

S1

R2S1

Page 12: CS B659: Principles of Intelligent Robot Motion

Configuration Space Space of all its possible configurations But the topology of this space is usually

not that of a Cartesian space

C = S1 x S1

Page 13: CS B659: Principles of Intelligent Robot Motion

Configuration Space Space of all its possible configurations But the topology of this space is usually

not that of a Cartesian space

C = S1xS1

Page 14: CS B659: Principles of Intelligent Robot Motion

Configuration Space Space of all its possible configurations But the topology of this space is usually

not that of a Cartesian space

C = S1xS1

Page 15: CS B659: Principles of Intelligent Robot Motion

What is its topology?

qq11

qq22

(S1)7xI3

(I: Interval of reals)

Page 16: CS B659: Principles of Intelligent Robot Motion

Structure of Configuration Space

It is a manifold, i.e., for each point q, there is a 1-to-1 map between a neighborhood of q and a Cartesian space Rn, where n is the dimensionality of C

This map is a local coordinate system called a chart.

C can always be covered by a finite number of charts. Such a set is called an atlas

Page 17: CS B659: Principles of Intelligent Robot Motion

Example: A sphere

Page 18: CS B659: Principles of Intelligent Robot Motion

reference point

Rigid Robot in 2-D Workspace

3-parameter representation: q = (x,y,)with [0,2). Two charts are needed

Other representation: = (x,y,cos,sin)c-space is a 3-D cylinder R2 x S1 embedded in a 4-D space

x

y

robotreference direction

workspace

Page 19: CS B659: Principles of Intelligent Robot Motion

Rigid Robot in 3-D Workspace q = (x,y,z,)

Other representation: q = (x,y,z,r11,r12,…,r33) where r11, r12, …, r33 are the elements of rotation matrix R: r11 r12 r13

r21 r22 r23

r31 r32 r33

with: ri1

2+ri22+ri3

2 = 1ri1rj1 + ri2r2j + ri3rj3 = 0det(R) = +1

Page 20: CS B659: Principles of Intelligent Robot Motion

Rigid Robot in 3-D Workspace q = (x,y,z,)

Other representation: q = (x,y,z,r11,r12,…,r33) where r11, r12, …, r33 are the elements of rotation matrix R: r11 r12 r13

r21 r22 r23

r31 r32 r33

with: ri1

2+ri22+ri3

2 = 1ri1rj1 + ri2r2j + ri3rj3 = 0det(R) = +1

The c-space is a 6-D space (manifold) embedded in a 12-D Cartesian space. It is denoted by R3xSO(3)

Page 21: CS B659: Principles of Intelligent Robot Motion

Parameterization of SO(3) Euler angles: (

Unit quaternion: (cos /2, n1sin /2, n2sin /2, n3sin /2)

xx

y

zz

xxyy

zz

x

y

z

xx

yy

zz

1 2 3 4

Page 22: CS B659: Principles of Intelligent Robot Motion

Parameterization of SO(3) Euler angles: (

Unit quaternion: (cos /2, n1sin /2, n2sin /2, n3sin /2)

xx

y

zz

xxyy

zz

x

y

z

xx

yy

zz

1 2 3 4

More on this next week…

Page 23: CS B659: Principles of Intelligent Robot Motion

Notion of a Path

A path in C is a piece of continuous curve connecting two configurations q and q’:

: s [0,1] (s) C

q1

q3

q0

qn

q4

q2

(s)

Page 24: CS B659: Principles of Intelligent Robot Motion

Notion of Trajectory vs. Path

A trajectory is a path parameterized by time: : t [0,T] (t) C

q1

q3

q0

qn

q4

q2

(s)

Page 25: CS B659: Principles of Intelligent Robot Motion

x

y

reference point

robotreference direction

workspace

x

y

2

configuration space

What is the placement of the robot in the workspace at configuration (0,0,0)?

Translating & Rotating Rigid Robot in 2-D Workspace

Page 26: CS B659: Principles of Intelligent Robot Motion

x

y

reference point

robotreference direction

workspace

x

y

2

configuration space

What is the placement of the robot in the workspace at configuration (0,0,0)?

Translating & Rotating Rigid Robot in 2-D Workspace

Page 27: CS B659: Principles of Intelligent Robot Motion

x

y

reference point

robotreference direction

workspace

x

y

2

configuration space

What is this path in the workspace?

What would be the path in configuration space corresponding to a full rotation of the robot about point P?

P

Translating & Rotating Rigid Robot in 2-D Workspace

Page 28: CS B659: Principles of Intelligent Robot Motion

Every robot maps to a point in its configuration space ...

q1

q3

q0

qn

q4

12 D

~65-120 D

6 D

15 D ~40 D

Page 29: CS B659: Principles of Intelligent Robot Motion

... and every robot path is a curve in configuration space

q1

q3

q0

qn

q4

Page 30: CS B659: Principles of Intelligent Robot Motion

But how do obstacles (and other constraints) map in configuration space?

q1

q3

q0

qn

q4

12 D

~65-120 D

6 D

15 D ~40 D

Page 31: CS B659: Principles of Intelligent Robot Motion

Obstacles in C-Space A configuration q is collision-free, or free, if the

robot placed at q has null intersection with the obstacles in the workspace

The free space F is the set of free configurations A C-obstacle is the set of configurations where the

robot collides with a given workspace obstacle A configuration is semi-free if the robot at this

configuration touches obstacles without overlap

Page 32: CS B659: Principles of Intelligent Robot Motion

Disc Robot in 2-D WorkspaceWorkspace W Configuration space C

x

y

configuration = coordinates (x,y) of robot’s centerconfiguration space C = {(x,y)}free space F = subset of collision-free configurations

path

Page 33: CS B659: Principles of Intelligent Robot Motion

Translating Polygon in 2-D Workspace

referencepoint

Page 34: CS B659: Principles of Intelligent Robot Motion

CB = B A = {b-a | aA, bB}

a1

b1

b1-a1

Page 35: CS B659: Principles of Intelligent Robot Motion

Linear-Time Computation

(convex polygons)

O(n+m)

Page 36: CS B659: Principles of Intelligent Robot Motion

Translating & Rotating Polygon in 2-D Workspace

Page 37: CS B659: Principles of Intelligent Robot Motion

Articulated Robot

Page 38: CS B659: Principles of Intelligent Robot Motion

Some constraints can’t be modeled as C-Space obstacles Differential constraints: smoothness, finite

curvature, drift, etc… Global constraints: finite length, power

consumption, etc…

Page 39: CS B659: Principles of Intelligent Robot Motion

Remark on Free-Space Topology The robot and the obstacles are modeled as

closed subsets, meaning that they contain their boundaries

One can show that the C-obstacles are closed subsets of the configuration space C as well

Consequently, the free space F is an open subset of C. Hence, each free configuration is the center of a ball of non-zero radius entirely contained in F

Page 40: CS B659: Principles of Intelligent Robot Motion

Homotopic Paths Two paths with the same endpoints are

homotopic if one can be continuously deformed into the other

RxS1 example:

t1 and t2 are homotopic

t1 and t3 are not homotopic In this example, infinity of homotopy classes

q

q’

t1t2

t3

Page 41: CS B659: Principles of Intelligent Robot Motion

Connectedness of C-Space C is connected if every two configurations can be

connected by a path C is simply-connected if any two paths connecting

the same endpoints are homotopicExamples: R2 or R3

Otherwise C is multiply-connectedExamples: S1 and SO(3) are multiply-connected:- In S1, infinity of homotopy classes- In SO(3), only two homotopy classes

Page 42: CS B659: Principles of Intelligent Robot Motion

Recap

Configuration space:Tool to map a robot in a 2-D or 3-D

workspace into a point in n-D space Mapping obstacles into C-space

Page 43: CS B659: Principles of Intelligent Robot Motion

Schedule

1/21: Probabilistic roadmap planning 1/26: Rigid transforms & collision detection 1/28: Forward & inverse kinematics

2 slots 2/2, 2/4: project discussions 2/9, 2/11: Nonholonomic systems

3 slots

Page 44: CS B659: Principles of Intelligent Robot Motion

Project Proposal

Due 1/28 for each group 1-2 paragraphs on proposed topic

Page 45: CS B659: Principles of Intelligent Robot Motion

Notions of Continuity

Path continuity (geometric, or C0) For all s, d((s),(s’)) -> 0 as s’->s

Trajectory continuity (geometric, or C0) For all t, d((t),(t’)) -> 0 as t’->t

Higher order continuity C1: For all t, ’(t) is well defined

C2: For all t, ’’(t) is well defined

Page 46: CS B659: Principles of Intelligent Robot Motion

Metric in Configuration Space

A metric or distance function d in C is a map d: (q1,q2) C2 d(q1,q2) > 0

such that:d(q1,q2) = 0 if and only if q1 = q2

d(q1,q2) = d (q2,q1)

d(q1,q2) < d(q1,q3) + d(q3,q2)

Page 47: CS B659: Principles of Intelligent Robot Motion

Metric in Configuration SpaceExample: Robot A and point x of A x(q): location of x in the workspace when A is at

configuration q A distance d in C is defined by:

d(q,q’) = maxxA ||x(q)-x(q’)||

where ||a - b|| denotes the Euclidean distance between points a and b in the workspace

Page 48: CS B659: Principles of Intelligent Robot Motion

Specific Examples in R2 x S1

q = (x,y,), q’ = (x’,y’,’) with ’ [0,2) = min{|’| , 2|’|}

d(q,q’) = sqrt[(x-x’)2 + (y-y’)2 + 2] d(q,q’) = sqrt[(x-x’)2 + (y-y’)2 + ()2]

where is the maximal distance between the reference point and a robot point

’’