Aller au contenu

Installation Docker

  • Vous ne voulez pas toucher à l’OS hôte (pas de dual-boot, pas de paquets apt).
  • Vous travaillez sur macOS (pas de dual-boot ni de WSL pour faire tourner ROS nativement).
  • Vous voulez un environnement jetable et reproductible, identique pour tout le monde.

Installez Docker Engine en suivant la doc officielle, puis ajoutez votre utilisateur au groupe docker pour éviter sudo :

Fenêtre de terminal
sudo usermod -aG docker $USER
newgrp docker

Vérifiez que Docker fonctionne :

Fenêtre de terminal
docker run hello-world

L’image du cours part de l’image officielle ROS 2 Kilted et y ajoute Gazebo Ionic, le bridge ros_gz et les outils workspace. Le Dockerfile est hébergé sur le site :

Fenêtre de terminal
mkdir -p ~/ros2_bootcamp_docker && cd ~/ros2_bootcamp_docker
wget https://ros2.etienne-schmitz.com/Dockerfile
Fenêtre de terminal
cd ~/ros2_bootcamp_docker
docker build -t ros2-bootcamp .

Le build télécharge l’image de base et installe Gazebo + les paquets (quelques minutes la première fois).

Gazebo et RViz ont besoin d’un serveur d’affichage. La marche à suivre dépend de l’OS hôte.

Autorisez les conteneurs locaux à accéder à votre serveur X :

Fenêtre de terminal
xhost +local:docker

Le conteneur sera lancé avec -e DISPLAY et le montage de /tmp/.X11-unix (voir commande docker run ci-dessous).

On monte le workspace hôte ~/ros2_bootcamp_ws en volume pour que le code et les builds persistent entre deux lancements.

Fenêtre de terminal
mkdir -p ~/ros2_bootcamp_ws
Fenêtre de terminal
docker run -it --rm \
--name ros2-bootcamp \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v ~/ros2_bootcamp_ws:/root/ros2_bootcamp_ws \
ros2-bootcamp

Vous obtenez un shell dans le conteneur, avec ROS 2 déjà sourcé. Testez l’affichage :

Fenêtre de terminal
gz sim shapes.sdf

Une fenêtre Gazebo doit s’ouvrir sur votre bureau.

Le workspace est monté sur /root/ros2_bootcamp_ws. À l’intérieur du conteneur, la préparation est identique au parcours natif :

Fenêtre de terminal
cd /root/ros2_bootcamp_ws
wget https://ros2.etienne-schmitz.com/bootcamp.repos
vcs import src < bootcamp.repos
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install

Vérifier l’environnement.

Cours conçu et animé par Etienne Schmitz