Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

Close

RBDL - Rigid Body Dynamics Library Copyright (c) 2011-2013 Martin Felis martin.felis@iwr.uni-heidelberg.de

Introduction

The RBDL is a highly efficient C++ library that contains some essential rigid body dynamics algorithms such as the Articulated Body Algorithm (ABA) for forward dynamics, Newton-Euler Algorithm for inverse dynamics and the Composite Rigid Body Algorithm (CRBA) for the efficient computation of the joint space inertia matrix. It further contains code for forward and inverse kinematics and handling of external constraints such as contacts and collisions.

The code was written by Martin Felis martin.felis@iwr.uni-heidelberg.de and tightly follows the notation used in Roy Featherstone''s book "Rigid Body Dynamics Algorithm".

Recent Changes

  • 20 February 2013: removed too specialized RigidBodyDynamics::Body constructor (API version 1.1.0)
  • 29 January 2013: added code for api_version_checking. Current API version is 1.0.0.
  • 29 January 2013: added code for api_version_checking
  • 18 June 2012: added support of luamodel_introduction
  • 01 June 2012: added support of joint_models_fixed
  • 14 May 2012: fixed Body constructor as reported by Maxime Reis
  • 04 April 2012: added benchmark tool for CRBA
  • 01 March 2012: added multi degree of freedom joint_models
  • 06 Februry 2012: restructured constraint handling using RigidBodyDynamics::ConstraintSet
  • 24 January 2012: implemented compact and fast representation of RigidBodyDynamics::Math::SpatialTransform

Documentation

The documentation is contained in the code and can be extracted with the tool doxygen.

To create the documentation simply run

doxygen Doxyfile

which will generate the documentation in the subdirectory ./doc/html. The main page will then be located in ./doc/html/index.html.

An online version of the generated documentation can be found at http://rbdl.bitbucket.org.

Getting RBDL

The latest stable code can be obtained from

https://bitbucket.org/rbdl/rbdl/get/default.zip

The official mercurial repository can be cloned from

https://bitbucket.org/rbdl/rbdl

(See http://mercurial.selenic.com/ for mercurial clients.)

Building and Installation

The RBDL is built using CMake (http://www.cmake.org). To compile the library in a separate directory in Release mode use:

mkdir build
cd build/
cmake ../ -D CMAKE_BUILD_TYPE=Release
make

Licensing

The library is published under the very permissive zlib free software license which should allow you to use the software wherever you need.

This is the full license text (zlib license):

RBDL - Rigid Body Dynamics Library
Copyright (c) 2011-2012 Martin Felis <martin.felis@iwr.uni-heidelberg.de>

This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.

Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:

   1. The origin of this software must not be misrepresented; you must not
   claim that you wrote the original software. If you use this software
   in a product, an acknowledgment in the product documentation would be
   appreciated but is not required.

   2. Altered source versions must be plainly marked as such, and must not
         be misrepresented as being the original software.

   3. This notice may not be removed or altered from any source
   distribution.

Please note that this library also comes with the Eigen3 library which is primarily licensed under the MPL2 license. More information about these can be found at:

Recent activity

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.