Post on 15-Feb-2016
description
Configuration Space
Recap
• Represent environments as graphs– Paths are connected vertices– Make assumption that robot is a point
• Need to be able to use realistic representations of robot geometry and find safe paths
Rough idea
• Convert rigid robots, articulated robots, etc. into points– Expand obstacles to compensate
• Can now create graphs in this new space– If no collision along graph, no collision in real
world
Configurations• The configuration of a
moving object is a unique specification of the position of every point on the object. – Usually a configuration is
expressed as a vector of position & orientation parameters: q = (q1, q2,…,qn).
q=(q1, q2,…,qn)
q1q2
q3
qn
Configurations• The set of points defining the robot is then some
function of q, such as R(q).
q=(q1, q2,…,qn)
q1q2
q3
qn
Configuration Example• 2D translating circular robot• Shape can be defined as
q = (x,y) R(x,y) = {(x’,y’) | (x-x’) 2 + (y-y’) 2 ≤ r2}
In this case, can think of q as a translation applied to the original robot
Another Example• Two joint planar arm• Does position of the
end effector describe the configuration?
(x,y)
Another Example• Two joint planar arm• Does position of the
end effector describe the configuration?
• No! It does not uniquely specify all of the arm.– But joint angle does
q = (,)
Dimension of q• Same as the degrees-of-freedom (DOFs)
of the robot• Can find DOFs by adding up free variables
and subtracting constraints
DOF Example
• Planar translating, rotating triangle robot• Triangle = {p1,p2,p3} = { (x1,y1,z1),
(x2,y2,z2),(x3,y3,z3) }
• 9 free variables
p1
p2
p3
DOF Example
• Planar: z1 = z2 = z3 = 0• 9 – 3 = 6 free variables
p1
p2
p3
DOF Example
• Rigid body constraints• Fix p2 distance:
– D(p1,p2) = r12• Fix p3 distance:
– D(p1,p3) = r13– D(p2,p3) = r23
• 6 – 3 = 3 free variables
p1
p2
p3
DOF Example
• What’s left?• Fix one point p1 = (x,y)• Define rotation of triangle relative to axis• The three things we can choose were
– (x,y,)• Makes a 3 DOF robot
p1
p2
p3
Configuration space• The configuration space C
is the set of all possible configurations.– A configuration is a point in C.– Similar to a
• State space• Parameter space
• The workspace is all points reachable by the robot (or sometimes just the end effector)
• C can be very high dimensional while the workspace is just 2D or 3D
q=(q1, q2,…,qn)
q1q2
q3
qn
C = S1 x S1
Topology of the configuration Space
• The topology of C is usually not that of a Cartesian space Rn.
• Space is S1 x S1 = T2
0 2p
2p
f
jj
j
f f
Obstacles in the c-space• A configuration q is collision-free, or free, if
a moving object placed at q does not intersect any obstacles in the workspace.
• The free space F is the set of free configurations (also Cfree).
• A configuration space obstacle (C-obstacle) is the set of configurations where the moving object collides with workspace obstacles.
C-Obstacles
• 2D translating robot
Workspace robot and obstacle
C-space robot and obstacle
Polygonal robot translating & rotating in 2-D workspace
workspace configuration space
Polygonal robot translating & rotating in 2-D workspace
x
Articulated robot in 2-D workspace
workspace configuration space
Paths in the configuration space
• A path in C is a continuous curve connecting two configurations q and q’ :
such that t(0) = q and t(1)=q’.
workspace configuration space
Css )(]1,0[: tt
Free Paths in the configuration space
• A free path in C is a continuous curve connecting two configurations q and q’ :
such that t(0) = q and t(1)=q’.• A semi-free path allows the robot and
obstacles to contact (but not interpenetrate).
Fss )(]1,0[: tt
• Two paths t and t’ with the same endpoints are homotopic if one can be continuously deformed into the other:
• A homotopic class of pathscontains all paths that arehomotopic to one another.
Homotopic paths
Connectedness of C-Space
• C is connected if every two free configurations can be connected by a path.
• Otherwise C is multiply-connected.• Same as terminology for graphs
More C-space Obstacles• Exercise