Academic Year 2023/2024

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Artificial Intelligence (cod. 9063)

Learning outcomes

At the end of the course, the student has the skills required for designing a system composed of one or multiple robotic agents. In particular, the student has a knowledge of the most popular models, methods, architectures, and tools for programming robotic agents endowed with significant computational and cognitive capabilities.

Course contents

The course will cover several topics in robotics. For each topic, we will first introduce it, and then discuss how it can be addressed using AI techniques, and what are the gains and challenges in doing so.

Here are the topics addressed, and the corresponding AI solutions that will be explored:

  1. Basic concepts, methods and tools in robotics
  2. State estimation, and how to address it using reasoning under uncertainty (Bayesian approaches, fuzzy sets, Dempster-Shafer theory)
  3. Motion control, and how to address it using rule-based logical systems (fuzzy logic control)
  4. Action planning, and how to address it using AI planning systems (hierarchical HTN planning)
  5. Human-robot interaction, and how to address it using knowledge representation systems (ontologies, description logics)
  6. Putting it all together, using cognitive robotic architectures
  7. Outlook: socio-ethical issues, and the research frontier


Coming soon.


Teaching methods

The course will alternate three types of activities: presentation of concepts and problems in robotics, discussion on how AI techniques can be used to address those problems, and practical exercises.

Each activity will involve a mixture of frontal lectures, group discussions, and laboratory work.

  • Frontal lectures will be in presence and they will require the active participation and interaction of students; lectures will not be recorded.
  • Group discussions will be both in the classroom and online; discussions will be guided, and they will concern both the theory and the laboratory work.
  • Laboratory work will consist in the execution of six assignments related to the above topics; each assignment will be introduced in the classroom, and it will then be performed autonomously by the students on their own computer outside the scheduled class times; the final (sixth) assignment will integrate all the previous ones, and it will be the basis for the oral examination (more below).

In-person attendance to all classroom activities (lectures, discussions and introduction to assignment) is required.

Assessment methods

The exam consists of two parts.

  • Part I: correct execution of all the laboratory assignments. This part aims at assessing the student's ability to use AI techniques in practical robotic systems; the grade of this part is pass or fail. Every assignment must be demonstrated to the TA, and documented in a written report; to pass, all the reports must be approved by the TA.
  • Part II: oral discussion of the final laboratory assignment. This part aims at assessing the student's knowledge of the course topics, the ability to critically analyse design choices, and the correct usage of the technical terminology. The discussion will be based on the report of the final assignment, but it may involve topics in the course beyond that. Detailed grading criteria will be communicated during the course.

Part I must be passed in order to proceed to Part II; the final grade of the course is the one of Part II.

Teaching tools

We will use "Virtuale" for distribution of learning material and online discussions.

Learning material will include: lecture slides, research papers, book excerpts, and links to public contents on the Internet.

All laboratory assignments will require the use of ROS and Gazebo, available as open source: you will need to install them on your personal computers. Installation instructions and tutorials are available online, e.g., at https://www.ros.org and https://gazebosim.org.

Note that ROS and Gazebo work best on Linux (we will use Ubuntu 20.04) so you should have it installed on your computer. You also need a good understanding of Linux shell commands, and Python and C++ programming knowledge. It is possible to use ROS and Gazebo on MacOS or Windows, but this is not recommended and may bring difficulties. Using an Ubuntu virtual machine is an acceptable option.

Office hours

See the website of Alessandro Saffiotti


Quality education Decent work and economic growth

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.