Julia implementation of various rigid body dynamics and kinematics algorithms



Build Status codecov.io

RigidBodyDynamics.jl is a rigid body dynamics library in pure Julia. It aims to be user friendly and performant, but also generic in the sense that the algorithms can be called with inputs of any (suitable) scalar types. This means that if fast numeric dynamics evaluations are required, a user can supply Float64 or Float32 inputs. However, if symbolic quantities are desired for analysis purposes, they can be obtained by calling the algorithms with e.g. SymPy.Sym inputs. If gradients are required, e.g. the ForwardDiff.Dual type, which implements forward-mode automatic differentiation, can be used.

See the latest stable documentation for a list of features, installation instructions, and a quick-start guide. Installation should only take a couple of minutes, including installing Julia itself. The documentation includes various usage examples, starting with a quickstart guide. These examples are also runnable locally as Jupyter notebooks; see the readme in the examples directory for instructions.

Related packages

RigidBodyDynamics.jl is part of the JuliaRobotics GitHub organization.

Packages built on top of RigidBodyDynamics.jl include:

Talks / publications

  • May 20, 2019: paper at ICRA 2019: Julia for robotics: simulation and real-time control in a high-level programming language.
  • August 10, 2018: Robin Deits gave a talk at JuliaCon 2018 demonstrating RigidBodyDynamics.jl and related packages.
  • August 23, 2017: a video of a JuliaCon 2017 talk given by Robin Deits and Twan Koolen on using Julia for robotics has been uploaded. It includes a brief demo of RigidBodyDynamics.jl and RigidBodyTreeInspector.jl. Note that RigidBodyDynamics.jl performance has significantly improved since this talk. The margins of the slides have unfortunately been cut off somewhat in the video.

First Commit


Last Touched

9 days ago


1590 commits