By Naga Govindaraju UNC Chapel Hill naga@cs.unc.edu Partitioned Dynamics By Naga Govindaraju UNC Chapel Hill naga@cs.unc.edu
Overview Problem of tackling different simulation domains Interleaved simulation Results - Particle systems with rigid bodies - Cloth with rigid bodies Each simulation problem is best attacked using a specialized technique Many interactions are decided bilaterally. For example, cloth would in general not affect the user’s motion but consider a cloth sack with fruit where the interaction is bilateral.
Problems in Combined Simulation Quadratic software explosion Availability of simulation code Time to merge codes is very expensive “Least-common-denominator” simulator for combined simulation degrades performance. Each specialized system is highly optimized based on regularities in objects it models.
Modular Approach Each simulator is a black box with a generic interface. Difficulties in such an interface involve solving for constraint forces. Goal – compute constraint forces across interacting systems with minimal knowledge of system’s internals Difficulties involve satisfying the contact and geometric constraints as they require solving for constraint forces.
Overview of Approach Exploit force/acceleration relationship Matrix-multiply (matrix is explicitly not formed at any point of time). Interleaved simulation to reduce iterations (only one or more of the systems satisfy constraints) Rather than involving in complexities of internals of the systems, apply a force, instruct the system to take a time step and see what it does; resulting change in velocity gives the acceleration.
Solving Constraint Forces Handles for each system Position – x , velocity and acceleration Position dependent constraints
On Multiple Systems
Iterative Solution To get internal unknown handles, approximate acceleration
Constraint Repair Suppose we compute inaccurate , we need to perform repair. Geometric constraint satisfied but not passivity.
Interleaved Simulation Exploit disparities in masses
Figure 1: 0.23 CPU Seconds per frame on a SGI R10000/199 MHz Results Figure 1: 0.23 CPU Seconds per frame on a SGI R10000/199 MHz
Figure 2: 3.9 CPU Seconds per frame on a SGI R10000/199 MHz. Cloth is modelled as a 5054 triangle mesh.
Figure 3: 1.27 CPU Seconds per frame on a SGI R10000/199 MHz
Figure 4: 5.7 CPU Seconds per frame on a SGI R10000/199 MHz
References Partitioned Dynamics by D. Baraff and A. Witkin tech. report CMU-RI-TR-97-33, Robotics Institute, Carnegie Mellon University, 1997. http://www.ri.cmu.edu/pub_files/pub1/baraff_david_1997_bbaraff_david_1997_1.pdf