Introduction
This is the main homepage of daVinciCode[4], a new physical simulation library. The daVinci software tool, or dVC, is capable of simulating and animating planar systems of bodies experiencing intermittent and steady unilateral contacts. Since different problems require different levels of accuracy, dVC provides user-selectable body types (rigid or locally-compliant), motion models (first-order, quasi-static, dynamic), and time-stepping methods. One can also choose to include friction between the bodies and the plane of motion. To support optimal and robust part design, dVC also supports on-the-fly changes to the geometric and physical parameters of the bodies.
dVC uses state-of-the-art time-stepping methods designed to capture the nonsmooth phenomena (stickslip transitions and contact loss and formation) without regularization. In these methods, each time-stepping subproblem is formulated as a complementarity problem [1]-[3]. These methods are numerically stable and provably convergent.
dVC allows the user to choose between different motion models. It allows comparison and validation of multibody modeling choices (e.g., one chooses to use a quasistatic model, but should have chosen a dynamic model). Second, it enables a hierarchical and iterative approach to design processes. As an example, consider the design of a part feeder (also discussed later). Geometric and dynamic parameters are critical to the functioning of the device and there are many parameters (e.g., coefficients of friction) that are characterized by uncertainty. We would like to be able to consider only the geometry initially to prune the design space eliminating large sets of geometric parameters that render the design infeasible. This can be done by simple geometric models. We then want to be able to refine the design space with quasi-static models, and then using more expensive dynamic models. Thus we can use low-resolution models to quickly eliminate many design alternatives using more complicated models characterized by many unknown parameters to search over a smaller set of feasible designs.
Acknowledgments
This work was supported by the National Science Foundation under grants 0139701 (DMS-FRG), 0413227 (IIS-RCV), and 0420703 (MRI). Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
REFERENCES
[1] M. Anitescu and F. Potra, "Formulating dynamic multi-rigid-body
contact problems with friction as solvable linear complementarity
problems," Nonlinear Dynamics, vol. 14, no. 3, pp. 231-247, 1997.
[2] D. Stewart and J. Trinkle, "An implicit time-stepping scheme for rigid
body dynamics with inelastic collisions and coulomb friction," Int'l
Jrnl. of Numerical Methods in Engineering, vol. 39, pp. 2673-2691,
1996.
[3] P. Song, J.-S. Pang, and V. Kumar, "A semi-implicit time-stepping
model for frictional compliant contact problems," Int'l Jrnl. for
Numerical Methods in Engineering, vol. 60, pp. 2231-2261, 2004.
[4] Stephen Berard, Jeff Trinkle, Binh Nguyen, Benjamin Roghani, Vijay Kumar, and Jonathan Fink. daVinci code: A multi-model simulation and analysis tool for multi-body systems. IEEE International Conference on Robotics and Automation, pages 2588-2593, April 2007.