Academic Year 2022-2023



Carlo Drioli
Daniele Salvati
Unit Credits
Teaching Period
Second Period
Course Type
Prerequisites. Prerequisites of the course are the knowledge of basic mathematics and trigonometry, elements of calculus, of linear algebra and of probability and statistics. The course requires basic programming skills, and practical knowledge and skills related to operating systems and programming languages ​​used in the course (Linux, Python) are desired.
Teaching Methods. The theoretical and methodological aspects of the course will concern the description of the different classes of robotic agents, the related functional and constructive aspects, elements of dynamics and control of mobile units, the configuration and control of clusters of robotic units and swarming drones, the types of sensors and audio and video signal processing techniques for the analysis of the visual and acoustic scene by the robotic agent. The practical aspects of the course will concern the different fields of application of the technologies covered and the main software environments and programming languages for the practical implementation of application scenarios. Some real case studies will be examined, using physical devices available in the didactic laboratories.
Verification of Learning. The exam consists of a written test containing exercises and open questions. The written exam must be integrated with a practical project, previously agreed with the teacher.
More Information. The student reception will be at the end of the lectures or will be arranged by appointment.
At the end of the course, the student will have to:

– know the basic concepts and algorithms underlying the operation and control of simple mobile robotic systems.

– know the fundamental concepts and algorithms underlying the scene analysis using data collected by sensors and the design of autonomous behavior.

– know how to analyze and configure the typical application scenarios concerning mobile robotic agents, operating individually or in coordinated clusters.

– know how to use the software environments and programming languages used in the course (ROS, Python).

The aim of the course is to provide the theoretical and practical bases for understanding and practically approaching the recent technologies related to mobile robotic systems. The course will focus on sensorized robotic agents, provided with total or partial autonomy, with particular attention to aerial drones and wheeled devices.
G. Dudek, M. Jenkin

Computational Principles of Mobile Robotics. Cambridge Univ. Press, 2010

R. Siegwart, I.R. Nourbakhsh, D. Scaramuzza

Introduction to Autonomous Mobile Robots Mit Press 2011

Kagan, Eugene Autonomous mobile robots and multi-robot systems motion-planning, communication, and swarming

Wiley, 2020

M. Quigley, B. Gerkey, W.D. Smart.

Programming Robots with ROS O’Reilly Media, 2015

-Testi per Approfondimenti:

Wyatt Newman. A Systematic Approach to Learning Robot Programming with ROS. Chapman and Hall/CRC, 2017

George A. Bekey

Autonomous Robots: From Biological Inspiration To Implementation And Control

Mit Press 2005