🛠️ Travaux pratique
🎯 Objectifs
- Comprendre les concepts de base de ROS 2 : nœuds, topics, services, paramètres, actions
- Manipuler les outils
ros2,rqt,rqt_console - Concevoir un système robotique simulé en utilisant les primitives de ROS 2
🐢 Partie 1 — Tutoriels avec turtlesim
turtlesim est un simulateur simple inclus dans ROS 2.
Il permet de se familiariser rapidement avec les bases du système : communication entre nœuds, échanges de messages, appel de services, utilisation de paramètres et d’actions.
📚 Tutoriels de base
- Utiliser turtlesim, ros2 et rqt
- Comprendre les nœuds
- Comprendre les topics
- Comprendre les services
- Comprendre les paramètres
- Comprendre les actions
- Visualiser les logs avec rqt_console
- Lancer plusieurs nœuds avec
ros2 launch - (Optionnel) Enregistrer et rejouer des données
🤖 Partie 2 — Projet de fin de semaine : Système de transport autonome
🔍 Contexte
Vous allez simuler un système robotique autonome combinant trois entités coopérantes :
- Une caméra détecte un code ou identifiant visuel associé à un objet.
- Un bras robotisé est activé pour saisir l’objet détecté et le placer sur un robot mobile.
- Une fois l’objet déposé, le robot mobile se déplace automatiquement vers une position cible prédéfinie.
Ce système distribuée devra exploiter les primitives fondamentales de ROS 2 :
- Topics pour publier les détections et les ordres d’exécution
- Paramètres dynamiques pour configurer les comportements en temps réel
- Services pour fournir des requêtes ponctuelles
- Actions pour gérer les processus longs et monitorables (ex. déplacement ou manipulation)
Ce projet constitue une base extensible pour intégrer par la suite des outils tels que MoveIt 2, NAV2, Foxglove ou Gazebo.
🧠 Tutoriels recommandés pour vous aider à développer le système
Utilisez les tutoriels suivants pour créer vos nœuds, messages personnalisés, services, actions et fichiers de lancement :
📦 Création de l'environnement de développement
🔁 Communication de base
- Écrire un publisher et un subscriber (Python)
- Écrire un client et un service (Python)
- Créer des messages et services personnalisés
⚙️ Paramètres et actions
- Utiliser des paramètres dans une classe Python
- Créer une action personnalisée
- Écrire un serveur et un client d’action (Python)
🚀 Déploiement
- Créer un fichier de lancement (
launch.py) - (Optionnel) Surveiller les changements de paramètres dynamiquement
📌 Remarques
- L’intégration de MoveIt 2, NAV2 se fera ultérieurement dans ce projet, une fois les fondations mises en place.
- Vous êtes libres de simuler certaines actions par des délais ou impressions console comme les aspects physiques ne sont pas encore modélisés.