cs b659: principles of intelligent robot motion
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 PresentationTRANSCRIPT
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
Introduce configuration spaces (C-spaces)Topology of C-spacesMapping obstacles into C-space
Discuss semester project ideas Reading schedule
Motion Planning Framework
Continuous representation(configuration space and related spaces + constraints)
Discretization(random sampling, criticality-based decomposition)
Graph searching(blind, best-first, A*)
Robots have different shapes and kinematics! What is a path?
Idea: Reduce robot to a point Configuration Space
Feasible space
Forbidden space
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
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
Articulated Robot
qq11
qq22
q = (q1,q2,…,q10)
Protein
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
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
Configuration Space Space of all its possible configurations But the topology of this space is usually
not that of a Cartesian space
C = S1xS1
Configuration Space Space of all its possible configurations But the topology of this space is usually
not that of a Cartesian space
C = S1xS1
What is its topology?
qq11
qq22
(S1)7xI3
(I: Interval of reals)
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
Example: A sphere
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
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
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)
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
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…
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)
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)
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
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
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
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
... and every robot path is a curve in configuration space
q1
q3
q0
qn
q4
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
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
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
Translating Polygon in 2-D Workspace
referencepoint
CB = B A = {b-a | aA, bB}
a1
b1
b1-a1
Linear-Time Computation
(convex polygons)
O(n+m)
Translating & Rotating Polygon in 2-D Workspace
Articulated Robot
Some constraints can’t be modeled as C-Space obstacles Differential constraints: smoothness, finite
curvature, drift, etc… Global constraints: finite length, power
consumption, etc…
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
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
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
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
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
Project Proposal
Due 1/28 for each group 1-2 paragraphs on proposed topic
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
…
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)
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
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
’’