PLATFORMS AND ALGORITHMS FOR AUTONOMOUS DRIVING
cod. 1010743

Anno accademico 2023/24
2° anno di corso - Primo semestre
Docente responsabile dell'insegnamento
Falcone Paolo
insegnamento integrato
6 crediti
sede: UNIMORE
insegnamento
in INGLESE

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).

Contenuti dell'insegnamento

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.

Programma esteso

- - -

Bibliografia

Prima parte:
- 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

Seconda parte:
- “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/

Metodi didattici

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

Modalità verifica 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

Altre informazioni

- - -