Skip to content
This repository contains a sample ROS package that launches the FRANKA EMIKA Panda robot in the Gazebo simulation environment.
C++ CMake Shell Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.devcontainer Add VS Code Remote Docker dev support Jul 14, 2019
assets Added simulation image to Readme Jul 5, 2019
config
launch
models Added simple box publisher for Gazebo Mar 12, 2019
scripts Add VS Code Remote Docker dev support Jul 14, 2019
src Added simple box publisher for Gazebo Mar 12, 2019
.clang-format MoveIt! - Constraint-aware planning Mar 1, 2019
CMakeLists.txt
LICENSE first commit Jan 14, 2019
README.md
package.xml Fixed wrong dependency name in package.xml Jul 17, 2019

README.md

panda_simulation

Panda in Gazebo

This package was written for ROS melodic running under Ubuntu 18.04. Run the following commands to make sure that all additional packages are installed:

mkdir -p catkin_ws/src
cd catkin_ws/src
git clone https://github.com/erdalpekel/panda_simulation.git
git clone https://github.com/erdalpekel/panda_moveit_config.git
git clone --branch simulation https://github.com/erdalpekel/franka_ros.git
cd ..
sudo apt-get install libboost-filesystem-dev
rosdep install --from-paths src --ignore-src -y --skip-keys libfranka
cd ..

It is also important that you build the libfranka library from source and pass its directory to catkin_make when building this ROS package as described in this tutorial.

Currently it includes a controller parameter config file and a launch file to launch the Gazebo simulation environment and the Panda robot from FRANKA EMIKA in it with the necessary controllers.

Build the catkin workspace and run the simulation:

catkin_make -j4 -DCMAKE_BUILD_TYPE=Release -DFranka_DIR:PATH=/path/to/libfranka/build
source devel/setup.bash
roslaunch panda_simulation simulation.launch

Depending on your operating systems language you might need to export the numeric type so that rviz can read the floating point numbers in the robot model correctly:

export LC_NUMERIC="en_US.UTF-8"

Otherwise, the robot will appear in rviz in a collapsed state.

You can see the full explanation in my blog post.

Extension: MoveIt! constraint-aware planning

This repository was extended with a ROS node that communicates with the MoveIt! Planning Scene API. It makes sure that the motion planning pipeline avoids collision objects in the environment specified by the user in a separate directory (~/.panda_simulation) as JSON files. You can read more about it in the accompanying blog post.

Extension: Publishing a box at Panda's hand in Gazebo

This repository was extended with a node that publishes a simple box object in the Gazebo simulation at the hand of the robot. The position of this box will get updated as soon as the robot moves. You can read more about it in the accompanying blog post.

Extension: Visual Studio Code Remote Docker

I have added configuration files and additional setup scripts for developing and using this ROS package within a Docker container. Currently user interfaces for Gazebo and RViz are not supported. You can read more about it in the blog post.

You can’t perform that action at this time.