ROS et Robotique expérimentale
- Responsable de l'UE : S. Argentieri, F. Vérité (sylvain.argentieri@sorbonne-universite.fr)
- Code UE : UM4RBR21
- Volumes horaires / étu : 12 h Cours, h TD, 20 h TP
- Nombre de crédits de l'UE/EC : 6 ECTS
- Parcours-type :
- Semestre où l'enseignement est proposé : S1 S2 S3 S4
- Langue d'enseignement : Français Anglais
- Public concerné : Département SDI Autre (préciser) :
- Localisation : Campus PMC Autre (préciser) :
Thématique
Cette UE vise à former les étudiants au logiciel ROS (version 2) afin de (i) construire une simulation réaliste d'un robot simple à deux roues ou d'un manipulateur série doté de capacités sensori-motrices dans un simulateur dédié (gazebo), et (ii) exploiter le code résultant pour s'interfacer avec un robot réel (Turtlebot 3 Burger ou Niryo Ned2) dans un scénario robotique réaliste.
Mots-clés : ROS2, simulation Gazebo, navigation autonome, robotique de manipulation, tâches de coopération
Prérequis
Afin de suivre cette UE, doivent être acquis précédemment :
- Programmation en python
- Algorithmes de base de traitement du signal/de l'image
- Notion d'automatique / asservissements
Acquis d'apprentissage visés (AAV)
À l'issue de cette UE, les étudiantes ou étudiants seront capables de :
- Maîtriser tous les concepts fondamentaux du logiciel ROS2 (nœuds, messages, sujets, services, etc.) et de ses outils (rviz, gazebo, etc.)
- Écrire un nœud subscriber et publisher standard en Python
- Comprendre et exploiter la description d'un robot simulé (écrite en URDF) dans un simulateur physique
- Extraire les informations pertinentes des données sensorielles brutes, qu'elles proviennent d'une simulation ou d'un robot réel
- Contrôler les actionneurs du robot simulé ou réel
- Traiter des données motrices et sensorielles pour réaliser une tâche réactive dans un environnement simulé ou réel
- S'interfacer avec un robot réel et adapter le code écrit pour la simulation au monde réel.
- Définir un document de spécifications complet ciblant une tâche robotique proposée
- Développer des solutions matérielles et/ou logicielles répondant aux exigences définies
- Évaluer, par rapport à des critères établis, comment la liste des spécifications est validée pour la tâche robotique ciblée
Séquencement et modalités de l'enseignement (indicatif)
| Semaine | C/TD/TP | Contenu | Préparation | AAV associé(s) |
|---|---|---|---|---|
| S1 | C1 + C2 | Introduction à l'unité d'enseignement (1h) + introduction à ROS2 (2h) | Tutoriels ROS2 | AAV1 |
| S2 | C3 | Systèmes Linux et réseaux (2h) | Tutoriels ROS2 | AAV1 |
| S3 | C4 | Rappels sur la programmation événementielle (2h) | Tutoriels ROS2 | AAV1 |
| S4 | TP1 | Approche pratique de ROS2 (1/3, 4h) | C1+2+3 | AAV1, AAV2 |
| S5 | TP2 | Approche pratique de ROS2 (2/3, 4h) | AAV1, AAV2 | |
| S6 | TP3 | Approche pratique de ROS2 (3/3, 4h) | AAV1, AAV2 | |
| S7 | C5 | Classe inversée : nœuds, messages, topics, services et retours d'information sur les premières séances pratiques (1h30) | Tutoriels ROS2 | AAV1, AAV2 |
| S8 | Practical exam | TP1+2+3 + tutriels ROS2 | ||
| S9 | TP4 | Manipulation pratique de robots simulés/réels, description URDF (1/2, 4h) | C1+2+3 | AAV1, AAV3, AAV7 |
| S10 | TP5 | Extraction et traitement des données du robot simulé/réel (2/2, 4h) | AAV1, AAV4, AAV7 | |
| S11 | C6 | Classe inversée : URDF, simulation, implémentation d'une boucle fermée sensorimotrice (1h30) | AAV8, AAV9, AAV10 | |
| S12 | Project | Réaliser une tâche robotique en simulation et avec de vrais robots (1/3, 8h) | TP1-5 | AAV8, AAV9, AAV10 |
| S13 | Project | Réaliser une tâche robotique en simulation et avec de vrais robots (2/3, 8h) | AAV8, AAV9, AAV10 | |
| S14 | Project | Réaliser une tâche robotique en simulation et avec de vrais robots (3/3, 8h) | AAV8, AAV9, AAV10 | |
| S15 | Project evaluation | En groupe, évaluation orale et pratique | AAV1-10 |
Déroulement de l'UE
1re phase : C1-2-3-4, TP1-2-3 = Fondamentaux de ROS, quiz + examen de laboratoire
2e phase : Quiz 2, TP4-5, C5 = ROS (niveau avancé), quiz
3e phase : Projet
Modalités d'évaluation des acquis d'apprentissage (1ère session)
| Semaine | Indiv/collectif | Présentiel/distanciel | Type d'examen | AAV évalué(s) | Barème % |
|---|---|---|---|---|---|
| S2 | Individuel | Présentiel | Quiz | AAV1 | 12% |
| S7 | Individuel | Présentiel | TP | AAV2 | 25% |
| S8 | Individuel | Présentiel | Quiz | AAV1, AAV3 | 12% |
| S15 | Collectif | Présentiel | Autre | AAV8-9-10 | 50% |
2nde session
| Session | Indiv/collectif | Présentiel/distanciel | Type d'examen | AAV évalué(s) | Barème % |
|---|---|---|---|---|---|
| 2 | Individuel | Présentiel | TP | All | 50% |
| 1 | Collectif | Présentiel | Autre | AAV8-9-10 | 50% |
Références bibliographiques
- Robot Operating System, an Introduction, O. Stasse

