The lesson of September 24 2026 @10:00 is moved on Sept 23 @ 11:00. This is valid only for this week.
The course is planned to start on the week of September 21 2026
This course aims at providing the students with skills to develop robotic software that is not covered directly in other courses.
We assume the students are familiar with structured programming languages, as we will focus on fundamental tools when it comes to develop fast, energy efficient and robust robotic software. In this edition of the course we will operate exclusively on the Linux operating system.
We will introduce:
C++, a fundamental language that is behind the core aspects of real-time and on-line software and firmware
ROS, an operating environment for supporting the development of robotic modules. ROS is the de-facto standard when it comes to robotic middlewares.
Concepts of Mobile Robot Navigation
The course is organized in frontal lessons and programming exercises.
B115 - DIAG
B120 - DIAG
B120 - DIAG
IMPORTANT: For the communication concerning the course write an email to all teachers adding [RP] at the beginning of the email subject. Not doing so decreases the priority of the email.
A reasonable knowledge of the C programming language, Calculus, and Linear Algebra.
We recommend a native installation of a Linux distro (recommend: Ubuntu 24.04 LTS). As an alternative, you can use a less efficient virtual machine.
If you are using Windows, please set up a Linux environment using WSL
If you are using a MacBook (osx-arm64), you should be okay.
Please contact the tutor Emanuele Giacomini if you face any compatibility problems.
TBD
TBD
The lessons are preferrably attended in presence. To help students that are prevented to partecipate to the class, will provide recordings on youtube, and link then in the lesson's page.
Thursday 10:00-13:00
Friday 11:00-13:00
Viale Regina Elena 295, room 201
Via Delle Sette Sale 29, room 41
On Programming languages
compilers/interpreters/virtual machines
build systems (cmake)
C++
Basics and syntax
Classes
Metaprogramming
Concrete Cases
ROS
Basics and build system
ROS-Robot Setup
ROS-Navigation
Extras: c++ Course By Igor
We remind that the knowledge of C++ is not mandatory for the exam. Still, we believe that this programming skill might be useful for your career in Robotics.
The banner image is from CyberneticZoo and illustrates Willie Vocalite