Robot Dynamics Library

This is the documentation of RDL, the Robot Dynamics Library, a derivative work of Rigid Body Dynamics Library. The library contains code for both forward and inverse dynamics for kinematic chains and branched models, but it's principle feature is the way kinematics are handled so that runtime checks are made that ensure rules involving reference frames are obeyed. Additionally, the process of changing the reference frame in which a geometric object is expressed in is simple and clear.

One of the key goals has been to keep the API and overall functionality as close to the original RBDL as possible(at least as of the day RDL diverged from RBDL), but to only modify the way kinematics were handled such that it was more obvious in what reference frame geometric objects are expressed.

The original work, RBDL, was developed by Martin Felis at the research group Optimization in Robotics and Biomechanics (ORB) of the Interdisciplinary Center for Scientific Computing (IWR) at Heidelberg University.

The modifications were made by Jordan Lack The modifications were inspired by the dynamics library created by Jerry Pratt and the IHMC Robotics Group. Fortunately for those of you who want to work with robots and love Java, they have open sourced much of their software, and you may find it here. As is true with RBDL, The code is heavily inspired by the pseudo code of the book "Rigid Body Dynamics Algorithms" of Roy Featherstone. Another useful book from which inspiration was drawn is "Port-Based Modeling And Control For Efficient Bipedal Walking Robots" by Vincent Duindam.

API reference separated by functional modules


For some simple examples, see the Examples


The original libary, RBDL, as well as the modifications are published under the very permissive zlib free software license which should allow you to use the software wherever you need. The full license text can be found in the LICENCE file in the root directory of the RDL repo.