Site icon AranaCorp

Installer ROS2 sur Raspberry Pi

Dans ce tutoriel, nous allons voir comment installer ROS2 sur une machine Linux et notamment un Raspberry Pi 4 avec une distribution Ubuntu. ROS2 est un framework intéressant à abordé lorsqu’on travaille sur des systèmes embarqués comme les robots.

Matériel

Ce tutoriel peut être suivit pour d’autres machines Linux

Téléchargement Ubuntu et configuration de la carte SD

Nous allons voir comment configurer la carte SD pour installer ROS2 (Iron Irwini) sur Raspberry Pi. Cette version de ROS2 est compatible avec Ubuntu Jammy.

Pour cela télécharger l’image d’Ubuntu (Jammy jellyfish) ou sélectionnez l’OS sous Raspberry Pi Imager > General OS > Ubuntu > Ubuntu Desktop 22.04.3 LTS (64bits)

N.B.: vous pouvez retrouver la compatibilité des versions entre ROS et OS et les noms des versions Ubuntu pour vérifier que vous installez les bonnes versions. Sélectionnez la version 64bits pour un meilleur support (tier1)

Installer l’image de l’OS à l’aide de Raspberry Pi Imager sur la carte SD

Une fois l’image écrite sur la carte SD vous pouvez l’insérer dans le Raspberry Pi puis le mettre sous tension.

Vous pouvez ensuite suivre les instructions de configuration sur l’écran du Raspberry Pi.

Configurer la connexion à distance

Vous pouvez, si vous le désirez, configurer la connexion à distance sur Raspberry Pi. Cette étape est optionnelle mais peut vous simplifier la vie lorsque vous développerez sur ROS2 sous Raspberry Pi.

N.B.: sur Ubuntu, pour vous connecter à distance sans moniteur, vous devez modifier le fichier /boot/firmware/config.txt

#dtoverlay=vc4-kms-v3d
hdmi_force_hotplug=1
hdmi_group=1
hdmi_mode=16

Installation de ROS2

Pour l’installation de ROS2, vous devez tout d’abord vérifier que le téléchargement de dépôt Universe est activé. Dans Software & Updates > Ubuntu Software

Ajouter ensuite la clé GPG pour ROS2

sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

Puis ajouter le dépôt à la liste des sources (/etc/source.list.d)

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

Pour le développement, vous pouvez installer les outils de dev

sudo apt update && sudo apt install ros-dev-tools

Vous pouvez enfin installer ROS2 en fonction de la version choisi (desktop ou base)

sudo apt install ros-iron-desktop

ou

sudo apt install ros-iron-ros-base

Pour désinstaller ROS2

Pour la désinstallation, il faut supprimer le paquet ainsi que le dépôt

sudo apt remove ~nros-iron-* && sudo apt autoremove
sudo rm /etc/apt/sources.list.d/ros2.list
sudo apt update

Premier pas avec ROS2

Une fois ROS2 installé, vous pouvez charger l’environnement avec

source /opt/ros/iron/setup.bash

Vous pouvez tester l’installation à l’aide de l’exemple talker/listener

Dans un terminal, lancer le talker

source /opt/ros/iron/setup.bash
ros2 run demo_nodes_cpp talker

Dans un second terminal lancer le listener

source /opt/ros/iron/setup.bash
ros2 run demo_nodes_py listener

Pour vérifier la liste des variables d’environnement

printenv | grep -i ROS

Pour avoir la liste des objets en exécution, vous pouvez utiliser les commandes

ros2 node list
ros2 topic list
ros2 service list
ros2 action list

Installation de TurtleSim

Un bel outil pour apprendre et bien comprendre le fonctionnement de ROS2 est TurtleSim

Vérifier son installation à l’aide de la commande

ros2 pkg executables turtlesim

Si ce n’est pas le cas, vous pouvez installer turtlesim à l’aide de la commande

sudo apt install ros-iron-turtlesim

Dans un terminal lancer turtle sim

ros2 run turtlesim turtlesim_node

Dans une autre terminal, lancer le contrôle par clavier

ros2 run turtlesim turtle_teleop_key

Pour observer ce qu’il se passe, dans un troisième terminal, espionner le topic avec la commande

ros2 topic echo /turtle1/pose

Vous pouvez retrouver la liste des topic disponible à l’aide de la commande

ros2 topic list

Application

Sources

Quitter la version mobile