Apprendre ROS 2 avec un robot mobile
Les bases de ROS 2 Jazzy, en pratique, autour d'un fil rouge : un robot de livraison à conduite différentielle. On commence par le robot lui-même, puis vous l'enrichissez module après module : nœud, service, action, paramètres et fichiers launch, repères TF2, description URDF, puis simulation dans Gazebo. Chaque module se termine par un QCM, et les modules pratiques par une vraie panne à diagnostiquer. Trois modules bonus, hors note, abordent la qualité de service, les outils de débogage et le passage de la simulation au robot réel.
Fil rouge : Un robot de livraison à conduite différentielle, du premier tour de roue à sa simulation dans Gazebo.
Notion de génie logiciel : Structurer le logiciel d'un robot en nœuds qui communiquent, l'organiser en packages, le simuler avant de le faire rouler.
ROS 2 JazzyPythonC++RVizGazebo
Cours, terminal, éditeur et simulateur : rien à installer.
Commencer le module 1Accès au parcours : le prix et le fonctionnement sont sur la page Tarifs
Programme
-
0
Découvrir ROS 2 20 min · histoire, usages réels, liens utiles · sans note
- Les bases
-
1
Le robot mobile 1 h 15 · cours et QCM · Le minimum de robotique pour comprendre ce que ROS 2 va piloter : capteurs et actionneurs, position et orientation, vitesses v et ω, et ce qu'elles font faire au robot.
- Comprendre ROS 2
-
2
Pourquoi ROS 2 ? 1 h 15 · cours et QCM · Ce qu'un middleware apporte à un robot, et le vocabulaire de ROS 2 (nœuds, graphe, topics, services, actions, interfaces), observé sur le robot qui tourne.
-
3
Organiser son code 1 h 15 · Où vit le code d'un robot ROS 2 (workspace, packages Python et C++, package.xml, exécutables, compilation avec colcon et overlay), et votre premier package, créé, compilé et lancé.
- Programmer avec ROS 2
-
4
Écrire un nœud 1 h 15 · Le fil rouge commence : un robot à conduite différentielle qui reçoit des commandes de vitesse et publie sa position.
-
5
Créer un service 1 h 15 · Ajouter au robot un service get_pose qui renvoie sa position à la demande, avec une interface .srv personnalisée.
-
6
Créer une action 1 h 30 · Envoyer le robot vers un point avec une action goto : goal, feedback pendant le trajet, résultat et annulation.
-
7
Paramètres et fichiers launch 1 h 15 · Rendre le robot configurable sans recompiler : paramètres déclarés, validés et modifiables à chaud, fichier YAML et fichier launch qui démarre le tout.
- Décrire et simuler le robot
-
8
Repères et transformations avec TF2 1 h 30 · Donner au robot ses repères (odom, base_link, laser), diffuser leurs transformations avec TF2 et convertir la position d'un obstacle d'un repère à l'autre.
-
9
Modéliser un robot avec URDF 1 h 30 · Décrire le robot à conduite différentielle en URDF, le factoriser avec Xacro et publier sa description avec robot_state_publisher.
-
10
Simuler le robot dans Gazebo 1 h 45 · Faire rouler le robot de la description URDF dans un monde simulé par Gazebo Harmonic (gz sim), avec sa physique, ses roues motrices et son laser, puis le visualiser dans RViz2.
- Bonus
-
11
La qualité de service (QoS) Bonus · 1 h · Régler la façon dont les messages voyagent (fiabilité, durabilité, historique), choisir le bon profil pour chaque topic et reconnaître une incompatibilité qui coupe la communication sans erreur.
-
12
Les outils de débogage Bonus · 1 h · Une méthode et les outils pour comprendre un robot qui ne fait pas ce qu'on attend : graphe, données, journaux et niveaux de log, enregistrement et rejeu avec ros2 bag, repères TF2.
-
13
De la simulation au robot réel Bonus · 1 h · Ce qui change quand le logiciel quitte le simulateur (capteurs bruités, roues qui glissent, latence, calibration), et la couche de sécurité qui protège le robot : limites, rampe, chien de garde et arrêt d'urgence.