RigidBodySim provides Julia tools for simulation and visualization of systems of interconnected rigid bodies.

RigidBodySim is mainly built on top of the following packages:

RigidBodySim does not attempt to abstract away its dependence on these packages, as doing so would necessarily expose only a subset of their functionality, and would require users familiar with these packages to learn yet another API. Instead, RigidBodySim simply plugs into existing functionality, providing convenience methods and extensions. Only this additional functionality is documented here, and we refer to the documentation for these packages for further information:


RigidBodySim currently provides the following key features:


Performance is fairly good. For example, we have used RigidBodySim to perform a 10-second simulation of the humanoid robot Atlas (v5) standing on flat ground with a controller running at 100 Hz in 13 seconds with the Tsitouras 5/4 variable-step integrator on a 3GHz machine.


Installing Julia

Download links and more detailed instructions are available on the Julia website. The latest release of RigidBodySim.jl requires at least version 0.7 of Julia.


Do not use apt-get or brew to install Julia, as the versions provided by these package managers tend to be out of date.

Installing RigidBodySim

To install the latest tagged release of RigidBodySim, simply run

import Pkg

To check out the master branch and work on the bleeding edge (generally, not recommended), additionally run


First steps

To load the package, use the command:

using RigidBodySim

It is recommended to follow the quick start guide to get up to speed.


Citing this library

 author = "Twan Koolen, Robin Deits, and contributors",
 title = "RigidBodySim.jl",
 year = 2016,
 url = "https://github.com/JuliaRobotics/RigidBodySim.jl"