Transcript
Page 1: Adaptive dynamics for Articulated Bodies

Adaptive dynamics for Articulated Bodies

Page 2: Adaptive dynamics for Articulated Bodies

Articulated Body dynamics

• Optimal forward dynamics algorithm– Linear time complexity– e.g. Featherstone’s DCA

algorithm– Not efficient enough for many

DoF systems

Page 3: Adaptive dynamics for Articulated Bodies

Articulated body

A B

Handles: positions where external forces can be applied

Handle

Page 4: Adaptive dynamics for Articulated Bodies

Articulated body

Created recursively by joining two articulated bodies

C

Principal joint

Page 5: Adaptive dynamics for Articulated Bodies

Articulated body

Tree representation of an articulated body

Rigid bodies

The complete articulated bodyC

A B

Page 6: Adaptive dynamics for Articulated Bodies

Featherstone’s DCA

• Articulated-body equation

• Change of in causes a change of in

BodyAccelerations

Inverse inertias and cross-inertias

AppliedForces

Biasaccelerations

jf jij fjf ia

Page 7: Adaptive dynamics for Articulated Bodies

Articulated body equations

A2

A1

A2

A1

A2

A21

A12

A1

A2

A1

b

b

f

f

ΦΦ

ΦΦ

a

a

B2

B1

B2

B1

B2

B21

B12

B1

B2

B1

b

b

f

f

ΦΦ

ΦΦ

a

a

C2

C1

B2

A1

C2

C21

C12

C1

B2

A1

b

b

f

f

ΦΦ

ΦΦ

a

aKinematic constraint forceat the principal joint of C

Page 8: Adaptive dynamics for Articulated Bodies

Featherstone’s DCA Algorithm

• Update body velocity and position

• Main pass: Compute – Bottom-up pass

• Solve articulated body equation by back substitution– Top down pass

C2

C1

C12

C21

C2

C1 b,b,Φ,Φ,Φ,Φ

Page 9: Adaptive dynamics for Articulated Bodies

Main Pass

• For internal nodes

• For leaf nodes

IvvfIbIΦΦ k1

i1

iji

A21

B21

C21

B21

B2

C2

B12

B21

B2

C2

A12

A1

C1

A21

A12

A1

C1

WΦΦΦ

γΦbbWΦΦΦΦ

γΦbbWΦΦΦΦ

:W :dependent on motion subspace dependent on active forces

Page 10: Adaptive dynamics for Articulated Bodies

Back substitution

• Receive from parent

• Compute joint acceleration and using

• Send to A and to B

B2

A1 f,f

A2

B1 f,f

A2

A1 f,f

B2

B1 f,f

Page 11: Adaptive dynamics for Articulated Bodies

Adaptive Dynamics

• Simulate n most “important” joints

• Sacrifice amount of accuracy

• Other joints are rigidified

• “Important” and “accuracy” measures based on some motion metric

Page 12: Adaptive dynamics for Articulated Bodies

Hybrid body

Page 13: Adaptive dynamics for Articulated Bodies

Hybrid body

kf

Page 14: Adaptive dynamics for Articulated Bodies

Multilevel forward dynamics algorithm

• Compute body velocity and position only in active region

• Compute – Same as DCA for active nodes– Do not recompute for rigid nodes– (*) Compute in force update region using

• Back substitute only in active region

• Recompute hybrid body (at a different rate than the simulation timestep)

CC b,Φ

CΦCb

BA1BAAACi

C bbΦΦΦbbb

* For the metric we discuss later, this step is not performed

Page 15: Adaptive dynamics for Articulated Bodies

Motion metrics

• Acceleration metric

• Velocity metric

are SPD matrix i.e. metrics correspond to weighted sum of squaresii VA ,

Page 16: Adaptive dynamics for Articulated Bodies

• Theorem The acceleration metric value of an articulated body can be computed before computing its joint accelerations

Computing motion metric

Page 17: Adaptive dynamics for Articulated Bodies

Computing

• In active region compute using:

p,,

p,,

Page 18: Adaptive dynamics for Articulated Bodies

Computing

• Do not recompute at passive nodes

• At passive nodes compute (velocity

dependent coefficients) using linear coefficient tensors (not dependent on velocity)

– Constant time

p,,

pb ,,

Ψ

Page 19: Adaptive dynamics for Articulated Bodies

Computing the hybrid body

• Compute in fully articulated state

• Determine transient hybrid body based on acceleration metric

• Recompute acceleration for transient hybrid body

• Compute velocity metric to determine hybrid body

• Rigidification

pη,Ψ,

Page 20: Adaptive dynamics for Articulated Bodies

Adaptive joint selection Acceleration simplification

= 96

Compute the acceleration metric value of the root

Page 21: Adaptive dynamics for Articulated Bodies

= 96 -3

Compute the joint acceleration of the root

Adaptive joint selection Acceleration simplification

Page 22: Adaptive dynamics for Articulated Bodies

Adaptive joint selection Acceleration simplification

= 96

= 6 = 81

Compute the acceleration metric values of the two children

-3

Page 23: Adaptive dynamics for Articulated Bodies

Adaptive joint selection Acceleration simplification

= 96

Select the node with the highest acceleration metric value

-3

= 6 = 81

Page 24: Adaptive dynamics for Articulated Bodies

Adaptive joint selection Acceleration simplification

= 96

Compute its joint acceleration

-3

-6 = 81 = 6

Page 25: Adaptive dynamics for Articulated Bodies

Adaptive joint selection Acceleration simplification

= 96

= 9 = 36

Compute the acceleration metric values of its two children

-3

-6 = 6 = 81

Page 26: Adaptive dynamics for Articulated Bodies

Adaptive joint selection Acceleration simplification

= 96

= 9 = 36

-3

-6 = 6 = 81

Select the node with the highest acceleration metric value

= 36

Page 27: Adaptive dynamics for Articulated Bodies

Adaptive joint selection Acceleration simplification

= 96

= 9 = 36

-3

-6 = 6 = 81

Compute its joint acceleration

6

Page 28: Adaptive dynamics for Articulated Bodies

Adaptive joint selection Acceleration simplification

-3

-6

6

Stop because a user-defined sufficient precision has been reached

= 96

= 9

= 6

Page 29: Adaptive dynamics for Articulated Bodies

Adaptive joint selection Acceleration simplification

-3

-6

6

Four subassemblies with joint accelerations implicitly set to zero

= 96

= 9

= 6

Page 30: Adaptive dynamics for Articulated Bodies

Velocity simplification

• Compute joint velocities in the transient active region (computed using acceleration metric)

• Compute metric in a bottom up manner from the transient rigid front using

• Compute rigid front like for acceleration metric

Page 31: Adaptive dynamics for Articulated Bodies

Rigidification

• Aim: Rigidify the joint velocities to 0

• Constraint:

• Solve for– Compute by computing– Compute

• Apply to the hybrid body

basis vector for

RR vΔv

KQΔvR QK jKe

R1ΔvKQ

Q

je Q

Rv

Page 32: Adaptive dynamics for Articulated Bodies

video

Page 33: Adaptive dynamics for Articulated Bodies

References

• FEATHERSTONE, R. 1999. A divide-and-conquer articulated body algorithm for parallel o(log(n)) calculation of rigid body dynamics. part 1: Basic

algorithm. International Journal of Robotics Research 18(9):867-875.

• S. Redon, N. Galoppo, and M. Lin. Adaptive dynamics of

articulated bodies: ACM Trans. on Graphics (Proc. of ACM SIGGRAPH), 24(3), 2005.


Top Related