Scheda programma d'esame
ROBOTICS
LUCIA PALLOTTINO
Academic year2023/24
CourseROBOTICS AND AUTOMATION ENGINEERING
Code277II
Credits12
PeriodSemester 1 & 2
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
CONTROLLO DEL ROBOTING-INF/04LEZIONI60
ANTONIO BICCHI unimap
GIORGIO GRIOLI unimap
SISTEMI ROBOTICI DISTRIBUITIING-INF/04LEZIONI60
LUCIA PALLOTTINO unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Il corso si propone di fornire agli allievi le nozioni fondamentali e gli strumenti necessari per l’analisi, la progettazione e la realizzazione di sistemi di controllo per sistemi robotici, intesi nella loro più ampia accezione: sistemi fisici controllati da un processore digitale, dotati di capacità sensoriali e di intervento sull’ambiente, con caratteristiche di elevata autonomia e di facile interazione con l’uomo. Al termine del corso, lo studente avrà:

  • conoscenze avanzate inerenti alla modellistica ed al controllo di manipolatori robotici e di veicoli autonomi;
  • conoscenze sulle tecniche e gli algoritmi di pianificazione del moto di sistemi robotici, anche inseriti in contesti di produzione integrata;
  • conoscenze sulle metodologie di modellazione, analisi e progetto di sistemi di controllo per sistemi robotici distribuiti.
Knowledge

The course aims at providing students with the basic knowledge and tools needed for the analysis, design and implementation of robotic control systems in their broadest sense: physical systems controlled by a digital processor, equipped with sensory capabilities and intervention on the environment, with peculiarities of high autonomy and easy interaction with humans. At the end of the course, the student will have:

  • Advanced knowledge relating to modeling and control of robotic manipulators and autonomous vehicles;
  • Knowledge of robotic systems techniques and motion planning algorithms, also with application to integrated production contexts;
  • Knowledge on modeling, analysis and design methodologies for control systems for distributed robotic systems.
Modalità di verifica delle conoscenze

La verifica delle conoscenze avviene attraverso la applicazione delle stesse a casi di studio, i cui risultati sono presentati e discussi attraverso una relazione tecnica ed una presentazione con strumenti multimediali.  

Assessment criteria of knowledge

Knowledge verification occurs through application of the course topics to case studies. Results are presented and discussed through a technical report and a presentation with multimedia tools.

Capacità

Al termine dell'insegnamento lo studente saprà:

  • Progettare sistemi di controllo per sistemi robotici in presenza di vincoli e di incertezze del modello
  • Analizzare le caratteristiche e le proprietà strutturali della dinamica di sistemi robotici avanzati
  • Utilizzare software di simulazione per sistemi robotici
  • Utilizzare le tecniche di pianificazione del moto nello spazio delle configurazioni
  • Utilizzare le metodologie attuali per l'analisi e la gestione di sistemi robotici distribuiti
Skills

At the end of the course the student will know how to:

  • Design control systems for robots also in presence of constraints and uncertainties of the model;
  • Analyze the characteristics and structural properties of the dynamics of advanced robotic systems;
  • Use simulation software for robotic systems;
  • Use motion planning techniques in configuration space;
  • Use the current methodologies for analyzing and managing distributed robotic systems;
Modalità di verifica delle capacità

Durante il corso le tecniche apprese di pianificazione e controllo verranno applicate su sistemi robotici simulati e/o fisici in attività di esercitazione e laboratoriale, sotto la supervisione dei docenti e dei collaboratori alla didattica

Assessment criteria of skills

During the course, the motion planning and control techniques will be applied on simulated and / or physical robotic systems in exercise and laboratory activities, under the supervision of teachers and teaching staff

Comportamenti

Al termine del corso gli  studenti avranno sviluppato l’attitudine a riconoscere nei problemi applicativi di diversa natura che possono essere loro proposti, le caratteristiche salienti dei sistemi robotici in una accezione ampia del termine, di riconoscere le tecniche più adeguate per la pianificazione del moto e per il controllo, e di applicare gli strumenti di progetto appresi.

Behaviors

At the end of the course, students will have developed the ability to recognize in problems of different nature that can be proposed to them, the salient features of robotic systems in a broad sense of the term, to recognize the most appropriate techniques for motion planning and control, and to apply the design tools learned.

Modalità di verifica dei comportamenti

Agli studenti verrà chiesto di illustrare le conoscenze acquisite con il corso mediante lo svolgimento di una esercitazione estesa, conistente nell'applicazione dei temi presentati in aula ad uno o più sistemi robotici o macchine intelligenti come si possono incontrare nella pratica. In questo modo, potranno dimostrare di saper estendere l’applicabilità dei metodi ad una classe più generale di problemi che potranno incontrare nella loro vita professionale.

Assessment criteria of behaviors

Students will be asked to carry out an in-depth examination of the topics presented in the classroom. In this way, they will be able to demonstrate the ability to extend the applicability of the methods to a more general class of problems that they will encounter in their professional life.

Prerequisiti (conoscenze iniziali)
  • Modellistica cinematica e dinamica di sistemi meccanici senza e con vincoli
  • Teoria dei sistemi lineari;
  • Tecniche di controllo dei sistemi lineari;
  • Elementi di algebra lineare e teoria dei grafi
  • Capacità di utilizzo di software di analisi e simulazione (e.g. Matlab, Simulink)
Prerequisites
  • Kinematic and dynamic modeling of mechanical systems without and with constraints
  • Theory of linear systems;
  • Linear Systems Control Techniques;
  • Linear algebra elements and graph theory
  • Ability to use analysis and simulation software (e.g. Matlab, Simulink)
Indicazioni metodologiche

Le lezioni vengono svolte alla lavagna con l'eventuale uso di supporti multimediali per la visione di immagini e video.

Modalità di apprendimento:

  • Partecipazione alle lezioni
  • Partecipazione a seminari
  • Partecipazione alle discussioni
  • Studio individuale
  • Lavoro di gruppo
  • Lavoro di laboratorio

Metodologia di insegnamento:

  • Lezioni
  • Seminari
  • Tutorato
Teaching methods

 

Lessons are performed on the blackboard with the possible use of multimedia media for viewing images and videos.

 

Learning modality:

  • Participation in lessons
  • Participation in seminars
  • Participation in discussions
  • Individual studio
  • Teamwork
  • Laboratory work

Teaching methodology:

  • Lessons
  • Seminars
  • Tutoring
Programma (contenuti dell'insegnamento)

1 Controllo Cinematico

1.1 Catene Cinematiche Seriali

1.2 Veicolo planare vincolato su binario rettilineo o circolare

1.3 Veicolo planare con vincolo di ruota singola (uniciclo)

1.3.1 Inseguimento di traccia con uniciclo

1.3.2 Inseguimento del moto di un punto con uniciclo

1.3.3 Controllo di postura (regolazione) di un veicolo uniciclo

1.4 Veicolo planare con vincolo di ruota doppia (biciclo)

2 Controllo Dinamico di Sistemi Meccanici Completamente Attuati

2.1 Controllori PD Indipendenti

2.2 Controllo a Coppia Calcolata

2.2.1 Robustezza del Controllo a Coppia Calcolata

2.2.2 Controllo Robusto o a Struttura Variabile

2.2.3 Controllo a Coppia Calcolata Adattivo

2.3 Controllo in Backstepping

2.3.1 Controllo in Backstepping di SIstemi Lagrangiani Completamente Attuati Senza Vincoli

2.3.2 Controllo in Backstepping di SIstemi Lagrangiani Completamente Attuati Con Vincoli

2.3.3 Controllo Adattativo in Backstepping  

3 Sistemi Intrinsecamente Nonlineari

3.1 Proprietà strutturali e nonlinearità intrinseche.

3.2 Sistemi Nonlineari: Strumenti di Analisi

3.2.1 Descrizione dello Spazio di Stato, Varietà e Diffeomorfismi

3.2.2 Cambiamenti di Coordinate e Spazi Tangenti

3.2.3 Funzioni, vettori e covettori

3.2.4 Operazioni su Funzioni, vettori e covettori

3.2.5 Distribuzioni e Codistribuzioni

3.2.6 Integrabilità e Teorema di Frobenius

3.3 Raggiungibilità di sistemi nonlineari

3.4 Osservabilità di sistemi non lineare affini nel controllo

4 Controllo di Sistemi Nonlineari

4.1 Introduzione

4.2 Linearizzazione Ingresso-Stati SISO

4.3 Linearizzazione Ingresso-Uscita SISO

4.4 Linearizzazione in retroazione MIMO

 

5 Introduzione ai sistemi multi robot

5.1 Caratteristiche e problematiche

5.2 Astrazione e modellistica

 

6 Introduzione alla teoria dei grafi

6.1 Definizioni, caratteristiche e proprietà dei grafi

6.2 Matrici associate ai grafi e analisi spettrale

6.3 Introduzione all'ottimizzazione discreta

6.4 Introduzione alla programmazione dinamica

 

7 Algoritmi di pianificazione del moto

7.1 Introduzione al problema della pianificazione del moto

7.2 Modelli geometrici e spazio delle configurazioni

7.3 Algoritmi di pianificazione combinatorici.

7.4 Algoritmi di pianificazione del moto basati su campionamento.

7.5 Algoritmi di pianificazione basati sui potenziali o su comportamenti

 

8 Algoritmi distribuiti su reti sincrone

8.1 Introduzione agli algoritmi distribuiti su reti sincrone

8.2 Il Protocollo del Consenso a tempo continuo e discreto

9 Controllo di formazione

9.1 Introduzione al controllo in formazione

9.2 Formalizzazione e modellistica delle formazioni

9.3 Controllo di formazioni con dinamica lineare

9.4 Controllo di formazioni di unicicli

9.5 Problema del Coverage

10 Strumenti di simulazione robotica

10.1 Uso del Matlab per la simulazione di sistemi robotici distribuiti

10.2 Introduzione al Robotics Operative System (ROS)

Syllabus

1 Kinematic Control

1.1 Serial Kinematic Chains

1.2 Planar vehicle constrained on rectilinear or circular track

1.3 Single wheel planar vehicle

1.3.1 Unicycle path tracking

1.3.2 Unicycle trajectory tracking

1.3.3 Unicycle position control

1.4 Bicycle control

2 Dynamic Control of Fully Actuated Mechanical Systems

2.1 Independent PD Controllers

2.2 Computed Torque Control

2.2.1 Robustness of the Computed Torque Control

2.2.2 Robust control or Variable Structure Control

2.2.3 Adaptive Computed Torque Control

2.3 Backstepping Control

2.3.1 Backstepping control of fully actuated unconstrained Lagrangian systems

2.3.2 Backstepping control of fully actuated constrained Lagrangian systems

2.3.3 Backstepping Adaptive Control

3 Intrinsically Nonlinear Systems

3.1 Structural properties and intrinsic nonlinearity.

3.2 Nonlinear Systems: Analysis Tools

3.2.1 Description of State Space, Manifolds and Diffeomorphisms

3.2.2 Coordinates changes and Boundary Spaces

3.2.3 Functions, vectors and co-vectors

3.2.4 Operations on functions, vectors and covectors

3.2.5 Distributions and Codistributions

3.2.6 Integrability and Frobenius Theorem

3.3 Reachability of nonlinear systems

3.4 Observability of nonlinear systems affine in the control

4 Nonlinear Systems Control

4.1 Introduction

4.2 SISO Input-States Linearization

4.3 SISO Input-Output Linearization

4.4 MIMO Feedback Linearization

5 Introduction to multi-robot systems

5.1 Peculiarities and challenges

5.2 Abstraction and modeling

 

6 Introduction to graph theory

6.1 Definitions, characteristics and Properties of Graphs

6.2 Matrices associated to graphs and spectral analysis

6.3 Introduction to Discrete Optimization

6.4 Introduction to Dynamic Programming

 

7 Motion Planning Algorithms

7.1 Introduction to the motion planning problem

7.2 Geometric models and configuration space

7.3 Combinatorial motion planning algorithms

7.4 Sample-based motion planning algorithms

7.5 Planning algorithms based on Artificial Potential fields and on Behaviors

 

8 Algorithms distributed on synchronous networks

8.1 Introduction to distributed algorithms on synchronous networks

8.2 The Consensus Protocol in continuous and discrete time

 

9 Formation Control

9.1 Introduction to formation control

9.2 Abstraction and Modeling of Formations

9.3 Formation Control for robots with linear dynamical model

9.4 Formation Control for unicycle

9.5 Coverage Problem

10 Robotics simulation tools

10.1 Matlab to simulate distributed robotic systems

10.2 Introduction to Robotics Operating System (ROS)

Bibliografia e materiale didattico
  • Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, Giuseppe Oriolo "Robotics, modelling, planning and control", Springer.

  •  R. E. Murray, Z. Li, and S.S. Sastry: ``A Mathematical Introduction to Robotic Manipulation'', CRC Press, 1994.

  • M.W. Spong, M. Vidyasagar: ``Robot Dynamics and Control'', J. Wiley, 1989.

  • Stephen M. LaValle, "Motion Planning Algorithms", Cambridge University Press, 2006.

  • Mehran Mesbahi & Magnus Egerstedt, "Graph Theoretic Methods in Multiagent Networks", Princeton University Press, Princeton, NJ, Sept. 2010. 

  • Nancy Lynch, "Distributed Algorithms" Elsevier, Morgan Kaufmann, 1996.

 

Bibliography
  • Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, Giuseppe Oriolo "Robotics, modelling, planning and control", Springer.

  •  R. E. Murray, Z. Li, and S.S. Sastry: ``A Mathematical Introduction to Robotic Manipulation'', CRC Press, 1994.

  • M.W. Spong, M. Vidyasagar: ``Robot Dynamics and Control'', J. Wiley, 1989.

  • Stephen M. LaValle, "Motion Planning Algorithms", Cambridge University Press, 2006.

  • Mehran Mesbahi & Magnus Egerstedt, "Graph Theoretic Methods in Multiagent Networks", Princeton University Press, Princeton, NJ, Sept. 2010. 

  • Nancy Lynch, "Distributed Algorithms" Elsevier, Morgan Kaufmann, 1996.
Indicazioni per non frequentanti

 Nessuna variazione.

Non-attending students info

N/A

Modalità d'esame

Prima dell'esame gli studenti devono iscriversi sul sito: http://servizi.ing.unipi.it e compilare i questionari proposti.

Nel corso dell’esame il candidato deve dimostrare conoscenza e capacità operative in tutte le parti in cui si articola il programma. Deve inoltre dimostrare di sapere implementare le tecniche studiate nel corso in contesti applicativi, realizzando dimostratori software e/o hardware di sistemi o sottosistemi robotici.

L'esame si svolge in tre fasi, di cui una opzionale:

1) Verifica delle conoscenze teoriche del programma relative al Controllo dei Robot, anche mediante elaborazione di esempi applicativi.
Vedi sotto per una descrizione più dettagliata di questa parte.

2) Verifica delle conoscenze teoriche del programma relative ai Sistemi Robotici Distribuiti, anche mediante elaborazione di esempi applicativi.

3) (Opzionale) Svolgimento di un approfondimento applicativo su temi concordati con i docenti del corso ed i collaboratori al corso. La presentazione dei risultati avviene attraverso dimostrazione pratica e/o una presentazione pubblica con successiva discussione.

Il voto del corso è unico, e comunicato dai docenti solo al termine dell'ultima fase dell'esame.
Le prime due parti della verifica sono relative a impegni paragonabili tra di loro, e hanno uguale peso.
Le tre fasi possono essere svolte in ordine qualsiasi.

L'approfondimento applicativo consiste nell'implementazione operativa di una soluzione ad un problema di Robotica avanzata, in cui viene formulato un problema di rilevanza applicativa e/o teorica, che viene risolto con gli strumenti disponibili allo stato dell’arte, approfondendo eventuali metodi o tecnologie necessarie. L’elaborato finale deve mettere in luce il problema affrontato, i metodi considerati, i riferimenti nella letteratura scientifica e tecnica, e i contenuti originali che hanno portato alla soluzione realizzata.

Ad esempio, l'approfondimento può consistere nella realizzazione di esperimenti per verificare metodi innovativi di pianificazione e/o controllo di robot. Per realizzare le attività connesse il candidato potrà implementare i metodi in un pacchetto software o in un prototipo fisico. Nel secondo caso il candidato potrà frequentare i laboratori  sperimentali a disposizione dei docenti (nei limiti della disponibilità di questi).

L'illustrazione dei risultati sarà affidata ad una presentazione da proiettare in pubblico. La presentazione deve avere la durata complessiva di dieci minuti. La data dell'esame viene concordata direttamente coi docenti e pubblicata sui calendari didattici degli stessi, per consentire agli interessati di assistere.

Il materiale preparati (compresa la presentazione ed eventualmente i sorgenti del codice usato) deve essere messo a disposizione dei docenti almeno una settimana prima della data dell'appello orale, inviando una email contente il link ad un repository su cui visualizzare e/o scaricare il materiale (ad esempio, Dropbox, MIcrosoft 365 o Google Drive)

Scelta di argomenti dell'approfondimento opzionale

I temi dell'approfondimento applicativo sono tipicamente proposti dallo studente stesso. E' possibile ad esempio proporre l'implementazione in un codice SW di metodi proposti in letteratura, dimonstrandone l'applicazione e confrontando i risultati di metodi diversi.
Solo nel caso in cui il tema richieda una presenza in laboratorio, i candidati dovranno coordinarsi con i collaboratori del corso, da cui potranno ricevere suggerimenti sui temi da svolgere . Per facilitare la discussione dei temi opzionali siete pregati di compilare questo questionario. e prednere contatto con uno dei collaboratori al corso.
Alcuni progetti sono disponibili sulla Directory DRIVE  assieme al tutore di riferimento cui chiedere maggiori informazioni

Assessment methods

During the exam the candidate must demonstrate knowledge and operational skills in all the topics of the program. It must also demonstrate the ability to implement the techniques studied in the course in application contexts, creating software and / or hardware demonstrators of robotic systems or subsystems.

The exam consists of three phases:

1) Conducting an in-depth application (project) on topics agreed with the course teachers and collaborators, presentation of the results through practical demonstration and / or public presentation, discussion;

2) Verification of the theoretical knowledge of the program related to the Control of the Robots (if not already explained in the discussion of the application deepening);

3) Verification of the theoretical knowledge of the program related to Distributed Robotic Systems (if not already explained in the discussion of the in-depth application).

The course grade is unique, and communicated by the professors only at the end of the last phase of the exam.
The first phase must precede the other two, which can be carried out in any order.
The three parts of the verification are related to comparable commitments, and have equal weight.

The in-depth application consists in the implementation of a solution to an advanced Robotics problem, in which a problem of applicative and / or theoretical relevance is formulated, which is solved with the tools available at the state of the art, examining any methods or technologies necessary. The final paper must take the form of a project report, highlighting the problem faced, the methods considered, the references in the scientific and technical literature, and the original contents that led to the solution. For example, applying the results of a publication found in the literature by implementing the methods in a prototype or in a software package. To carry out experimental activities related to the project the candidate can attend the experimental laboratories.

Updated: 04/03/2024 11:38