Moby is a GNU GPL 2.0 licensed, multi-body dynamics simulation library written in C++.
Its primary purpose is to serve as the most robust and accurate tool for dynamic robotic simulation.
Features
- Multiple collision models: Newton, Mirtich, Anitescu-Potra, multilinear interpolation-based, and convex optimization-based models implemented
- Multiple joint constraints supported:
- revolute
- prismatic
- universal
- spherical
- fixed
- Simulations serializable using XML file format
- Multiple integrator types::
- Euler
- 4th-order Runge-Kutta
- 4th-order Runge-Kutta implicit
- 4th-order Runge-Kutta-Fehlberg (variable step)
- Articulated bodies supported using both reduced-coordinate and maximal-coordinate representations
- Forward kinematics and manipulator Jacobian computation provided
- Inverse dynamics for robots with both fixed and floating bases is provided
- Graphics can be output to OpenInventor, VRML, or an arbitrary engine; the graphical representation of the simulator can be output to VRML at any time to facilitate debugging.
What's new
- Maximal coordinate articulated bodies added (7/09)
- Numerically robust LCP solving method of Nakamura and Yamane added (6/09)
- Structural enhancements of Lloyd added to to Anitescu-Potra contact model (6/09)
- Anitescu-Potra contact model added (12/08)
- Continuous collision detection method added (11/08)
We can use help from researchers in the graphics and robotics communities
in developing and testing Moby. Please contact us via the account below: