- Docente: Giuseppe Notarstefano
- Credits: 6
- SSD: ING-INF/04
- Language: English
- Moduli: Giuseppe Notarstefano (Modulo 1) Ivano Notarnicola (Modulo 2)
- Teaching Mode: Blended Learning (Modulo 1) Blended Learning (Modulo 2)
- Campus: Bologna
-
Corso:
Second cycle degree programme (LM) in
Automation Engineering (cod. 8891)
Also valid for Second cycle degree programme (LM) in Computer Engineering (cod. 5826)
Second cycle degree programme (LM) in Artificial Intelligence (cod. 9063)
-
from Feb 20, 2024 to Apr 17, 2024
-
from Apr 23, 2024 to May 29, 2024
Learning outcomes
The course focuses on a novel class of autonomous control and processing systems known as cyber-physical networks or distributed autonomous systems. These multi-agent systems consist of many cyber-physical agents that aim at performing global tasks via local communication and computation in a cooperative way. At the end of the course students will know how to design selected distributed control, learning and optimization methods to solve complex tasks in cooperative network systems. To bridge the gap between theory and application, laboratory activities will allow students to apply the proposed techniques to a number of application domains, including, e.g., planning and control of cooperative autonomous robots, machine learning and data analytics, decision making and optimal control of cooperative autonomous systems.
Course contents
Introduction to Distributed Autonomous Systems
New paradigms and applications domains of autonomous systems: decision systems for data analytics (e.g., recommender systems and localization), sensor networks, cooperative robotics, cooperative mobility, smart energy systems. Introduction to distributed systems: centralized versus distributed computing, key properties and main goals for distributed systems.
Modeling of distributed systems
Models of distributed systems. Graph theory as a tool to model communication among network agents. Preliminaries on graph theory and examples. Distributed algorithms and distributed control laws. Introduction to Python programming with a focus on distributed computing and cooperative robotics via Robotic Operating System 2.
Basic distributed algorithms
Averaging protocols and linear consensus algorithms for multi-agent systems. Complex tasks (e.g., autonomous formation control, containment in leader-follower networks) based on linear consensus algorithms. Practical Python implementation of averaging and distributed control laws on case study examples borrowed from opinion dynamics and sensor networks.
Introduction to distributed optimization
Optimization basics. Main problem set-ups and examples from estimation, machine learning, decision making, and control in cyber-physical networks.
Distributed decision making via consensus optimization
Consensus optimization algorithms based on averaging. Distributed gradient and gradient tracking methods. Practical Python implementation on case studies borrowed from distributed federated machine learning, e.g., logistic regression, support vector machine, training of neural networks for classification.
Cooperative robotics via distributed optimization
Constraint-coupled optimization algorithms based on decomposition schemes. Aggregative optimization. Practical Python implementation on case study examples borrowed from task allocation, formation control and surveillance in cooperative robotics. ROS 2 toolboxes for cooperative robotics.
Readings/Bibliography
The course is based on the books:
- F. Bullo, “Lectures on Network Systems”
- G. Notarstefano, I. Notarnicola, A. Camisa, “Distributed Optimization for Cyber-Physical Networks”
and a set of articles/notes which will be made available throughout the term.
Teaching methods
Frontal lectures, slides and lab exercising. Lectures will be always oriented to practical software implementation with application case studies in dedicated laboratory classes.
Assessment methods
Oral exam and discussion of a course project.
Teaching tools
“Virtuale” (course content and material, useful info). Software tools for the simulation of distributed control and optimization algorithms in distributed autonomous systems.
Office hours
See the website of Giuseppe Notarstefano
See the website of Ivano Notarnicola