Skip to content

Repository files navigation

ROS2 Franka workspace

Docker workspaces to use and test the Thunder robot server in a ROS 2 environment, developing inside a container.

Overview

This environment integrates ROS2 Humble with the Franka ecosystem and integrates the robot server. It also enables the use of GUI interfaces (e.g. Gazebo and RViz).

If you find this useful, you can cite the original workspace repository, Thunder Dynamics, and/or me in your work.

Preliminaries

Install Docker Community Edition (ex Docker Engine). You can follow the installation method through apt. Note that it makes you verify the installation by running sudo docker run hello-world. It is better to avoid running this command with sudo and instead follow the post installation steps first and then run the command without sudo.

Follow with the post-installation steps for Linux. This will allow you to run Docker without sudo.

You also would probably need Visual Studio Code and the Dev Containers extension

Usage

Clone the repository wherever you want on the system with recursive behavior(better to clone with linux for line endings, not tested with WSL but should work)

git clone --recursive https://github.com/CentroEPiaggio/test_robot_server

The docker base image and the ROS version can be changed by modifying the BASE_IMAGE and the BASE_TAG in the .devcontainer/Dockerfile.

The build.bash and the run.bash files are used to build and run the image from terminal. attach.bash can be used to connect from the terminal to the same container created with DevContaiers extension.

The first time the container is created on the computer, you probably need to run ./first_compile.bash that initialize and build the stuffs from Franka. Then, you can compile your ROS2 packages with

colcon build --symlink-install

There are two different ways to use this framework:

  • Using DevContainers that creates a persistent container with name ros2_franka_roscon_dev in which all the installations persists since a new build. This scenario is usefull while you are developing. However, the changes will be lost when you recreate the container, so pay attention.
  • Using the terminal, each container created in this way is erased upon exit and have no persistency. This is better for running demos or execute commands.

Use with vscode

Just open the main folder with vscode and click on Reopen in Container when asked. Or, if you ave already a running container, click on Attach to Running Container.. int the DevContainers extension.

Use with terminal

Build the docker image:

./build.bash

Run the container:

./run.bash

Troubleshooting

Author

Giorgio Simonini

Acknowledgments

About

Workspace to test the Thunder robot server on ROS 2

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages