Nuova ricerca

Marko BERTOGNA

Professore Ordinario
Dipartimento di Scienze Fisiche, Informatiche e Matematiche sede ex-Matematica

Insegnamento: Platforms and Algorithms for Autonomous Systems

Informatica (Offerta formativa 2022)

Obiettivi formativi

Il corso mira a fornire le nozioni necessarie per comprendere la pipeline di elaborazione di un sistema di guida autonoma, compresa la percezione, la pianificazione e l'attuazione su piattaforme embedded ad alte prestazioni. Applicherà un insieme eterogeneo di tecniche che vanno dalla visione artificiale e dalle tecniche di machine/deep learning, alla robotica ed al controllo, affrontando molteplici problemi nel settore automobilistico, come il rilevamento di corsie e oggetti, la stima dello stato, il posizionamento preciso, la fusione di sensori e la pianificazione del percorso.

Prerequisiti

Per seguire il corso, sono necessarie conoscenze di programmazione (C/C++ o Python).

Programma del corso

Prima parte [3 CFU]

1-Sensori
Questo blocco introdurrà il corso, spiegando i sensori tipicamente adottati da un sistema di guida autonoma per percepire l'ambiente.

2-Architetture embedded ad alte prestazioni
Verranno presentate le principali piattaforme di elaborazione embedded ad alte prestazioni, spiegando come sono in grado di fornire le prestazioni richieste (per Watt) per eseguire il pesante carico di lavoro di un'applicazione di guida autonoma in tempo reale.

3-Visione artificiale e apprendimento profondo
Tecniche di Computer Vision e Deep Learning verranno applicate a problemi di guida autonoma. Gli esempi includono il rilevamento della corsia, il rilevamento dei veicoli e il monitoraggio basato sui feed delle telecamere.

4-Fusione di sensori
Questo blocco esplorerà filtri e tecniche per determinare e prevedere la posizione degli utenti della strada (automobili, pedoni, altri veicoli) nell'ambiente circostante. L'esempio include i filtri di Kalman per fondere le informazioni fornite dai diversi sensori per produrre una stima più precisa degli oggetti tracciati.

5-Localizzazione
Questo blocco affronterà le tecniche adottate per determinare la posizione precisa di un veicolo all'interno di una mappa ambientale. I modelli matematici alla base dei filtri bayesiani verranno spiegati e applicati ai casi d'uso di interesse.
---
Seconda parte [3 CFU]

1-Modellazione di veicoli
Questo blocco presenta i modelli di veicoli più utilizzati orientati alla progettazione di pianificatori di percorso e algoritmi di controllo del movimento del veicolo, inclusi il monociclo, la bicicletta e i modelli a due binari, con particolare enfasi sulle non linearità e incertezze del modello, che possono essere rilevanti per la pianificazione del percorso e controllo del movimento del veicolo.

2-Fondamenti di teoria del controllo e ottimizzazione vincolata
L'obiettivo di questo blocco è richiamare le basi della teoria e dell'ottimizzazione del controllo che verranno utilizzate per la pianificazione del percorso e la progettazione del controllo del movimento del veicolo. Saranno richiamati gli strumenti di analisi della stabilità, i metodi degli strumenti di progettazione SISO, con enfasi sulla soddisfazione dei requisiti di prestazione rilevanti per il controllo del movimento del veicolo, mentre saranno esaminati gli strumenti di progettazione MIMO come LQ, posizionamento dei poli. Verranno richiamati i fondamenti dell'ottimizzazione convessa vincolata.

3-Pianificazione del percorso
Dopo aver formulato matematicamente il problema della pianificazione del percorso, in questo blocco faremo una panoramica dei metodi di pianificazione del percorso più avanzati. Gli strumenti di pianificazione del percorso basati su modelli saranno studiati in profondità, con particolare attenzione ai metodi basati sull'ottimizzazione e sui campi potenziali. Verrà introdotta l'architettura decisionale gerarchica per illustrare i vincoli imposti dal controllo del movimento del veicolo sottostante alla pianificazione del percorso e viceversa.

4-Controllo del veicolo per seguire il percorso
Questo blocco formulerà il problema del controllo del movimento del veicolo longitudinale e laterale per le applicazioni che seguono il percorso. Saranno presentati schemi di feedback / feedforward sfruttando le informazioni di anteprima. L'impatto dei rumori dei sensori e delle dinamiche degli attuatori sulle prestazioni a circuito chiuso sarà enfatizzato per evidenziare le connessioni con i blocchi precedenti del corso. Verranno introdotti problemi di progettazione della robustezza. Verrà illustrato l'impatto delle non linearità degli attuatori dello sterzo sulle prestazioni a circuito chiuso.

Metodi didattici

Lezioni frontali e esercitazioni in laboratorio.
Gli studenti non frequentanti possono accedere alle slide delle lezioni e al materiale delle esercitazioni.

Testi di riferimento

First part:
- Probabilistic Robotics. Wolfram Burgard, Sebastian Thrun,
Dieter Fox. 2005
- Creating Autonomous Vehicle Systems. Liyun Li, Jean Luc
Gaudiot, Jie Tang, Shaoshan Liu . 2018
- Udacity robotics & SDCE course
- Coursera self driving course
- Many papers in the robotics and computer vision domains

Second part:
- “FeedbackSystems. AnIntroductionforScientistsand Engineers”. Karl Johan Åström, Richard M. Murray. Available here: https://www.cds.caltech.edu/~murray/books/AM05/pdf/am08-complete_22Feb09.pdf

- “PredictiveControl forLinear and HybridSystems”, Francesco Borrelli, Alberto Bemporad, ManfredMorari. Available here: https://www.amazon.it/Predictive-Control-Linear-Hybrid-Systems/dp/1107016886
- “ModelPredictiveControl: Theory, Computation, and Design”. James B. Rawlings, David Q. Mayne, MoritzM. Diehl. Available here: https://sites.engineering.ucsb.edu/~jbraw/mpc/

Verifica dell'apprendimento

Prima parte del corso:
– 5 progettini (obbligatorio passarne almeno 3)
Nota: un maggior numero di progetti completati comporta un voto più alto
– Esame orale (con domande sui progettini presentati)

Seconda parte del corso:
– 3 progettini obbligatori
– Esame orale

Risultati attesi

- Conoscenza e capacità di comprensione: al termine del corso lo studente avrà conoscenze piu' avanzate in merito alle piattaforme ed agli algoritmi di guida autonoma.

- Capacità di applicare conoscenza e comprensione: al termine del corso lo studente sarà in grado di applicare queste conoscenze per la realizzazione e progettazione di sistemi di guida autonoma.

- Autonomia di giudizio: al termine del corso lo studente sarà in grado di riconoscere in modo autonomo i diversi approcci e metodi risolutivi per la realizzazione di sistemi di guida automatica.

- Capacità di comunicazione: al termine del corso lo studente sara' in grado di comunicare autonomamente le scelte progettuali effettuate nella progettazione di un sistema di guida autonoma.

- Capacità di apprendimento: lo studio permetterà lo sviluppo di abilità di apprendimento autonomo e di approfondimento di argomenti collaterali a quelli presentati nel corso.