Collection of best practices when working with Docker/Docker-Compose and the Robot Operating System (ROS/ROS 2) in simulation as well as with real-hardware with real-time requirements
Author: Tobit Flatscher (2021 - 2023)
This guide discusses best practices for robotics development with the Robot Operating System (ROS/ROS 2) and Docker/Docker-Compose. This includes displaying graphic user interfaces, working with hardware, real-time capable code and the network set-up for multiple machines. Additionally it walks you through the set-up with Visual Studio Code.
This repository used to be part of another guide I have written on Docker and real-time applications. As the general Docker and ROS part has now become quite lengthy, I have decided to extract it and create a repository of its own for it.
This guide is structured in four chapters:
It is further extended by an external guide on Docker for real-time applications with PREEMPT_RT
that can be found here as well as several examples for giving software running inside a container access to hardware.
This workspace contains several other repositories as submodules. Therefore please clone it with the following command:
$ git clone --recurse-submodules https://github.com/2b-t/docker-for-ros.git