Master's Course in Automation Engineering and Robotics
Academic Year 2023/2024

Instructor: Prof. Mario Selvaggio Questo indirizzo email è protetto dagli spambots. E' necessario abilitare JavaScript per vederlo.

(last update: 18/09/23)

Class Schedule

  • Monday, 8:30-10:30 (Room NA-T-A6 in Agnano complex)
  • Wednesday, 8:30-10:30 (Room NA-T-A6 in Agnano complex)

Lectures are 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.

Teaching Assistantship

Send an email (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.

Aim of the Course

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.

Student learning objectives

  • Understanding the ROS architecture, programming, and tools
  • Creating ROS C++ programs using external libraries
  • Simulating and controlling a robotic system to perform a task

Syllabus (updated frequently) 

  • 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. Students not attending are required to contact the instructor to define the technical project to be developed in simulation.