Physsim

Physsim is a C++ rigid-body dynamics simulation library.

It has been developed for two purposes: (a) to provide a stable, flexible platform for research into rigid body simulation and (b) to supply roboticists with state-of-the-art tools in robotic simulation.

Rigid body simulators can be measured in three ways: speed, accuracy, and stability. Speed is important so that complex environments can be simulated in real-time. Accuracy implies that the simulator reflects, to a large degree, the physical phenomena of the real world. Stability (or instability) is an artifact of the numerous approximations made in rigid body simulation; instability adds energy to the system, resulting in articulated bodies "breaking apart", for example. Rigid body simulators currently must balance these three factors. For example, ODE is extremely fast (for nonarticulated bodies) and fairly stable, but not necessarily very accurate.

Motivation

The decision to develop Physsim (not a light one, considering the complexity of rigid body simulation) was influenced by the limited selection of free rigid body simulators usable for robotics research. ODE is a nice library, and has served as the basis for some robotics software (including Webots, Gazebo, etc.), but its maximal-coordinate representation makes controlling manipulator robots difficult and it is not readily extensible; when new methods are developed within the physical simulation community, it is our opinion that ODE will not accept them readily. The alternatives to ODE at the present time are proprietary and quite expensive, not only holding researchers hostage to ever-increasing licensing fees (at the risk of having the tools built on the simulator stop working due to nonpayment or the disappearance of the proprietor), but prohibiting scientists at smaller universities from conducting research into manipulator and humanoid robotics. As a result of the issues described above, Physsim is licensed under the GPL and has been designed to readily incorporate new advances in physical simulation.

Features

Physsim supports many paradigms for rigid body simulation, though not all have been implemented.

Additionally, Physsim makes the following provisions:

What's new

Requirements

We designed Physsim to require only packages that are available "out of the box" in leading linux distributions (specifically Ubuntu and Gentoo). It should therefore be quite easy to get Physsim up and running on your linux box. Development versions of the following packages are required:

Windows is not supported.

Documentation

doxygen generated documentation can be found here. Further documentation is provided in the "docs" directory within the distribution.

Download

The first stable release of Physsim is finally here! The first release (and further stable releases) can be downloaded from here.

The latest version of Physsim can be downloaded from our subversion repository on our project page at SourceForge.

To checkout the code (requires you to have subversion), use the following command (all on one line):

"svn checkout https://physsim.svn.sourceforge.net/svnroot/physsim/Physsim Physsim"

We can use help from researchers in the graphics and robotics communities in developing and testing Physsim. Please contact us via the account below:

edrumwri (at) users (dot) sourceforge (dot) net