adaptive dynamics for articulated bodies
DESCRIPTION
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. Articulated body. Handle. B. A. - PowerPoint PPT PresentationTRANSCRIPT
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
Articulated body
A B
Handles: positions where external forces can be applied
Handle
Articulated body
Created recursively by joining two articulated bodies
C
Principal joint
Articulated body
Tree representation of an articulated body
Rigid bodies
The complete articulated bodyC
A B
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
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
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,Φ,Φ,Φ,Φ
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
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
Adaptive Dynamics
• Simulate n most “important” joints
• Sacrifice amount of accuracy
• Other joints are rigidified
• “Important” and “accuracy” measures based on some motion metric
Hybrid body
Hybrid body
kf
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
Motion metrics
• Acceleration metric
• Velocity metric
are SPD matrix i.e. metrics correspond to weighted sum of squaresii VA ,
• Theorem The acceleration metric value of an articulated body can be computed before computing its joint accelerations
Computing motion metric
Computing
• In active region compute using:
p,,
p,,
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 ,,
Ψ
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η,Ψ,
Adaptive joint selection Acceleration simplification
= 96
Compute the acceleration metric value of the root
= 96 -3
Compute the joint acceleration of the root
Adaptive joint selection Acceleration simplification
Adaptive joint selection Acceleration simplification
= 96
= 6 = 81
Compute the acceleration metric values of the two children
-3
Adaptive joint selection Acceleration simplification
= 96
Select the node with the highest acceleration metric value
-3
= 6 = 81
Adaptive joint selection Acceleration simplification
= 96
Compute its joint acceleration
-3
-6 = 81 = 6
Adaptive joint selection Acceleration simplification
= 96
= 9 = 36
Compute the acceleration metric values of its two children
-3
-6 = 6 = 81
Adaptive joint selection Acceleration simplification
= 96
= 9 = 36
-3
-6 = 6 = 81
Select the node with the highest acceleration metric value
= 36
Adaptive joint selection Acceleration simplification
= 96
= 9 = 36
-3
-6 = 6 = 81
Compute its joint acceleration
6
Adaptive joint selection Acceleration simplification
-3
-6
6
Stop because a user-defined sufficient precision has been reached
= 96
= 9
= 6
Adaptive joint selection Acceleration simplification
-3
-6
6
Four subassemblies with joint accelerations implicitly set to zero
= 96
= 9
= 6
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
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
video
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.