Advanced Robotics and Autonomous Systems
Academic Year 2026/2027 - Teacher: CORRADO SANTOROExpected Learning Outcomes
- Knowledge and understanding. The course "Robotic Systems Programming" has the objective of providing the students with the knowledge on the principles, models, techniques and tools to program robotic systems and autonomous system in general. The lectures are based on teaching the principles of dyamic system modeling, automated control, control algorithms, and techniques and languages to program the autonomous behaviour of a robot. Laboratory activities have the aim of testing, in practice, all the topics dealt with in the classroom lectures.
- Applying knowledge and understanding. By means of the analysis of various case-study and with many laboratory exercises, the course allows students to obtain the capability of applying the techniques learnt during classroom lessons in applicative contexts based on robotic systems. Students will also able to understand how to design and tune robotic control algorithms the specific application in which they it will be employed.
- Making judgements. The lectures and, above all, the laboratory activities are organised in a way such as to include a critical analysis of some case-studies, with the relevant solutions considered with possible variations, and pro and cons of them; the aim is to let the student acquire an adequate autonomy in the evaluation of technical choices.
- Communication skills.The communication skills will be considered above all during the exams, here the student will be asked to expose her/his implementation choices providing suitable motivations for them.
- Learning skills. Learning skills will be evaluated during the laboratory. The aim is to test how and how much students have understood the basics of robotic systems and whether they are able to design and develop software for such kind of systems. The evaluation of the learning skills will be then exploited to elaborate (if needed) the arguments that are revealed as the hardest.
Required Prerequisites
- Computer architectures
- C/C++ and Python programming
- Software engineering
- Algorithms and data structures
- Math analysis and complex numbers
- Linear algebra and matrix calculus
- Elements of dynamic systems and control systems
Detailed Course Content
- Recall of dynamic systems
- Recall of PID control
- Recall of dynamic systems and control schemes implementation
- System modeling
- Fuzzy control
- LQR control
- MPC control
- Digital filters
- Predictive filters, Kalman filters
- SLAM
- ROS
- Reasoning and planning
- Prolog and BDI systems
Learning Assessment
Learning Assessment Procedures
The examination is based on the evaluation of the project, that will be assigned by the teacher, and on the evaluation of the oral part.