-
Notifications
You must be signed in to change notification settings - Fork 1
Home
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, 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]. This example demonstrates 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.
Creating a robot model in RBDL
Dynamics model test