Top Banner
CS 326 A: Motion CS 326 A: Motion Planning Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space Configuration Space
35

CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Dec 19, 2015

Download

Documents

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 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

CS 326 A: Motion PlanningCS 326 A: Motion Planningrobotics.stanford.edu/~latombe/cs326/2004/index.htm

Configuration SpaceConfiguration Space

Page 2: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

What is a Path?What is a Path?

Page 3: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Tool: Configuration SpaceTool: Configuration Space(C-Space C)(C-Space C)

Page 4: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

q=(q1,…,qn)

Configuration SpaceConfiguration Space

qq11

qq22

qq33

qqnn

Page 5: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

DefinitionDefinition

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 position/orientation parameters

Page 6: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

reference point

Rigid Robot ExampleRigid Robot Example

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

form (x,y,z,)

x

y

robotreference direction

workspace

Page 7: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Articulated Robot ExampleArticulated Robot Example

qq11

qq22

q = (q1,q2,…,q10)

Page 8: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Protein exampleProtein example

Page 9: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Configuration Space of a Configuration Space of a RobotRobot

Space of all its possible configurationsBut the topology of this space is usually not that of a Cartesian space

C = S1 x S1

Page 10: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Configuration Space of a Configuration Space of a RobotRobot

Space of all its possible configurationsBut the topology of this space is usually not that of a Cartesian space

C = S1 x S1

Page 11: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Configuration Space of a Configuration Space of a RobotRobot

Space of all its possible configurationsBut the topology of this space is usually not that of a Cartesian space

C = S1 x S1

Page 12: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

What is its Topology?What is its Topology?

qq11

qq22

(S1)7xR3

Page 13: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Structure of Configuration Structure of Configuration SpaceSpace

It is a manifoldFor each point q, there is a 1-to-1 map between a neighborhood of q and a Cartesian space Rn, where n is the dimension of CThis 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 14: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

ExampleExample

Page 15: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

reference point

Case of a Planar Rigid Case of a Planar Rigid RobotRobot

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

• Other representation: q = (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 16: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Rigid Robot in 3-D Rigid Robot in 3-D WorkspaceWorkspace

• 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 = 1– ri1rj1 + ri2r2j + ri3rj3 = 0– det(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 17: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Parameterization of SO(3)Parameterization of SO(3)• Euler angles: (

• Unit quaternion: (cos /2, n1 sin /2, n2 sin /2, n3 sin /2)

xx

y

zz

xxyy

zz

x

y

z

xx

yy

zz

1 2 3 4

Page 18: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Metric in Configuration Metric in Configuration SpaceSpace

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 19: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Metric in Configuration Metric in Configuration SpaceSpace

Example:• 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 20: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Specific Examples in RSpecific Examples in R22 x S x S11

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

’’

Page 21: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Notion of a PathNotion of a Path

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

: s [0,1] (s) C s’ s d((s),(s’)) 0

q1

q3

q0

qn

q4

q2

(s)

Page 22: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Other Possible Constraints on Other Possible Constraints on PathPath

Finite length, smoothness, curvature, etc… A trajectory is a path parameterized by

time: : t [0,T] (t) C

q1

q3

q0

qn

q4

q2

(s)

Page 23: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Obstacles in C-SpaceObstacles 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 workspaceThe free space F is the set of free configurationsA C-obstacle is the set of configurations where the robot collides with a given workspace obstacleA configuration is semi-free if the robot at this configuration touches obstacles without overlap

Page 24: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Disc Robot in 2-D Disc Robot in 2-D WorkspaceWorkspace

Page 25: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Rigid Robot Translating in Rigid Robot Translating in 2-D2-D

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

a1

b1

b1-a1

Page 26: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Rigid Robot Translating in Rigid Robot Translating in 2-D2-D

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

a1

b1

b1-a1

Page 27: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Linear-Time Computation Linear-Time Computation of of

C-Obstacle in 2-DC-Obstacle in 2-D(convex polygons)

O(n+m)

Page 28: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Rigid Robot Translating and Rigid Robot Translating and Rotating in 2-DRotating in 2-D

Page 29: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

C-Obstacle for Articulated C-Obstacle for Articulated RobotRobot

Page 30: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Free and Semi-Free PathsFree and Semi-Free Paths

A free path lies entirely in the free space F

A semi-free path lies entirely in the semi-free space

Page 31: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Remark on Free-Space Remark on Free-Space TopologyTopology

• 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

• The semi-free space is a closed subset of C. Its boundary is a superset of the boundary of F

Page 32: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.
Page 33: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.
Page 34: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Notion of Homotopic PathsNotion of Homotopic Paths

Two paths with the same endpoints are homotopic if one can be continuously deformed into the otherR x S1 example:

1 and 2 are homotopic

1 and 3 are not homotopic

In this example, infinity of homotopy classes

q

q’

Page 35: CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Configuration Space.

Connectedness of C-SpaceConnectedness of C-Space

C is connected if every two configurations can be connected by a pathC 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