Pre-stabilization for Rigid Body Articulation with Contact ...

1
Pre-stabilization for Rigid Body Articulation with Contact and Collision Rachel Weinstein * Stanford University Joseph Teran * Stanford University Ron Fedkiw Stanford University Industrial Light + Magic Figure 1: The ability to articulate rigid bodies allows animators to build more complex physical systems. Introduction We propose a novel approach for dynamically simulating articu- lated rigid bodies undergoing frequent and unpredictable contact and collision. Many practitioners solve these types of problems using reduced coordinate (or generalized coordinate) formulations that parameterize the degrees of freedom in a manner consistent with the constraints of articulation, effectively reducing the overall degrees of freedom, eliminating those that could violate the con- straints. However, consistency conditions are required to ensure that closed loops are actually closed adding a nonlocal constraint to the system. Moreover, unpredictable contact and collision can pose serious difficulties. We have found it easier to design algo- rithms that treat closed loops and frequent contact and collision in maximal coordinates, and propose a novel maximal coordinates approach that builds on the previous work of [Guendelman et al. 2003]. Our approach works with any black box method for spec- ifying valid joint constraints, and no special considerations are re- quired for arbitrary closed loops and/or branching. Moreover, our technique is linear both in the number of bodies and in the num- ber of auxiliary contact and collision constraints, unlike many other methods that are linear in the number of bodies but not in the num- ber of auxiliary constraints. Algorithm Our pre-stabilization method relies on the ability to target any de- sired joint state. One simply temporarily evolves a pair of rigid bodies forward in time to obtain a predicted joint state, and then uses any black box joint model to determine the closest allowable or desired joint state as input to our nonlinear solver. This entails solving a 6n degree of freedom nonlinear equation where n is the number of joints in the articulated rigid body, and the situation is compounded by contact and collision. Thus, we take an iterative ap- proach similar to and commensurate with the approach for contact and collision proposed in [Guendelman et al. 2003], i.e. we apply impulses one joint at a time. Furthermore, we iteratively solve the 6 degree of freedom nonlinear system for each joint using Newton iteration on smaller systems of 3 equations by first finding and ap- plying a linear impulse to satisfy the positional constraint, and then finding and applying an angular impulse to satisfy the orientation constraint. The primary benefit of our impulse based pre-stabilization tech- nique is the seamless integration of the impulses used to enforce * e-mail:{rachellw, jteran}@graphics.stanford.edu e-mail:[email protected] the position and orientation articulation constraints with those in an impulse based contact and collision algorithm. We integrate our algorithm with [Guendelman et al. 2003] as follows: Process Collisions (followed by Velocity Post-Stabilization) Integrate Velocities (followed by Velocity Post-Stabilization) Resolve Contacts & Articulation Pre-Stabilization Integrate Positions (followed by Velocity Post-Stabilization) Since processing collisions and integrating the velocity forward in time both change the values of the velocity field, a velocity post-stabilization technique is used after each of these steps. Pre- stabilization is tightly integrated with the contact processing al- gorithm by using the same contact graph for the contact stage to process articulation constraints. A similar process is used for shock propagation, although we remove the infinite inertia aspect of the shock propagation algorithm only when computing the im- pulses due to articulation (otherwise, it is used as usual). Finally, the positions and orientations are integrated forward in time using the velocities calculated by applying all the impulses necessary to handle both the contact and articulation constraints. This has en- abled the treatment of large stacks of articulated bodies with ro- bust contact and articulation handling. Note that we do not ap- ply velocity post-stabilization before integrating the positions for- ward in time, since the velocities obtained during contact process- ing and pre-stabilization should not be modified until the positions and orientations are corrected for contact and constraint enforce- ment. However, after moving the bodies, we again apply velocity post-stabilization to ensure velocities are valid for the next step. Conclusions Our method readily handles complicated contact, collision and ar- ticulation scenarios such as a tank with gears driving treads or twenty skeletons dropping into a pile (with over 20 million trian- gles). No special treatment is required for branching, closed loops, contact, collision, friction, stacking, etc. The algorithm is quite efficient, linear in the number of bodies and auxiliary constraints, and necessitated only a small overhead comprising about 5% of the overall computation time. As future work, we will consider adapt- ing our impulse based approach to a generalized coordinates model for articulated bodies. References GUENDELMAN, E., BRIDSON, R., AND FEDKIW, R. 2003. Nonconvex rigid bodies with stacking. ACM Trans. Graph. (SIGGRAPH Proc.) 22, 3, 871–878.

Transcript of Pre-stabilization for Rigid Body Articulation with Contact ...

Pre-stabilization for Rigid Body Articulation with Contact and Collision

Rachel Weinstein∗

Stanford UniversityJoseph Teran∗

Stanford UniversityRon Fedkiw†

Stanford UniversityIndustrial Light + Magic

Figure 1: The ability to articulate rigid bodies allows animators to build more complex physical systems.

IntroductionWe propose a novel approach for dynamically simulating articu-lated rigid bodies undergoing frequent and unpredictable contactand collision. Many practitioners solve these types of problemsusing reduced coordinate (or generalized coordinate) formulationsthat parameterize the degrees of freedom in a manner consistentwith the constraints of articulation, effectively reducing the overalldegrees of freedom, eliminating those that could violate the con-straints. However, consistency conditions are required to ensurethat closed loops are actually closed adding a nonlocal constraintto the system. Moreover, unpredictable contact and collision canpose serious difficulties. We have found it easier to design algo-rithms that treat closed loops and frequent contact and collisionin maximal coordinates, and propose a novel maximal coordinatesapproach that builds on the previous work of [Guendelman et al.2003]. Our approach works with any black box method for spec-ifying valid joint constraints, and no special considerations are re-quired for arbitrary closed loops and/or branching. Moreover, ourtechnique is linear both in the number of bodiesand in the num-ber of auxiliary contact and collision constraints, unlike many othermethods that are linear in the number of bodies but not in the num-ber of auxiliary constraints.

AlgorithmOur pre-stabilization method relies on the ability to target any de-sired joint state. One simply temporarily evolves a pair of rigidbodies forward in time to obtain a predicted joint state, and thenuses any black box joint model to determine the closest allowableor desired joint state as input to our nonlinear solver. This entailssolving a 6n degree of freedom nonlinear equation wheren is thenumber of joints in the articulated rigid body, and the situation iscompounded by contact and collision. Thus, we take an iterative ap-proach similar to and commensurate with the approach for contactand collision proposed in [Guendelman et al. 2003], i.e. we applyimpulses one joint at a time. Furthermore, we iteratively solve the6 degree of freedom nonlinear system for each joint using Newtoniteration on smaller systems of 3 equations by first finding and ap-plying a linear impulse to satisfy the positional constraint, and thenfinding and applying an angular impulse to satisfy the orientationconstraint.

The primary benefit of our impulse based pre-stabilization tech-nique is the seamless integration of the impulses used to enforce

∗e-mail:{rachellw, jteran}@graphics.stanford.edu†e-mail:[email protected]

the position and orientation articulation constraints with those in animpulse based contact and collision algorithm. We integrate ouralgorithm with [Guendelman et al. 2003] as follows:

• Process Collisions (followed by Velocity Post-Stabilization)• Integrate Velocities (followed by Velocity Post-Stabilization)• Resolve Contacts & Articulation Pre-Stabilization• Integrate Positions (followed by Velocity Post-Stabilization)

Since processing collisions and integrating the velocity forwardin time both change the values of the velocity field, a velocitypost-stabilization technique is used after each of these steps. Pre-stabilization is tightly integrated with the contact processing al-gorithm by using the same contact graph for the contact stageto process articulation constraints. A similar process is used forshock propagation, although we remove the infinite inertia aspectof the shock propagation algorithmonly when computing the im-pulses due to articulation (otherwise, it is used as usual). Finally,the positions and orientations are integrated forward in time usingthe velocities calculated by applying all the impulses necessary tohandle both the contact and articulation constraints. This has en-abled the treatment of large stacks of articulated bodies with ro-bust contactand articulation handling. Note that we do not ap-ply velocity post-stabilization before integrating the positions for-ward in time, since the velocities obtained during contact process-ing and pre-stabilization should not be modified until the positionsand orientations are corrected for contact and constraint enforce-ment. However, after moving the bodies, we again apply velocitypost-stabilization to ensure velocities are valid for the next step.

ConclusionsOur method readily handles complicated contact, collision and ar-ticulation scenarios such as a tank with gears driving treads ortwenty skeletons dropping into a pile (with over 20 million trian-gles). No special treatment is required for branching, closed loops,contact, collision, friction, stacking, etc. The algorithm is quiteefficient, linear in the number of bodies and auxiliary constraints,and necessitated only a small overhead comprising about 5% of theoverall computation time. As future work, we will consider adapt-ing our impulse based approach to a generalized coordinates modelfor articulated bodies.

ReferencesGUENDELMAN , E., BRIDSON, R., AND FEDKIW, R. 2003. Nonconvex rigid bodies

with stacking.ACM Trans. Graph. (SIGGRAPH Proc.) 22, 3, 871–878.