Configuration Space
description
Transcript of Configuration Space
![Page 1: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/1.jpg)
Configuration Space
![Page 2: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/2.jpg)
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
![Page 3: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/3.jpg)
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
![Page 4: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/4.jpg)
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
![Page 5: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/5.jpg)
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
![Page 6: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/6.jpg)
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
![Page 7: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/7.jpg)
Another Example• Two joint planar arm• Does position of the
end effector describe the configuration?
(x,y)
![Page 8: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/8.jpg)
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 = (,)
![Page 9: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/9.jpg)
Dimension of q• Same as the degrees-of-freedom (DOFs)
of the robot• Can find DOFs by adding up free variables
and subtracting constraints
![Page 10: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/10.jpg)
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
![Page 11: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/11.jpg)
DOF Example
• Planar: z1 = z2 = z3 = 0• 9 – 3 = 6 free variables
p1
p2
p3
![Page 12: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/12.jpg)
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
![Page 13: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/13.jpg)
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
![Page 14: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/14.jpg)
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
![Page 15: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/15.jpg)
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
![Page 16: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/16.jpg)
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.
![Page 17: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/17.jpg)
C-Obstacles
• 2D translating robot
Workspace robot and obstacle
C-space robot and obstacle
![Page 18: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/18.jpg)
Polygonal robot translating & rotating in 2-D workspace
workspace configuration space
![Page 19: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/19.jpg)
Polygonal robot translating & rotating in 2-D workspace
x
![Page 20: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/20.jpg)
Articulated robot in 2-D workspace
workspace configuration space
![Page 21: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/21.jpg)
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
![Page 22: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/22.jpg)
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
![Page 23: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/23.jpg)
• 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
![Page 24: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/24.jpg)
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
![Page 25: Configuration Space](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815f03550346895dcdc274/html5/thumbnails/25.jpg)
More C-space Obstacles• Exercise