PaulPauls / franka_emika_panda_pybullet

PyBullet Simulation of the Franka Emika Panda 7-DOF Robot, providing movement simulation, inverse dynamics calculation and gravity compensation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PyBullet Simulation of the Franka Emika Panda 7-DOF Robot

Python version req PyBullet version req


FEP PyBullet Movement gif
Visualization of the Franka Emika Panda in PyBullet Simulation


Simple simulation environment for the Franka Emika Panda 7-DOF robot. The project also includes the recording of a 55 seconds movement of the Franka Emika Panda with a mounted gripper that aimed to provide a well explored state space dataset as it also recorded the torque values applied by the robots control loop after having been corrected by its internal PID controller. The dataset can be found in 'movement_datasets/fep_state_to_pid-corrected-torque_55s_dataset.csv' and is recorded in radian at a sampling rate of 1000Hz, resulting in 55,000 data points. The dataset is visualized in the plots below.

Aside from the functionality to visualize a recorded FEP dataset does the project also provide the code to create simulated torque values based on PyBullet's internal inverse dynamics calculation via the Recursive Newton-Euler Algorithm (RNEA) as well as the option to perform gravity compensation in the simulation. PyBullets RNEA algorithm is calculated based on the FEP robot model description that was taken from Franka Emikas official ROS repository (see here) and was converted from .xacro to .urdf via ROS. In simulation is it possible to consider the dynamic effects of an end effector (a gripper in this project), though only the torques for the 7 joints of the body are recorded.

Further restrictions and specifications of the Franka Emika Panda that were considered in the simulation were taken from the official Franka Emika Panda Datasheet (see here).

Below you will find plots of the recorded robot state over the 55s movement as well as the PID corrected torque and the PyBullet RNEA simulated torque.


Position Plot

FEP dataset position plot


Velocity Plot

FEP dataset velocity plot


Acceleration Plot

FEP dataset acceleration plot


PID-corrected Torque Plot

FEP dataset pid-corrected-torque plot


PyBullet Simulated Torque Plot

FEP dataset simulated-torque plot

About

PyBullet Simulation of the Franka Emika Panda 7-DOF Robot, providing movement simulation, inverse dynamics calculation and gravity compensation.


Languages

Language:Python 100.0%