Scheda programma d'esame
LABORATORY OF VEHICLE DYNAMICS
MARCO GABICCINI
Academic year2020/21
Course Automotive Engineering
Code764II
Credits6
PeriodSemester 1
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
LABORATORIO DI DINAMICA DEI VEICOLIING-IND/13LEZIONI60
MARCO GABICCINI unimap
Obiettivi di apprendimento
Conoscenze

Il corso si propone di fornire agli allievi nozioni avanzate di dinamica del veicolo e di dotarli degli strumenti necessari per l’analisi e la modellazione funzionale di veicoli stradali (veicoli per passeggeri e veicoli da competizione). L'approccio, tipico della meccanica analitica, si basa sulla scrittura delle equazioni differenziali ed algebriche che descrivono un veicolo. Si studiano, ad esempio, le eq.ni di congruenza, che legano le velocità di punti notevoli del veicolo agli scorrimenti dei pneumatici, le equazioni costitutive, che descrivono le interazioni fra ruote e terreno, e le equazioni di equilibrio dinamico, che descrivono il moto finale del veicolo (e sono responsabili dei trasferimenti di carico in curva e nelle fasi di accelerazione e decelerazione). Nel corso si vanno a fornire inoltre informazioni complementari a quelle già in possesso degli allievi, legate ad esempio alle equazioni che descrivono il comportamento di varie tipologie di differenziali, e si presentano tecniche tipiche della robotica per la modellazione di sospensioni dotate di geometrie complesse.

Vengono altresì trattati alcuni aspetti di pianificazione ottima con tecniche numeriche, utili per definire modelli di pilota artificiale per guida autonoma.

 Al termine del corso, lo studente avrà:

  • conoscenze avanzate inerenti le equazioni che descrivono i fenomeni principali della dinamica del veicolo;
  • conoscenza di almeno un ambiente di sviluppo in cui implementare un modello dettagliato di veicolo;
  • implementato, da zero, almeno una tipologia di modello dinamico di veicolo (es. di tipo 'double track' con differenziale a slittamento limitato);
  • conoscenze delle principali tecniche di controllo ottimo numerico per la pianificazione automatica di traiettorie per un veicolo stradale con determinati requisiti di performance/efficienza.

Il software in cui vengono svolte le sercitazioni al calcolatore è Wolfram Mathematica [https://www.wolfram.com/]. Alcune esercitazioni prevedono l'uso della suite CasADi [https://web.casadi.org/] in ambiente Python.

Modalità di verifica delle conoscenze

La verifica delle conoscenze avviene attraverso la discussione orale di un progetto elaborato dallo studente che prevede l'implementazione al calcolatore, tipicamente impiegando il sofware Wolfram Mathematica, di uno o più modelli di veicolo nello svolgimento di varie tipologie di manovre.

Alla discussione lo studente illustra, mediante una presentazione in PowerPoint o Beamer, il/i modello/i di veicolo implementati ed i risultati delle simulazioni. Il docente valuta la completezza, la robustezza e l'organizzazione del codice di calcolo sviluppato, la ricchezza dei risultati delle simulazioni e la profondità della discussione proposta dal candidato a difesa della bontà dei risultati.

I risultati delle simulazioni coinvolgono alcune manovre tipiche come: chicchiole, inseguimento di traiettorie, colpi di sterzo e simili. E' di fondamentale importanza la creazione delle mappe di soluzioni steady-state (MAPs) per la valutazione delle proprietà sovra-/sotto-sterzanti.

Capacità

Al termine dell'insegnamento lo studente avrà:

  • una conoscenza operativa delle dinamica del veicolo;
  • implementato, da zero, un modello di veicolo con cui effettuare la simulazione di varie tipologie di manovre;
  • la capacità di costruirsi degli strumenti di calcolo per estrarre informazioni dalle simulazioni di cui sopra, con cui classificare il comportamento di un veicolo;
  • la capacità di costruirsi un modello di pilota artificiale in grado di guidare in modo autonomo un veicolo
Modalità di verifica delle capacità

Durante il corso, le tecniche di modellazione e pianificazione vengono applicate ai modelli di veicolo di riferimento simulati (single- e double-track) sotto la supervisione dei docenti e dei collaboratori alla didattica.

Inoltre, all'esame lo studente dovrà preparare ed illustrare una presentazione che riporti i risultati dell'attività di progetto.

 

Comportamenti

Al termine del corso gli studenti avranno sviluppato l'attitudine a riconoscere, nei problemi applicativi di diversa natura che possono essere loro proposti come ingegneri dei veicoli, gli aspetti salienti della dinamica del veicolo, in una accezione ampia del termine, di riconoscere il ruolo giocato dai vari componenti il sistema e di saperli modellare in modo generale, astraendone la funzione e l'effetto dalla particolare realizzazione.

Modalità di verifica dei comportamenti

Agli studenti verrà chiesto di proporre argomenti di approfondimento, quali modelli di veicolo più complessi o dotati di dispositivi speciali (come differenziali di varia natura e sospensioni con geometrie non standard) a cui loro stessi dovranno saper adattare le tecniche apprese. 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.

Prerequisiti (conoscenze iniziali)
  • Corsi di meccanica di base;
  • Corso base di dinamica dei veicoli;
  • Conoscenza operativa di algebra lineare;
  • Conoscenze di base di programmazione

 

Corequisiti
  • Corso di Dinamica Computazionale
  • Corso di Meccanica dei Robot
  • Corso di Simulazione Dinamica Multibody
Prerequisiti per studi successivi

Nessuno.

Indicazioni metodologiche

Le lezioni vengono svolte alla lavagna, con l'eventuale uso di supporti multimediali per la visione di immagini e video, ed al calcolatore relativamente alle sezioni in cui si implementano di codici di simulazione. 

Modalità di apprendimento:

  • Partecipazione alle lezioni
  • Partecipazione a seminari
  • Partecipazione alle discussioni
  • Studio individuale
  • Eventuali lavoro di gruppo

Metodologia di insegnamento:

  • Lezioni
  • Seminari
  • Tutorato

 

Programma (contenuti dell'insegnamento)

Esempio di regisitro delle lezioni tratto dall'a.a. 2020-21

  1. Gio 01/10/2020 08:30-11:30 (3:0 h) lezione: Introduzione al corso. Argomenti del corso e modalità di esame. Primissima introduzione al software Wolfram Mathematica: il linguaggio in cui gli studenti svilupperanno i codici per la simulazione della dinamica del veicolo. (MARCO GABICCINI)
  2. Ven 02/10/2020 08:30-10:30 (2:0 h) lezione: Struttura di Mathematica: il front end (notebook) ed il kernel (computational engine). Settaggio directory di lavoro, caricamento librerie (packages), elencare delle f.ni definite in un package, definizione dell'help per una funzione del package. Operatori: notazione pre-fix, in-fix e post-fix. (MARCO GABICCINI)
  3. Gio 08/10/2020 08:30-11:30 (3:0 h) lezione: Sintassi delle parentesi in Mathematica. La struttura fondamentale: la lista. Creazione liste, estrazione elementi, effettuare delle query col criterio del pattern matching. Rappresentazione interna di oggetti in Mathematica con FullForm, TreeForm, Head. Introduzione alla programmazione funzionale: la f.ne Apply. (MARCO GABICCINI)
  4. Ven 09/10/2020 08:30-10:30 (2:0 h) lezione: Ancora programmazione funzionale: la f.ne Map. Matrici e tensori. Assegnazione con Set e Set Delayed. Fattorizzazione con Coefficient Arrays. Primitive grafiche, grafica statica ed interattiva col Manipulate. Calcolo simbolico. Funzioni pure e loro utilizzo con Map per ricerca multipla di zeri di f.ne non lineare. Sol.ne sistemi non lineari con il FindRoot. Sol.ne di sistemi di eq.ni differenziali con NDSolve. Integrazione numerica di una DAE con NDSolve (pendolo in parametrizzazione ridondante). (MARCO GABICCINI)
  5. Gio 15/10/2020 08:30-11:30 (3:0 h) lezione: Utilizzo del software Mathematica per integrazione di eq.ni differenziali ibride (fenomeni di urto) con reset delle condizioni iniziali utilizzando funzione WhenEvent. Applicazione al fitting di dati sperimentali. Esempio di fitting di dati bidimensionali e tridimensionali affetti da rumore mediante FindFit e FindMinimum con funzioni algebriche. Fitting di dati sperimentali mediante funzioni non algebriche definite come soluzione numerica di eq.ne differenziale non lineare. (MARCO GABICCINI)
  6. Ven 16/10/2020 08:30-10:30 (2:0 h) lezione: Scatola degli attrezzi matematici: matrici di rotazione e derivazione di quantità vettoriali in sistemi di riferimento rotanti. I moduli di un simulatore di dinamica veicolo: i) eq.ni costitutive, ii) eq.ni di congruenza, iii) eq.ni di equilibrio dinamico. Analisi della Magic Formula, scorrimenti, velocità centro ruota e velocità di rotolamento. Sull'approccio 'lifted' alla definizione del sistema di eq.ni differenziali. (MARCO GABICCINI)
  7. Gio 22/10/2020 08:30-11:30 (3:0 h) lezione: Ripasso ragionato e dettagliato delle eq.ni della dinamica del veicolo per la creazione di strutture dati e funzioni in ottica implementazione in codice Mathematica. Le eq.ni dinamiche: la dinamica 'in plane' (x,y,theta) e la dinamica 'out of plane' (i trasferimenti di carico laterale e longitudinale). Varie forme delle eq.ni 'out of plane': equivalenza delle eq.ni di Eulero rispetto al centro di massa e rispetto alla sua proiezione sul piano stradale. Eq.ni di congruenza in forma matriciale. (MARCO GABICCINI)
  8. Ven 23/10/2020 08:30-10:30 (2:0 h) lezione: Ripasso dettagliato e ragionato delle eq.ni costitutive mediante la 'magic formula' nel combinato. Ipotesi differenziale aperto e trazione posteriore. Calcolo delle quantità utili (scorrimenti). Approccio esteso alla definizione delle eq.ni dinamiche del veicolo (77 eq.ni in 77 f.ni inc.). Successive condensazioni mediante eliminazione di simboli (15 eq.ni in 15 f.ni inc.). Forma minima delle eq.ni compatibile con la gestione di loop algebrici presenti nella definizione dei carichi laterali. Ulteriori condensazioni (10 eq.ni in 10 f.ni inc.). Approssimazioni trasf. di carico con accelerazione lat. a regime (7 eq.ni in 7 f.ni incognite). (MARCO GABICCINI)
  9. Gio 29/10/2020 08:30-11:30 (3:0 h) esercitazione: Esercitazione al calcolatore. Impostazione codici. (MARCO GABICCINI)
  10. Ven 30/10/2020 08:30-10:30 (2:0 h) esercitazione: Esercitazione al calcolatore. Impostazione codici in modo interattivo con gli studenti. (MARCO GABICCINI)
  11. Gio 05/11/2020 08:30-11:30 (3:0 h) lezione: Richiami sui rotismi ed analisi del differenziale: eq.ni di congruenza (formula di Willis), equilibrio dei momenti esterni, bilancio di potenza. Il differenziale aperto (potenza dissipata nulla) e a slittamento limitato. Condizioni power-on e power-off. Distribuzione dei momenti scaricati a terra e delle forze da strada a veicolo (hp. equilibrio statico ruote). Il rendimento del differenziale, il torque bias ratio ed il locking coefficient. Andmento del delta coppia in funzione di Mh per varie tipologie di differenziale. [in collaborazione con Ing. Lorenzo Bartali] (MARCO GABICCINI)
  12. Ven 06/11/2020 08:30-10:30 (2:0 h) esercitazione: Interazione del differenziale con il veicolo: il virtual test rig. Caso 1: marcia in rettilineo con differente grip sulle ruote destra e sinistra. Caso 2: marcia in curva. Analisi dettagliata del virtual test rig mediante discussione di codice Mathematica (fornito agli studenti) in cui vengono implementate le prove. Discussione del funzionamento bloccato, sbloccato e transizioni. Vantaggi di trazione rispetto al differenziale open. [in collaborazione con Ing. Lorenzo Bartali] (MARCO GABICCINI)
  13. Gio 12/11/2020 08:30-11:30 (3:0 h) lezione: Analisi cinematica delle sospensioni mediante tecniche basate su analisi di meccanismi. Cinematismo di riferimento. Eq.ni di chiusura non lineari. Analisi linearizzata mediante sviluppo al primo ordine. Forma Pfaffiana delle eq.ni di vincolo lineari nei piccoli spostamenti. Partizionamento e riorganizzazione delle coordinate. Parametrizzazione degli spostamenti dipendenti in f.ni di quelli indipendenti. Illustrazione di codice Mathematica in cui viene implementato tale approccio. [in collaborazione con Ing. Lorenzo Bartali] (MARCO GABICCINI)
  14. Ven 13/11/2020 08:30-10:30 (2:0 h) esercitazione: Analisi cinematica di sospensioni interconnesse con ammortizzatore a scuotimento ed ammortizzatore a rollìo. Il caso del modello RC Serpent X Evo e sua implementazione in un codice Mathematica. Analisi cinematica al prim'ordine di sospensioni linked. Il caso del modello RC Serpent DLS 733 e sua implementazione in un codice Mathematica [in collaborazione con Ing. Lorenzo Bartali]. (MARCO GABICCINI)
  15. Gio 19/11/2020 08:30-11:30 (3:0 h) lezione: Pianificazione di traiettorie dinamiche di veicoli stradali mediante tecniche di controllo ottimo. Discretizzazione del problema di controllo ottimo per via diretta e sua trasformazione in un NLP (approccio 'discretize then optimize'). Generalità sulle tecniche di direct single-shooting, direct multiple-shooting e direct collocation. (MARCO GABICCINI)
  16. Ven 20/11/2020 08:30-10:30 (2:0 h) esercitazione: La suite CasADi in ambiente Python per l'impostazione e per la soluzione di un problema di pianificazione ottima con tecniche numeriche. Crash course su linguaggio Python: distribuzione (Anaconda, PythonXY), interfacce di sviluppo (PyCharm, Spyder, Jupyter). Sintassi del linguaggio Python, librerie numpy e scipy, la libreria CasADi. Soluzione di problemi di ottimo vincolato medium-scale: 'the hanging chain' con vincolo di non compenetrazione su terreno orizzontale, lineare e parabolico. Interfacce con solutore qpoases e IPOPT. (MARCO GABICCINI)
  17. Gio 26/11/2020 08:30-11:30 (3:0 h) esercitazione: Esempio di pianificazione ottima di un sistema dinamico: 'controlled van der Pol'. Impostazione, discretizzazione e soluzione con tecniche: direct single-shooting, direct multiple-shooting e direct collocation. Differenze fra gli NLP risultanti e confronto delle performance. (MARCO GABICCINI)
  18. Ven 27/11/2020 08:30-10:30 (2:0 h) esercitazione: Applicazione delle tecniche di pianificazione ottima al controllo ad orizzonte recedente (o modello predittivo) di un veicolo in pista. Riformulazione della dinamica del veicolo in f.ne dell'ascissa curvilinea, discussione del modello dinamico e 'smoothing' dei vincoli per ridurre il carico computazionale. La necessità di un osservatore del disturbo in presenza di disturbi costanti con tecniche di 'offset-free MPC'. Performance nella soluzione dell'NLP con budget limitato di tempo di calcolo ed iterazioni. Cenni alla real-time iteration. (MARCO GABICCINI)
  19. Gio 03/12/2020 08:30-11:30 (3:0 h) lezione: Analisi dettagliata delle condizioni limite per costruire le Maps of Achievable Performances (MAPs) per un veicolo. Scelta delle coordinate indipendenti per la parametrizzazione dei vari tratti. Strutture dati e funzioni in Mathematica per il campionamento dei vari tratti e delle differenti regioni. (MARCO GABICCINI)
  20. Ven 04/12/2020 08:30-10:30 (2:0 h) esercitazione: Revisione, discussione e debug dei codici degli studenti. [in collaborazione con Ing. Lorenzo Bartali]. (MARCO GABICCINI)
  21. Gio 10/12/2020 08:30-11:30 (3:0 h) esercitazione: Revisione, discussione e debug dei codici degli studenti. [in collaborazione con Ing. Lorenzo Bartali] (MARCO GABICCINI)
  22. Ven 11/12/2020 08:30-10:30 (2:0 h) esercitazione: Revisione, discussione e debug dei codici degli studenti. [in collaborazione con Ing. Lorenzo Bartali] (MARCO GABICCINI)
Bibliografia e materiale didattico

Dispense del docente.

Massimo Guiggiani - The Science of Vehicle Dynamics - Springer 2018

Hans Pacejka - Tire and Vehicle Dynamics - Butterworth-Heinemann 2012

John T. Betts - Practical Methods for Optimal Control and Estimation using Nonlinear Programming - SIAM 2010

Indicazioni per non frequentanti

Nessuna differenza di programma o di valutazione

Modalità d'esame

La verifica delle conoscenze avviene attraverso la discussione orale di un progetto elaborato dallo studente che prevede l'implementazione al calcolatore, tipicamente impiegando il sofware Wolfram Mathematica, di uno o più modelli di veicolo nello svolgimento di varie tipologie di manovre.

Alla discussione lo studente illustra, mediante una presentazione in PowerPoint o Beamer, il/i modello/i di veicolo implementati ed i risultati delle simulazioni. Il docente valuta la completezza, la robustezza e l'organizzazione del codice di calcolo sviluppato, la ricchezza dei risultati delle simulazioni e la profondità della discussione proposta dal candidato a difesa della bontà dei risultati ottenuti.

Vengono valutati favorevolmente approfondimenti proposti e svolti in modo indipendente dai candidati su argomenti complementari mediante esposizione di tavole aggiuntive (ad esempio pianificazione ottima della guida di un veicolo).

Stage e tirocini

Possibili su iniziativa indipendente dello studente

Altri riferimenti web

Nessuno

Note

Si indica come riferimento il canale MS Teams del Corso in cui è presente anche il materiale didattico fornito dal docente ed esempi di lezioni registrate svolte nell'a.a. 2020-21

Updated: 13/12/2020 10:03