370 likes | 860 Views
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
E N D
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). qn q=(q1, q2,…,qn) q3 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 qas 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 • Fix p3 distance: • D(p1,p3) = r13 • D(p2,p3) = r23 • 6 – 3 = 3 free variables p2 p1 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 p2 p1 p3
Configuration space • The configuration spaceC 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 qn q=(q1, q2,…,qn) q3 q1 q2
C = S1x 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 j f j f 2p j 2p f 0
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 spaceF 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 C-space robot and obstacle Workspace robot and obstacle
Polygonal robot translating & rotating in 2-D workspace configuration space workspace
Articulated robot in 2-D workspace workspace configuration space
Paths in the configuration space configuration space workspace • A path in C is a continuous curve connecting two configurations q and q’: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’: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 pathscontains all paths that arehomotopic 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