Démarrage Avec ROS2 Humble : Installation, Configuration Et Compilation Sur Raspberry Pi 4
by mbarkkabous999 in Circuits > Robots
10 Views, 0 Favorites, 0 Comments
Démarrage Avec ROS2 Humble : Installation, Configuration Et Compilation Sur Raspberry Pi 4

ROS 2 (Robot Operating System 2) s’impose aujourd’hui comme la référence pour le développement d’applications robotiques modernes, grâce à son architecture flexible, ses performances optimisées et son écosystème riche. La version Humble Hawksbill (LTS), conçue pour Ubuntu 22.04, offre des avantages clés pour les projets embarqués et distribués, notamment sur des plateformes comme le Raspberry Pi 4.
ROS 2 Humble est la solution idéale pour développer des applications robotiques robustes, sécurisées et évolutives, que ce soit pour un prototype sur RPi4 ou un système industriel complexe. Son adoption croissante par les universités et l’industrie en fait un standard d’avenir.
Supplies

Matériel Utilisé
- Raspberry Pi 4 Modèle B (8GB) → Cœur du système embarqué
- Écran + Souris + Clavier → Configuration initiale, débogage avec rqt_graph et visualisation RViz2
- Carte SD (32GB+) → Installation du système (Ubuntu 22.04 / ROS 2 Humble)
- Alimentation stable (5V/3A)
Installation Du Système D'exploitation Via RPi Imager

Téléchargez Ubuntu 22.04 LTS 64-bit Server depuis le site officiel et utilisez Raspberry Pi Imager pour flasher l’image sur la carte SD ou optez pour Ubuntu 22.04 LTS 64-bit Server, disponible en téléchargement officiel, ou utilisez directement l'option d'installation via Raspberry Pi Imager.
Ce choix technique s'impose pour trois raisons majeures : sa stabilité éprouvée pour les déploiements ROS 2, son empreinte système minimale (moins de 500MB de mémoire au boot), et sa compatibilité native avec l'écosystème ROS Humble. La version sans interface graphique, spécialement adaptée aux contraintes du Raspberry Pi 4, maximise les ressources disponibles pour les tâches robotiques tout en permettant une gestion distante via SSH
Démarrage Et Obtention De L’adresse IP

Mise en service du Raspberry Pi :
- Insertion de la carte SD
- Alimentation de la RPi.
- Connectez un écran, un clavier et une souris pour :
- Effectuer le premier login
- Vérifier le bon démarrage du système
- Configuration initiale
- Connexion au terminal :
Connexion À VS Code Via SSH


VS Code constitue une solution de développement puissante et bien organisée, offrant une expérience stable et efficace pour la programmation robotique sous ROS 2. Son principal atout réside dans la connexion SSH au Raspberry Pi, permettant un développement à distance fluide:
- Installez VS Code sur votre PC
- Ajoutez l'extension "Remote - SSH"
- Configurez le fichier SSH (~/.ssh/config) avec l'adresse IP de votre RPi4
Configuration De L’environnement Sous VS Code

Installation des dépendances C++ et CMake :
La vérification des versions est essentielle pour garantir la compatibilité avec les fichiers CMake ultérieurs.
Installation Et Configuration Initiale De ROS2 Humble
- Avant toute installation, il est crucial de mettre à jour votre système Ubuntu via la commande :
- Installation de ROS 2 Desktop pour une expérience complète incluant RViz, les démos et tutoriels via la commande:
- Installation de ROS 2 Base (option minimaliste) pour les systèmes embarqués ou serveurs sans interface graphique (notre cas) via la commande :
- Outils de développement essentiels sont des outils indispensables pour le développement ROS 2, l installation est via la commande:
Avantages ROS2 Humble Et Activation Du Terminal

ROS 2 révolutionne le développement robotique avec :
- DDS : Communication temps réel et fiable
- Sécurité intégrée (chiffrement, authentification)
- Optimisé RPi4 pour l'embarqué low-cost
- Multi-langage (C++/Python) et API stable
- Scalable : Du prototype simple aux essaims de robots
- Ecosystème complet : Gazebo, RViz2, ros2_control
- LTS : Support long terme jusqu'en 2027
Pour activer le terminal ROS2, il faut activer par la commande suivant:
Pour simplifier l'initialisation de votre environnement ROS2, ajoutez ces lignes à la fin de votre fichier ~/.bashrc
Comprendre Les Topics Et Services ROS2
Dans ROS 2, la communication entre les nœuds repose sur deux mécanismes principaux :
- Les Topics (flux de données asynchrones)
- Mode Publisher/Subscriber
- Les Services (communication synchrone)
- Mode Client/Serveur
Nous utilisons des topics (Publisher/Subscriber) dans la suite de notre tutoriel.
Configuration De L'espace De Travail ROS2 Et Initiation D Un Package Python

Créez un workspace pour le processus de compilqtion:
Puis nous creons un package Python (rclpy):
Création De Nœuds C++ (rclcpp) Et Configuration De CMake

Nous illustrons ce concept avec un exemple concret utilisant un package C++ pour capturer des images et les publier sur un topic ROS2 :
- Création du node:
- Developement du code (src/video_node.cpp)
- Configuration CMakeLists.txt
- Adaptation du fichier package.xml
Le fichier complet sera fourni dans une repo github par la commande:
Compilation Avec Colcon

Compilation du workspace avec la commande:
Débogage du système avec les fonctionnalités ROS2, telles que :
Visualisation Avec Rqt_graph Et Rviz2


On note qu Il est indispensable de sourcer l’environnement ROS après la compilation avec colcon, en exécutant la commande suivante dans l’espace de travail ros_ws:
Pour la visualisation graphique avec des outils comme rqt_graph ou Rviz2, il est nécessaire d’activer un environnement graphique minimal, tel que Openbox, afin de permettre l’exécution de ces interfaces sur une machine sans bureau complet (comme Ubuntu Server):
Et lancer via:
Une fois l’environnement graphique lancé, les visualiseurs peuvent être démarrés avec les commandes suivantes : rqt_graph et rviz2