ROS and experimental robotics
- Lecturer: S. Argentieri, F. Vérité (sylvain.argentieri@sorbonne-universite.fr)
- Course code: UM4RBR21
- Student workload: 12h of lectures, h of tutorials, 20h of labs
- Credits: 6 ECTS
- Specialization tracks:
- Semester offered: S1 S2 S3 S4
- Language of instruction: French English
- Targeted audience: Eng. Sc. department Other :
- Localization : PMC Campus Other :
Course Overview
This teaching unit aims at mastering the ROS2 software in order to (i) build a realistic simulation of a simple two wheels robot or a serial manipulator endowed with sensorimotor capabilities in a dedicated simulator (gazebo), and (ii) to exploit the resulting code to interface with a real robot (Turtlebot 3 Burger or Niryo Ned2) in some realistic robotic scenario.
Mots-clés : ROS2, Gazebo simulation, autonomous navigation, robotic manipulation, cooperation tasks
Prerequisites
Students should have previously acquired the following prerequisites to follow this course:
- Python programming
- Basic signal/image processing algorithms
- Notions in automatic control
Intended Learning Outcomes
By the end of this course, students will be able to:
- To master all the root concepts of the ROS2 software (nodes, messages, topics, services, etc.) and its tools (rviz, gazebo, etc.)
- To write a standard subscriber and publisher node in Python
- To understand and exploit a simulated robot description (written in URDF) in a physical simulator
- To extract relevant information from raw sensory data, coming either from simulation or from a real robot
- To control the actuators of the simulated or real robot
- To interact with both motor and sensory data to achieve a reactive task in a simulated or real environment
- To interface with a real robot, and to adapt all the code written for simulation to the real world
- To define a comprehensive specification document targeting a proposed robotic task
- To develop hardware and/or software solutions to meet the defined requirements
- To assess against set criteria how the list of specifications is validated for the targeted robotic task
Indicative Teaching Sequence and Methods
| Week | C/TD/TP* | Content | Preparation | Learn.\ outc. |
|---|---|---|---|---|
| S1 | C1 + C2 | Introduction to the teaching unit (1h) + introduction to ROS2 (2h) | ROS2 tutorials | AAV1 |
| S2 | C3 | Linux systems and networks (2h) | ROS2 tutorials | AAV1 |
| S3 | C4 | Recalls about event-driven programming (2h) | ROS2 tutorials | AAV1 |
| S4 | TP1 | Hands-on approach to ROS2 (1/3, 4h) | C1+2+3 | AAV1, AAV2 |
| S5 | TP2 | Hands-on approach to ROS2 (2/3, 4h) | AAV1, AAV2 | |
| S6 | TP3 | Hands-on approach to ROS2 (3/3, 4h) | AAV1, AAV2 | |
| S7 | C5 | Flipped classroom: nodes, messages, topics, services and feebacks on the first practical sessions (1h30) | ROS2 tutorial | AAV1, AAV2 |
| S8 | Practical exam | TP1+2+3 + ROS2 tutorials | ||
| S9 | TP4 | Simulated/real robot hands-on, URDF description (1/2, 4h) | C1+2+3 | AAV1, AAV3, AAV7 |
| S10 | TP5 | Data extraction and processing from simulated/real robot (2/2, 4h) | AAV1, AAV4, AAV7 | |
| S11 | C6 | Flipped classroom: URDF, simulation, sensorimotor closed-loop implementation (1h30) | AAV8, AAV9, AAV10 | |
| S12 | Project | Realize a robotic task in simulation and with real robots (1/3, 8h) | TP1-5 | AAV8, AAV9, AAV10 |
| S13 | Project | Realize a robotic task in simulation and with real robots (2/3, 8h) | AAV8, AAV9, AAV10 | |
| S14 | Project | Realize a robotic task in simulation and with real robots (3/3, 8h) | AAV8, AAV9, AAV10 | |
| S15 | Project evaluation | In group, oral and practical evaluation | AAV1-10 |
- C/TD/TP respectively corresponds to lectures, tutorials and lab sessions.
Sequence of the unit
1st phase: C1-2-3-4, TP1-2-3 = ROS fundamentals, quiz + lab exam
2nd phase: Quiz2, TP4-5, C5 = ROS (advanced), quiz
3rd phase: project
Indicative Assessment of Intended Learning Outcomes (1st session)
| Week | Individ./group | In-person/remote | Type of exam | Evaluated outcomes | Scale % |
|---|---|---|---|---|---|
| S2 | Individual | In-person | Quiz | AAV1 | 12% |
| S7 | Individual | In-person | Labs | AAV2 | 25% |
| S8 | Individual | In-person | Quiz | AAV1, AAV3 | 12% |
| S15 | Collective | In-person | Other | AAV8-9-10 | 50% |
2nde session
| Session | Individ./group | In-person/remote | Type of exam | Evaluated outcomes | Scale % |
|---|---|---|---|---|---|
| 2 | Individual | In-person | Labs | All | 50% |
| 1 | Collective | In-person | Other | AAV8-9-10 | 50% |
Bibliographic references
- Robot Operating System, an Introduction, O. Stasse

