Mario Selvaggio
Academic Year 2023/2024
- Monday, 8:30-10:30, Room NA-I-A6, Agnano
- Wednesday, 8:30-10:30, Room NA-T-A6, Agnano
Lectures are taught in person. Microsoft Teams (MT) platform will be used in case of attendance issues, to share class materials, and general course's organization. Students are kindly invited to join the MT class with code ftc3t4c.
Send an e-mail (using the tag [RL2023] in subject) to the instructor or to the assistant(s) to set an appointment. The assistantship will be provided in person and 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
- Programming for robotics:
- Preliminary setup: linux operating system, git, docker, C++ programming
- ROS introduction, programming & tools
- ROS robot simulation
- ROS robot motion planning
- Motion control of robotic manipulators:
- Kinematics and dynamic control algorithms
- Trajectory planning
- Robotic vision:
- Computer vision
- Visual servoing
- Control of mobile robots:
- Differential drive mobile robot
- Navigation & SLAM
The exam consists of an oral discussion of a technical project developed along the course. For course attenders, classwork and homeworks will be used to assess the student's knowledge. Homeworks assigned during classdays must be completed within one week. 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 | Homeworks | |||
WEEK 1 | Wednesday 20/09 | Introduction and Overview |
|||
Introduction | |||||
WEEK 2 | Monday 25/09 | Wednesday 27/09 | Programming for robotics | ||
Setup your PC | Hands-on class | ||||
WEEK 3 | Monday 02/10 | Wednesday 04/10 | |||
- | - | ||||
WEEK 4 | Monday 09/10 | Wednesday 11/10 | Friday 13/10 | ||
ROS – Introduction | ROS – Programming | ROS – Programming examples | |||
WEEK 5 | Monday 16/10 | Wednesday 18/10 | |||
ROS – Tools | ROS – Simulation | ||||
WEEK 6 | Monday 23/10 | Wednesday 25/10 | Friday 27/10 | ||
ROS – Sensors & controllers | Hands-on class | ROS - Motion planning | HW 1: Building your robot manipulator | ||
WEEK 7 | Monday 30/10 | Wednesday 01/11 | Motion control of robotic manipulators |
||
Kinematic control – KDL | - | ||||
WEEK 8 | Monday 06/11 | Wednesday 08/11 | |||
- | - | ||||
WEEK 9 | Monday 13/11 | Wednesday 15/11 | |||
- | Dynamic control – KDL | HW 2: Control a manipulator to follow a trajectory | |||
WEEK 10 | Monday 20/11 | Wednesday 22/11 | Robotic vision | ||
Hands-on class | Computer vision - Open CV | ||||
WEEK 11 | Monday 27/11 | Wednesday 29/11 | |||
Visual Servoing – VISP | Hands-on class | HW 3: Implement a vision-based task | |||
WEEK 12 | Monday 04/12 | Wednesday 06/12 | Control of Mobile robots | ||
Differential drive mobile robot | Autonomous navigation & path planning | ||||
WEEK 13 | Monday 11/12 | Wednesday 13/12 | |||
SLAM | Hands-on class | HW 4: Control a mobile robot to follow a trajectory | |||
WEEK 14 | Monday 18/12 | Wednesday 20/12 | |||
Hands-on class | - |
Click here for the class slides PDF file
Click here for the Setup your PC PDF file
Click here for the week 2 hands-on class PDF file
Click here for the ROS - Programming examples class PDF file
Click here to download the homework 1 PDF file
Click here to download the homework 2 PDF file
Click here to download the homework 3 PDF file
Click here to download the homework 4 PDF file