RigidBodyDynamics implements various rigid body dynamics and kinematics algorithms.

Design features

Some of the key design features of this package are:


Current functionality of RigidBodyDynamics includes:

Closed-loop systems (parallel mechanisms) are supported, with optional Baumgarte stabilization of the loop joint constraints. Support for contact is very limited (possibly subject to major changes in the future), implemented using penalty methods.


Installing Julia

Download links and more detailed instructions are available on the Julia website. Downloading Julia 0.6, the latest stable release at the time of writing, is currently recommended. However, RigidBodyDynamics.jl has already been updated to work with the latest 0.7 nightly versions, and future versions will exclusively support Julia 0.7.


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 RigidBodyDynamics

To install the latest tagged release of RigidBodyDynamics, start Julia and enter Pkg mode by pressing ], and then simply run

add RigidBodyDynamics

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

develop RigidBodyDynamics


This library was inspired by IHMCRoboticsToolkit and by Drake.

Most of the nomenclature used and algorithms implemented by this package stem from the following resources:

Related packages


Citing this library

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