Вы находитесь на странице: 1из 25

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
qn
specification of the position
of every point on the object. q=(q1, q2,…,qn)
– Usually a configuration is q3
expressed as a vector of
position & orientation
parameters: q = (q1, q2,…,qn).
q1
q2
Configurations
• The set of points defining the robot is then some
function of q, such as R(q).
qn

q=(q1, q2,…,qn)

q3

q1
q2
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
p2

p1
p3
DOF Example
• Planar: z1 = z2 = z3 = 0
• 9 – 3 = 6 free variables

p2

p1
p3
DOF Example
• Rigid body constraints
• Fix p2 distance:
– D(p1,p2) = r12
p2
• Fix p3 distance:
– D(p1,p3) = r13 p1
p3
– D(p2,p3) = r23
• 6 – 3 = 3 free variables
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
p2

p1
p3
Configuration space
• The configuration space C
is the set of all possible
configurations. qn
– A configuration is a point in C.
q=(q1, q2,…,qn)
– Similar to a
• State space
• Parameter space q3
• The workspace is all points
reachable by the robot (or
sometimes just the end
effector) q1
q2
• C can be very high
dimensional while the
workspace is just 2D or 3D
Topology of the configuration
Space
• The topology of C is usually not that of a
Cartesian space Rn.
C = S1 x S1
j
j f f
2p

j
0 2p f

• Space is S1 x S1 = T2
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
configuration
workspace
space
Polygonal robot translating &
rotating in 2-D workspace

x
Articulated robot in 2-D
workspace
workspace configuration space
Paths in the configuration space
workspace configuration space

• A path in C is a continuous curve connecting


two configurations q and q’ :
t : s [0,1]  t (s)  C
such that t(0) = q and t(1)=q’.
Free Paths in the configuration
space

• A free path in C is a continuous curve


connecting two configurations q and q’ :
t : s [0,1]  t (s)  F
such that t(0) = q and t(1)=q’.
• A semi-free path allows the robot and
obstacles to contact (but not
interpenetrate).
Homotopic paths
• Two paths t and t’ with the same endpoints are
homotopic if one can be continuously deformed
into the other:

• A homotopic class of paths


contains all paths that are
homotopic to one another.
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

Вам также может понравиться