1 computing deform closure grasps k. “gopal” gopalakrishnan ken goldberg uc berkeley

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

Post on 21-Dec-2015

223 views

Category:

Documents


5 download

TRANSCRIPT

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

1

Computing Deform Closure Grasps

K. “Gopal” Gopalakrishnan Ken GoldbergUC Berkeley

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

2

• Related Work

• D-Space and Deform Closure

• Two-point deform closure grasps

• Algorithm

Outline

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

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]

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

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]

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

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

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

6

Deformable Parts

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

[Amato et al, 2001]

[Moll and Kavraki, 2004]

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

7

Context

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

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

8

Context

• Unilateral fixtures– Sheet metal parts, constrained deformation:

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

9

Context

• Surgery simulation.

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

10

Deformable parts

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

The part can always escape:

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

11

• Related Work

• D-Space and Deform Closure

• Two-point deform closure grasps

• Algorithm

Outline

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

12

• Introduce FEM Mesh

• Define “C-Space” based on node displacements

• Characterize potential energy

Idea

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

13

Part Model

• Planar Polygonal Boundary

• Triangular FEM Mesh

• n Nodes (like hinges)

• Edges (like struts)

• Elements (deformable)

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

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)

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

15

D-Space

• Example:

2 fixed nodes

1 moveable node:

2 dimensional D-Space

x

y

Phy

sica

l spa

ceD

-Spa

ce

q0

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

16

DT: Topology Preserving Subspace

x

y

Phy

sica

l spa

ceD

-Spa

ce

• DT D-Space .

DT

DTC:

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

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

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

18

D-Space: Example

Phy

sica

l spa

ce

x

y

D-S

pace

• Like Cfree, we define Dfree.

• Dfree = DT [ (DAiC)]

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

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)]

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

20

Displacement between a pair of deformations

• q0: part’s nominal shape.

• X = q - q0: vector of nodal

translations.q0

q

X

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

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

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

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)

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

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 )

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

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 )

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

25

UA: Example

UA= 4 Joules UA = 547 Joules

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

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:

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

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

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

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.

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

29

• Related Work

• D-Space and Deform Closure

• Two-point deform closure grasps

• Algorithm

Outline

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

30

• Given a pair of point jaws

• Determine “optimal” jaw separation.

Problem Description

M

E

n0

n1

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

31

Naïve Quality metric

• Consider Quality metric Q = UA.

• Maximum UA trivially at = 0

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

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)

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

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

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

34

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

q1 q2

q1 q2

U

Assumptions

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

35

• Related Work

• D-Space and Deform Closure

• Two-point deform closure grasps

• Algorithm

Outline

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

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

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

37

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

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

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

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

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

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

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

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

41

Find escape paths along vertices in the Contact Graph

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

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()

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

43

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

U (

v* ,

)

Computing UA()

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

44

UA (

)

, UL (

)

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

UA ( )

UL ( )

Q ( )

Computing *

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

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

(

)

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

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

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

47

Numerical Example

• Foam rubber part.

• Mesh and FEM using I-DEAS and ANSYS.

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

48

Numerical Example

Undeformed

= 10 mm.

Optimal

= 5.6 mm.

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

49

Future work

• Initial node pair selection

• Mesh dependencies:

- Minimal meshes.

-Equivalent deformations between meshes

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

50

• Related Work

• D-Space and Deform Closure

• Two-point deform closure grasps

• Algorithm

Outline

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

51

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

52

Future work

• Friction

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

53

Future work

• Mesh density:

- Equivalent deformations between meshes?

- Mapping D-spaces between meshes.

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

54

Future work

• Optimal node selection.

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

55

Future work

• Mesh density:

- Error bounds.

A

A

B

B

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

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

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

57

Algorithm for UA(i)

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

58

U

Vertex v (traversed on path of minimum work)

U(v)

U(v*)

Estimates for maximum U

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

59

• High Dimensional.

• Computing DT and DAi.

• Exploit symmetry.

Computing Dfree

DAi

Dfree

DTC

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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