Robot Programming 2023/24
News
2023/10/10: Video recordings of the praticals can be found in the Teaching Material
2023/10/09: upon student request the course from October 12 will start @ 9:00 instead 8:00
2023/10/08: Added page with useless stuff.
The course is planned to start on the week of September 25 2023
Abstract
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.
Room
B115 - DIAG
B121 - DIAG
B121 - DIAG
IMPORTANT: For the communication concerning the course write an email to all teachers adding [RobotProgramming] at the beginning of the email subject. Not doing so decreases the priority of the email.
Prior Knowledge
A reasonable knowledge of the C programming language, Calculus and Linear Algebra.
We recommend a native installation of a Linux distro (recommend: Ubuntu 20.04 LTS). As an alternative, you can use a less efficient virtual machine.
Exam (3CFU, No Mark)
Exam Modality: Project
To pass the exam the student will develop a C++ project in ROS implementing some non-trivial algorithm. The discussion of the project can happen anytime during the academic year. The students who passed the exam will be "marked" (pass or not pass) and registered in the session immediately subsequent to the discussion.
BEFORE STARTING TO WORK ON A PROJECT, WAIT FOR OUR CONFIRMATION.
Tentative next discussions:
TBD
Time and Location of the Lessons
The lessons have to be attended in presence.
The students who can't attend the lessons due to delayed enrollment might refer to the material and the video lessons recorded during the pandemic period (here)
Time: First Semester (start on Sept 25 2022)
Tuesday 10:00-12:00
Thursday 8:00 9:00-12:00
Place
Viale Regina Elena 295, room 201
Viale Regina Elena 295, room 201
Subscribing to the Course
IT IS MANDATORY to enroll to the FOLLOWING FORM. Urgent communications will be handled through the email addresses you provide.
Preliminary Program
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.