configuration space. recap represent environments as graphs –paths are connected vertices –make...

25
Configuration Space

Upload: lisbeth-hunkins

Post on 14-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

Configuration Space

Page 2: Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

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. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

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. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

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)

q1

q2

q3

qn

Page 5: Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

Configurations• The set of points defining the robot is then some

function of q, such as R(q).

q=(q1, q2,…,qn)

q1

q2

q3

qn

Page 6: Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

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. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

Another Example

• Two joint planar arm• Does position of the

end effector describe the configuration?

(x,y)

Page 8: Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

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. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

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. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

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. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

DOF Example

• Planar: z1 = z2 = z3 = 0• 9 – 3 = 6 free variables

p1

p2

p3

Page 12: Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

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. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

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. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

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)

q1

q2

q3

qn

Page 15: Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

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. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

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. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

C-Obstacles

• 2D translating robot

Workspace robot and obstacle

C-space robot and obstacle

Page 18: Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

Polygonal robot translating & rotating in 2-D workspace

workspace configuration space

Page 19: Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

Polygonal robot translating & rotating in 2-D workspace

x

Page 20: Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

Articulated robot in 2-D workspace

workspace configuration space

Page 21: Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

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[:

Page 22: Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

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[:

Page 23: Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

• 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. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

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. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use

More C-space Obstacles

• Exercise