Computer Science Department
School of Computer Science, Carnegie Mellon University


Controlling Multibody Dynamics
via Browsing and Time Reversal

Christopher D. Twigg

May 2008

Ph.D. Thesis


Keywords: Rigid body dynamics, frictional contact, linear complementarity, ill-posedness, inverse problems, motion planning, interactive animation, control, browsing, data-driven animation

Animation techniques for controlling passive simulation are commonly based on an optimization paradigm: the user provides goals a priori, and sophisticated numerical methods minimize a cost function that represents these goals. Unfortunately, for multibody systems with discontinuous contact events these optimization problems can be highly nontrivial to solve, and many-hour offline optimizations, unintuitive parameters, and convergence failures can frustrate end-users and limit usage. On the other hand, users are quite adaptable, and systems which provide interactive feedback via an intuitive interface can leverage the user's own abilities to quickly produce interesting animations. However, the online computation necessary for interactivity limits scene complexity in practice.

This thesis presents two methods for controlling the rigid body simulations. The first is Many-Worlds Browsing, a method which exploits the speed of multibody simulators to compute numerous simulations in parallel (offline and online), and allow the user to browse and modify them interactively. By bolting responsive, powerful, intuitive interfaces onto relatively simple sampling techniques we get a method that enables animators to produce compelling results with a minimum of effort. The second method is time-reversed simulation: we provide only the final resting configuration of the system and run the simulator backwards in time. During the development of this method we encountered a number of surprisingly counter-intuitive results, which can be elucidated using a combination of numerical simulation and thought experiments.

117 pages

Return to: SCS Technical Report Collection
School of Computer Science

This page maintained by