1 Computing Deform Closure Grasps K. “Gopal” Gopalakrishnan Ken Goldberg UC Berkeley.

Post on 21-Dec-2015

223 views 5 download

Tags:

Transcript of 1 Computing Deform Closure Grasps K. “Gopal” Gopalakrishnan Ken Goldberg UC Berkeley.

1

Computing Deform Closure Grasps

K. “Gopal” Gopalakrishnan Ken GoldbergUC Berkeley

2

• Related Work

• D-Space and Deform Closure

• Two-point deform closure grasps

• Algorithm

Outline

3

Holding: Rigid parts

• Contact Mechanics: Number of contacts– [Reuleaux, 1876], [Somoff, 1900]

– [Mishra, Schwarz, Sharir, 1987],

– [Nguyen, 1988]

– [Markenscoff, Papadimitriou, 1990]

– [Han, Trinkle, Li, 1999]

• Immobility, 2nd Order Form Closure– [Rimon, Burdick, 1995, 1998]

– [Ponce, Burdick, Rimon, 1995]

[Mason, 2001]

4

Holding: Rigid parts

+ -

+-

++-

-

• Summaries of results– [Bicchi, Kumar, 2000]– [Mason, 2001]

• C-Spaces for closed chains– [Milgram, Trinkle, 2002]

• Fixturing hinged parts– [van der Stappen et al, 2002]

• Antipodal Points for Curved Parts– [Jia 2002]

• Caging Grasps – [Rimon, Blake, 1999]

5

• Elastic Fingers, Soft Contacts[Hanafusa and Asada, 1982] [Salisbury and Mason, 1985][Kim, Hirai, Inoue, 2003]

• Physical Models[Joukhadar, Bard, Laugier, 1994]

• Bounded Force Closure[Wakamatsu, Hirai, Iwata, 1996]

• Learned Grasps of Deformable Objects [Howard, Bekey, 1999]

• Robot manipulation [Henrich and Worn, 2000]

Robust manipulation with Vision [Hirai, Tsuboi, Wada 2001]

Holding Deformable Parts

6

Deformable Parts

• Path Planning for Elastic Wires, Sheets and Bodies[Kavraki et al, 1998, 2000]

[Amato et al, 2001]

[Moll and Kavraki, 2004]

7

Context

• Grasping at concavities:– 2D v-grips– 3D v-grips

8

Context

• Unilateral fixtures– Sheet metal parts, constrained deformation:

9

Context

• Surgery simulation.

10

Deformable parts

• “Form closure” based on immobility • For deformable parts, how to define immobility?

The part can always escape:

11

• Related Work

• D-Space and Deform Closure

• Two-point deform closure grasps

• Algorithm

Outline

12

• Introduce FEM Mesh

• Define “C-Space” based on node displacements

• Characterize potential energy

Idea

13

Part Model

• Planar Polygonal Boundary

• Triangular FEM Mesh

• n Nodes (like hinges)

• Edges (like struts)

• Elements (deformable)

14

Deformation Space (D-Space)• Each node has 2 DOF• Analogous to configurations in

C-Space• D-Space: 2n-dimensional

space of node positions. • point q in D-Space is a

“deformation”• q0 is initial (undeformed) point

(30-dimensional D-space)

15

D-Space

• Example:

2 fixed nodes

1 moveable node:

2 dimensional D-Space

x

y

Phy

sica

l spa

ceD

-Spa

ce

q0

16

DT: Topology Preserving Subspace

x

y

Phy

sica

l spa

ceD

-Spa

ce

• DT D-Space .

DT

DTC:

17

D-Obstacles

x

y

Phy

sica

l spa

ceD

-Spa

ce

• Like C-Obstacles, a physical obstacle Ai defines a deformation-obstacle DAi in D-Space.

• Collision of any mesh element with obstacle.

A1

DA1

18

D-Space: Example

Phy

sica

l spa

ce

x

y

D-S

pace

• Like Cfree, we define Dfree.

• Dfree = DT [ (DAiC)]

19

With more nodes: Dfree

Slice with only node 5 moving.

Part and mesh

1

2 3

5

4

x

y

Slice with only node 3 moving.

x3

y3x5

y5

x5

y5

x5

y5

Phy

sica

l spa

ceD

-Spa

ce

•Dfree = DT [ (DAiC)]

20

Displacement between a pair of deformations

• q0: part’s nominal shape.

• X = q - q0: vector of nodal

translations.q0

q

X

21

Potential Energy

• Assume Linear Elasticity, Zero Friction

• K = FEM stiffness matrix.

• Forces at nodes:

F = K X.

• Potential Energy:

U(q) = (1/2) XT K X

22

Potential Energy “Surface”

• U : Dfree R0

• Equilibrium: q where U is at a local minimum.

• In absence of friction or inertia, part will come to rest at an equilibrium.

• Stable Equilibrium: q where U is at a strict local minimum:

“Deform Closure” Grasp

q

U(q)

23

Potential Energy Needed to Escape from a Stable Equilibrium• Consider:

Stable equilibrium qA, Equilibrium qB.

• “Capture Region”:

K(qA) Dfree, such that any configuration in K(qA) returns to qA.

• Saddlepoints

[Rimon, Blake, 1995]

qA

qB

q

U(q)

K( qA )

24

• UA (qA) = Increase in Potential Energy needed to escape from qA.

= minimum external work needed to escape from qA.

• UA: Quality Measure

qA

qB

q

U(q)

UA

Potential Energy Needed to Escape from a Stable Equilibrium

K( qA )

25

UA: Example

UA= 4 Joules UA = 547 Joules

26

• Definition of Deform closure is frame-invariant.

• Proof: Consider D-spaces D1 and D2.

- Consider q1 D1, q2 D2.

such that physical meshes are identical.

Thm 1: Frame Invariance

xy

x

y

D1:

D2:

27

• There exists distance preserving linear transformation T such that

q2 = T q1.

• and

UA2(q2) = UA1 (q1)

UA does not depend on frame.

Frame Invariance

xy

x

y

28

Form-closure of rigid part

Thm 2: Form Closure and Deform Closure

Deform-closure of equivalent deformable part.

If in form-closure, strict local minimum: work needed to escape.

If in deform-closure, and no deformation allowed: form closure.

29

• Related Work

• D-Space and Deform Closure

• Two-point deform closure grasps

• Algorithm

Outline

30

• Given a pair of point jaws

• Determine “optimal” jaw separation.

Problem Description

M

E

n0

n1

31

Naïve Quality metric

• Consider Quality metric Q = UA.

• Maximum UA trivially at = 0

32

New Quality Metric• Consider work needed before plastic deformation

occurs: UL (Quadratic function of jaw separation)

• Let Q = min { UA, UL }

• Find jaw separation that maximizes Q

• Separation where: Work needed to release part = Work needed to reach elastic limit

Stress

StrainPlastic

Deformation

eL

A

B

C

D

GUL = U (D) – U (G)

33

• Input:

Mesh, K matrix, Initial jaw contacts at perimeter nodes

eL : Elastic limit strain.

: Approx. error• Output: Jaw separation

that optimizes Q• Assumptions:

Sufficiently dense mesh

Linear Elasticity until E Limit

Problem Description

M, K

n0

n1

34

no self-collisions moving between perimeter nodes: U is monotone

q1 q2

q1 q2

U

Assumptions

35

• Related Work

• D-Space and Deform Closure

• Two-point deform closure grasps

• Algorithm

Outline

36

Computing UA (minimum potential energy needed to release part) as a function of jaw separation: Consider escape paths in D-Space that maintain contact, find saddle points

37

Escape Paths in D-Space: motions between pairs of perimeter nodes

38

• Construct Contact Graph:

Each graph vertex = one pair of perimeter mesh nodes.

p perimeter mesh nodes.

p2 graph vertices.

• Problem input is a vertex

• Compute escape paths

“Contact” Graph: all perimeter node pairs

39

At each Graph vertex,Potential Energy is a Quadratic function of

ni

nj

kij

We can compute the spring constant by running one FEM iteration: reduce jaw separation by one unit, resulting force yields stiffness constantCompute k for all graph vertices

40

A

B

C

E

F

G

D

Contact Graph edges correspond to adjacent transitions between perimeter nodes

A

B

C

D

E

F

G

H

H

41

Find escape paths along vertices in the Contact Graph

42

U (

v(n

i, n j),

)

Each vertex along the escape path defines a quadratic function of jaw separation. Upper envelope of these functions gives potential energy function for the path

Computing UA()

43

Lower envelope of all escape paths corresponds to min potential energy needed to release part as function of

U (

v* ,

)

Computing UA()

44

UA (

)

, UL (

)

Recall Energy to reach Plastic Limit is Quadratic increasing: find crossover point

UA ( )

UL ( )

Q ( )

Computing *

45

• UA may have an exponential

number of pieces, so sample at

uniform intervals d

• choose d based on given and

slope/stiffness of all energy

curves

Numerical Sampling

Q

(

)

46

• Compute stiffness for each graph vertex, solving the FEM for mesh with n nodes to : O(n3)

• Compute stiffness for all graph vertices: O(p2n3)

• Compute optimal jaw separation: O(p2 (n3 + (1/) log p))

Complexity

47

Numerical Example

• Foam rubber part.

• Mesh and FEM using I-DEAS and ANSYS.

48

Numerical Example

Undeformed

= 10 mm.

Optimal

= 5.6 mm.

49

Future work

• Initial node pair selection

• Mesh dependencies:

- Minimal meshes.

-Equivalent deformations between meshes

50

• Related Work

• D-Space and Deform Closure

• Two-point deform closure grasps

• Algorithm

Outline

51

52

Future work

• Friction

53

Future work

• Mesh density:

- Equivalent deformations between meshes?

- Mapping D-spaces between meshes.

54

Future work

• Optimal node selection.

55

Future work

• Mesh density:

- Error bounds.

A

A

B

B

56

• Calculate UL.

• To determine UA:

Algorithm inspired by Dijkstra’s algorithm for sparse graphs.

Fixed i

0.1

0.4

0.71

1.3

1.6

1.9

2.2

2.5

2.8

3.1

3.4

3.74

4.3

4.6

4.9

5.2

5.5

5.8

0.1

0.8

1.5

2.2

2.9

3.6

4.3

5

5.7

0

0.1

0.2

0.3

0.4

0.5

0.6

57

Algorithm for UA(i)

58

U

Vertex v (traversed on path of minimum work)

U(v)

U(v*)

Estimates for maximum U

59

• High Dimensional.

• Computing DT and DAi.

• Exploit symmetry.

Computing Dfree

DAi

Dfree

DTC

60

• Consider obstacle A and one triangular element.

• Consider the slice De of D, corresponding to the 6 DOF of this element.

• Along all other axes of D, De is constant.

• Extruded cross-section is a 6D prism.

• The shape of DAe is same for all elements.

Computing DAi

1

32

4

5

61

• Thus, DA is the union of identical prisms with orthogonal axes.

• Center of DA is the deformation where the part has been shrunk to a point inside A.

• Similar approach for DT.

Computing DAi

1

32

4

5

1

32

4

5

62

parameterize jaw positions along part perimeter,separation between jaws defines an energy surface (Blake, Rimon)

0.1

0.4

0.71

1.3

1.6

1.9

2.2

2.5

2.8

3.1

3.4

3.74

4.3

4.6

4.9

5.2

5.5

5.8

0.1

0.8

1.5

2.2

2.9

3.6

4.3

5

5.7

0

0.1

0.2

0.3

0.4

0.5

0.6

Pot

enti

al

Ene

rgy

Jaw 1 positionJaw 2 position

63

U (

vo,

)

, U (

v*,

)

Subtract potential energy due to deformation by given jaw contacts

U ( v*, )

U ( vo, )

UA ( )

UA ( ) = U ( v*, ) - U ( vo, )

This yields UA, potential energy needed to escape

64

C-Space

C-Space (Configuration Space):

• [Lozano-Perez, 1983]

• Dual representation

• Each degree of part freedom is one C-space

dimension.

y

x

/3

(5,4)

y

x

(5,4,- /3)

Phy

sica

l spa

ceC

-Spa

ce

65

C-Space: Avoiding Collisions• Finger body A in physical space is mapped on to the C-

obstacle, CA.• In C-space, the part shrinks to a point and the obstacle grows

accordlingly

• CAc = Cfree.

Phy

sica

l spa

ceC

-Spa

ce

x

y

66

Form Closure

• A part is grasped in Form

Closure if any infinitesimal

motion results in collision.

• Form Closure is equivalent

to an isolated point in C-

free.

Phy

sica

l spa

ceC

-Spa

ce

x

y

67

• Modified spring-mass modeling [Yasuda, Yokoi, 2001]

• Holding sheet metal parts with dexterous parameter estimation [Ceglarek et al, 2002]

• Haptic rendering of deformations [Laycock, Day, 2003]

• Simulation of human hand deformation [Latombe et al, 2003]

Deformable Parts