Skip to content
Farid edited this page Aug 3, 2020 · 8 revisions

Dynamics modeling using Rigid Body Dynamics Library (RBDL)

This repository provides a lightweight dynamics class based on an open-source dynamics library called RBDL, which contains some essential rigid body dynamics algorithms such as the Articulated Body Algorithm (ABA) for forward dynamics, Recursive Newton-Euler Algorithm (RNEA) 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 Jacobians, forward and inverse kinematics, handling of external constraints such as contacts and collisions, and closed-loop models [1].

The lightweight dynamics class contains a subset of methods available in RBDL such as the inverse dynamics, forward dynamics, Jacobian matrix, Forward kinematics, etc. The first example is the modeling of a serial manipulator(KUKA lbr)generaTwo test cases have been created to demonstrate how robot models are created in RBDL and a A subdynamics class has been created in order to demonstrate demonstrates some useful functionalities of the RBDL library. the derivation of the dynamics model of a serial robot using the RBDL library and the implementation of a gravity compensation controller in the AMBF simulator. For this example, we will use the KUKA lbr model as our test case but the same procedure can be used for other serial manipulators. Also, the RBDL library can be used for closed chain manipulators such as the dVRK MTM and PSM but it requires additional steps when creating the robot’s description in the RBDL. It is worth mentioning that the RBDL library is originally written as a C++ library but is also available as a python library using a python wrapper. In this example, we will use the python wrapper for the RBDL. The RBDL library can be accessed using this link. We will first start off by describing the robot's model in the RBDL and then proceed to the design of the gravity compensation controller in the AMBF. So, we would need two files, where in the first file we use RBDL to derive the dynamics of the robot, and in the second file, we implement the gravity compensation controller and visualize the robot in the AMBF. For describing the robot's model in the RBDL, we use rbdl, numpy, and yaml libraries.



Clone this wiki locally