Mario Selvaggio
Academic Year 2026/2027
Assistant: Ing. Federico Esposito
- Monday, 8:30-10:30, Room NA-T-A5
- Wednesday, 8:30-10:30, Room NA-T-A6
Lectures are taught in person. Microsoft Teams (MT) platform will be used in case of attendance issues, to share class material, and general course's organization. Students are kindly invited to join the MT class with code 54323xg.
Send an e-mail (using the tag [RL2026] in subject) to the instructor or to the assistant(s) to communicate with us. You can book a 1-hour meeting via the appointment scheduling feature provided by google calendar. The assistantship will be provided in person or via the MT platform.
In this course you will learn how to efficiently build robotic applications using the Robot Operating System (ROS), that provides you access to a large set of open-source software and tools. Students will learn from partaking in practical activities.
- Understanding the ROS architecture, programming, and tools
- Creating ROS C++ programs using external libraries
- Simulating and controlling a robotic system to perform a task
- Introduction and course overview
- ROS essentials:
- Preliminary setup: linux operating system, git, docker, C++ programming
- ROS introduction, programming & tools
- ROS robot simulation
- ROS robot motion planning
- Manipulation:
- Kinematics and dynamics
- Vision sensors
- Autonomous navigation:
- Differential drive mobile robot
- Navigation & SLAM
The exam consists of an oral discussion of a technical project developed along the course. Students not attending are required to contact the instructor to define the technical project to be developed in simulation.
Here is a tentative schedule of lectures. Readings and assignments will be added as they become available.
| Days | Topic | ||
| WEEK 1 | Monday 14/09 | Wednesday 16/09 | Introduction and Overview |
| Introduction | Setup your PC | ||
| WEEK 2 | Monday 21/09 | Wednesday 23/09 | ROS essentials |
| ROS – Introduction | Hands-on class – tutorial | ||
| WEEK 3 | Monday 28/09 | Wednesday 30/09 | |
| ROS 2 – Basics (nodes, interfaces, launch, log, record) | ROS 2 – Packages and workspace | ||
| WEEK 4 | Monday 05/10 | Wednesday 07/10 | |
| ROS 2 – Launch | Hands-on class – tutorial | ||
| WEEK 5 | Monday 12/10 | Wednesday 14/10 | |
| ROS 2 – Tools | ROS 2 – Simulation | ||
| WEEK 6 | Monday 19/10 | Wednesday 21/10 | |
| ROS 2 – Sensors & controllers | Hands-on class – Bring up your robot | ||
| WEEK 7 | Monday 26/10 | Wednesday 28/10 | Manipulation |
| Kinematics & dynamics – KDL | Hands-on class – tutorial | ||
| WEEK 8 | Monday 02/11 | Wednesday 04/11 | |
| Vision sensors | Hands-on class - Control your robot | ||
| WEEK 9 | Monday 09/11 | Wednesday 11/11 | |
| Hands-on class – hardware | Hands-on class – hardware | ||
| WEEK 10 | Monday 16/11 | Wednesday 18/11 | Autonomous navigation |
| Differential drive mobile robot | Autonomous navigation & path planning | ||
| WEEK 11 | Monday 23/11 | Wednesday 25/11 | |
| Simultaneous localization and mapping | Hands-on class - Navigate your mobile robot | ||
| WEEK 12 | Monday 30/11 | Wednesday 02/12 | |
| Hands-on class – hardware | Hands-on class – hardware | ||
| WEEK 13 | Monday 07/12 | Wednesday 09/12 | Project development |
| - | - | ||
| WEEK 14 | Monday 14/12 | Wednesday 16/12 | |
| - | - | ||