ROS Introduction
1. Introduction à ROS Nœuds (Nodes)
Qu’est-ce que ROS ? • Un nœud est un processus exécutant une
tâche spécifique (ex : capteur, commande
• ROS (Robot Operating System) est un moteur).
framework open-source pour le
développement d'applications robotiques. • Chaque nœud est indépendant,
communique avec d'autres via des topics
• Il fournit une architecture logicielle ou des services.
modulaire, facilitant le développement, le
déploiement et le test des systèmes Topics
robotiques complexes.
• Canaux de communication pour
Pourquoi utiliser ROS ? transmettre des messages entre nœuds.
• Réduction de la complexité dans les projets • Type publisher/subscriber (un nœud
robotiques. publie, un autre s’abonne).
• Grande communauté et réutilisabilité du Messages
code.
• Format structuré des données échangées
• Supporte plusieurs plateformes robotiques. via les topics.
• Intégration facile avec la simulation et la • Exemple : geometry_msgs/Twist pour les
visualisation. vitesses linéaires et angulaires.
Difficultés Services
• Courbe d’apprentissage relativement • Pour les communications requête/réponse
élevée. (différent des topics).
• Nécessite des connaissances en Linux • Exemple : demander une position actuelle
(principalement Ubuntu). du robot ou une action ponctuelle.
• Complexité des configurations et
dépendances.
3. Quelques outils ROS
Outils / Simulateurs
2. Les bases de ROS
• Gazebo : simulateur physique 3D très
Modularité utilisé avec ROS.
• ROS est basé sur une architecture • Permet de tester les comportements du
modulaire : chaque composant est robot sans matériel réel.
indépendant (appelé nœud).
Outils / Visualisateurs
• Cette structure permet une facilité de mise
à jour, réutilisation et test individuel des • Rviz : visualisation de capteurs,
mouvements, cartes, etc.
modules.
• Outil essentiel pour le débogage et
Comment ça marche ?
l’interprétation des données.
• ROS repose sur une communication entre
Structure d’un Workspace (WS)
nœuds via des topics et services.
• Dossier de travail ROS contenant tous les
• Un Master ROS coordonne la
packages.
communication entre les nœuds.
• Structure :
workspace_name/
├── src/
├── build/
└── devel/
• src/ contient les packages développés.
4. Programmation avec ROS
Langages supportés
• Principalement Python et C++.
Fichiers importants
• [Link] : pour la compilation.
• [Link] : informations sur le package
(nom, dépendances...).
Concepts clés
• Publisher / Subscriber : communication
via topics.
• Service / Client : appels ponctuels entre
nœuds.
• Launch files : fichiers .launch pour
exécuter plusieurs nœuds à la fois.