3072 Master's 12 CFU | LM Automation and Robotics Engineering

Mobile Robotics (Robotics 2nd module)

Description

Obiettivi del corso

L'obiettivo del corso è fornire allo studente i principi fondamentali della robotica mobile. Le lezioni frontali introducono i fondamenti teorici della robotica mobile, con particolare riferimento ai sistemi di locomozione, alla modellistica cinematica, alla generazione e al controllo delle traiettorie, alla pianificazione del moto, alla localizzazione e allo SLAM. Le esercitazioni consentono di applicare i metodi trattati a differenti architetture di robot mobili e a problemi di modellazione, analisi dei vincoli cinematici, pianificazione di percorsi, inseguimento di traiettoria, regolazione della postura e stima dello stato. Le attività applicative, di simulazione e di laboratorio, svolte anche mediante ROS 2, Gazebo e piattaforme robotiche reali (robot su ruote e quadrupedi), favoriscono l’apprendimento chiarendo il collegamento tra modelli, algoritmi di pianificazione e controllo, sistemi di percezione e comportamento del robot nell’ambiente. 
 

Programma

Introduzione alla robotica mobile e sistemi di locomozione (5 ore - 0,5 CFU)
Classificazione dei robot mobili e principali ambiti applicativi. Sistemi teleoperati e autonomi. Robot terrestri, aerei e subacquei. Locomozione a ruote e a zampe. Stabilità statica e dinamica. Ruote standard, orientabili, svedesi e sferiche. Architetture differenziali, Ackermann, omnidirezionali e swerve.

Fondamenti di modellistica cinematica dei robot mobili (5 ore - 0,5 CFU)
Sistemi di riferimento globale e solidale al robot. Rappresentazione della posizione e dell’orientamento. Definizione e classificazione dei vincoli cinematici. Vincoli olonomi e non olonomi. Vincoli di puro rotolamento e di assenza di slittamento per le diverse tipologie di ruota.

Modelli cinematici, mobilità e controllabilità (7 ore - 0,7 CFU) 
Modello cinematico generale dei robot mobili su ruote. Modelli differenziale, uniciclo e bicicletta. Gradi di mobilità, sterzabilità e manovrabilità. Robot olonomi e non olonomi. Raggiungibilità, accessibilità e controllabilità locale. Campi vettoriali, parentesi di Lie e condizione di rango dell’algebra di Lie (LARC).

Generazione delle traiettorie e piattezza differenziale (5 ore - 0,5 CFU) 
Separazione tra descrizione geometrica del percorso e legge temporale. Traiettorie ammissibili. Generazione di percorsi mediante interpolazione cubica in ambienti privi di ostacoli. Proprietà di piattezza differenziale dei modelli di robot mobile e applicazione alla pianificazione delle traiettorie.

Controllo del moto dei robot mobili (7 ore - 0,7 CFU) 
Problemi di inseguimento di traiettoria e regolazione della postura. Definizione degli errori di inseguimento e relativa dinamica. Controllo mediante linearizzazione approssimata e linearizzazione ingresso-uscita. Regolazione cartesiana e controllo della postura mediante rappresentazione dell’errore in coordinate polari.

Pianificazione del moto (6 ore - 0,6 CFU) 
Formulazione del problema di pianificazione. Spazio di lavoro e spazio delle configurazioni. Rappresentazione dell’orientamento mediante SO(2) e SO(3). Trasformazione degli ostacoli nello spazio delle configurazioni. Diagrammi di Voronoi e metodi di retrazione. Decomposizione esatta e approssimata in celle. Pianificazione mediante Probabilistic Roadmap e Rapidly-exploring Random Trees. Pianificazione reattiva mediante campi potenziali artificiali. Problema dei minimi locali e principali strategie per il relativo superamento.  

Localizzazione e SLAM (4 ore - 0,4 CFU) 
Localizzazione odometrica. Stima dello stato mediante filtro di Kalman in presenza di rumore di processo e di misura. Filtro di Kalman esteso per sistemi non lineari. Localizzazione mediante misure di distanza e angolo. Introduzione al problema dello SLAM.

ROS 2, modellazione e simulazione di robot mobili (16 ore - 1,6 CFU) 
Architettura e concetti fondamentali di ROS 2. Nodi, topic, messaggi, servizi e package. Utilizzo di Docker. Creazione di messaggi personalizzati e file di avvio. Trasformazioni tra sistemi di riferimento mediante TF2 e visualizzazione in RViz. Modellazione mediante URDF e XACRO. Simulazione di robot differenziali e ambienti mediante Gazebo.

Attività sperimentali su robot mobile (5 ore - 0,5 CFU) 
Sperimentazione su robot mobile (es. TurtleBot e/o Unitree Go2). Configurazione e utilizzo dei sensori e degli attuatori del robot. Esecuzione di procedure di localizzazione e SLAM in ambiente reale. Implementazione e verifica sperimentale di algoritmi per la regolazione della postura.

Modalità d'esame

La verifica dell’apprendimento è effettuata mediante una prova teorica orale e la realizzazione facoltativa di un progetto. 

La prova orale si svolge in presenza e consiste in un colloquio della durata indicativa di 30 minuti. La prova è finalizzata ad accertare la conoscenza dei concetti fondamentali della robotica mobile, nonché la comprensione e la capacità di analizzare modelli cinematici, vincoli cinematici, proprietà di mobilità e controllabilità, metodi di generazione e controllo delle traiettorie, algoritmi di pianificazione del moto, tecniche di localizzazione e approcci SLAM. Durante la prova possono essere richiesti la discussione di aspetti teorici, la derivazione di modelli e leggi di controllo, l’analisi di algoritmi di pianificazione e localizzazione e la risoluzione ragionata di semplici problemi applicativi. Non è consentito l’uso di testi, appunti o dispositivi elettronici, salvo specifica autorizzazione del docente. 

Il progetto può essere svolto individualmente o in gruppo, secondo modalità concordate con il docente. Esso riguarda la modellazione, la pianificazione, la simulazione, la localizzazione o il controllo di un sistema robotico mobile mediante ROS 2, ambienti di simulazione o piattaforme robotiche reali. La valutazione considera la correttezza metodologica, la validazione dei risultati, la capacità di motivare le scelte effettuate e, nel caso di lavori di gruppo, il contributo individuale di ciascuno studente. Il progetto è documentato mediante una relazione tecnica e il codice software sviluppato ed è discusso durante l’esame. 

La prova orale concorre alla valutazione finale per un massimo di 20/30, mentre il progetto e la relativa discussione concorrono per un massimo di 10/30. Il voto finale è ottenuto sommando i punteggi delle due componenti. Per superare l’esame è necessario conseguire una valutazione complessiva non inferiore a 18/30.

Testi di riferimento e materiale didattico

Testo principale:

  • R. Siegwart, I.R. Nourbakhsh, D. Scaramuzza, Introduction to Autonomous Mobile Robots, second edition, MIT Press, 2011

Testo di approfondimento

  • B. Siciliano, L. Sciavicco, L. Villani, G. Oriolo, Robotics: Modelling, Planning and Control, Springer, 2010.

Entrambi i libri sono disponibili in biblioteca.

Dispense, file di simulazione, progetti di esempio per ROS 2 e materiale integrativo sono resi disponibili nel team istituzionale associato all’insegnamento e sono aggiornati progressivamente durante il corso. Per gli studenti non frequentanti, il programma d’esame coincide con quello degli studenti frequentanti; si raccomanda l’uso congiunto del testo principale, delle dispense e del programma dettagliato delle lezioni. 

View all exam sessions →