330 likes | 477 Views
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.
E N D
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 Handles: positions where external forces can be applied
Articulated body Principal joint Created recursively by joining two articulated bodies C
The complete articulated body Rigid bodies Articulated body C A B Tree representation of an articulated body
Featherstone’s DCA • Articulated-body equation • Change of in causes a change of in Body Accelerations Inverse inertias and cross-inertias Applied Forces Bias accelerations
Articulated body equations Kinematic constraint force at 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
Main Pass • For internal nodes • For leaf nodes dependent on motion subspace dependent on active forces
Back substitution • Receive from parent • Compute joint acceleration and using • Send to A and to B
Adaptive Dynamics • Simulate n most “important” joints • Sacrifice amount of accuracy • Other joints are rigidified • “Important” and “accuracy” measures based on some motion metric
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) * 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 squares
Computing motion metric • TheoremThe acceleration metric value of an articulated body can be computed before computing its joint accelerations
Computing • In active region compute using:
Computing • Do not recompute at passive nodes • At passive nodes compute (velocity dependent coefficients) using linear coefficient tensors (not dependent on velocity) • Constant time
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
Adaptive joint selection Acceleration simplification = 96 Compute the acceleration metric value of the root
Adaptive joint selection Acceleration simplification = 96 -3 Compute the joint acceleration of the root
Adaptive joint selection Acceleration simplification = 96 -3 = 6 = 81 Compute the acceleration metric values of the two children
Adaptive joint selection Acceleration simplification = 96 -3 = 6 = 81 Select the node with the highest acceleration metric value
Adaptive joint selection Acceleration simplification = 96 -3 = 6 = 81 -6 Compute its joint acceleration
Adaptive joint selection Acceleration simplification = 96 -3 = 6 = 81 -6 = 9 = 36 Compute the acceleration metric values of its two children
Adaptive joint selection Acceleration simplification = 96 -3 = 6 = 81 -6 = 9 = 36 = 36 Select the node with the highest acceleration metric value
Adaptive joint selection Acceleration simplification = 96 -3 = 6 = 81 -6 = 9 = 36 6 Compute its joint acceleration
Adaptive joint selection Acceleration simplification = 96 -3 = 6 -6 = 9 6 Stop because a user-defined sufficient precision has been reached
Adaptive joint selection Acceleration simplification = 96 -3 = 6 -6 = 9 6 Four subassemblies with joint accelerations implicitly set to zero
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
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.