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.jl 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. The latest version of RigidBodyDynamics.jl requires Julia 0.7, but we recommend downloading 1.0 (the latest stable Julia release at the time of writing). Version 0.7 of RigidBodyDynamics.jl is the last to support Julia 0.6.


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 ]. Then simply run

add RigidBodyDynamics

To use the latest master version and work on the bleeding edge (generally, not recommended), instead run

add RigidBodyDynamics#master

A third option is to clone the repository (to the directory printed by julia -e 'import Pkg; println(Pkg.devdir())'):

dev 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:


Citing this library

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