Corso di laurea
ingegneria robotica e dell'automazione
Università degli studi di Pisa · 40 materie · 1 file condivisi
Il laureato del Corso di Laurea Magistrale in Ingegneria Robotica e dellAutomazione ha un profilo culturale e professionale focalizzato su conoscenze scientifiche e tecnologiche riguardanti la modellazione, la simulazione e il controllo di sistemi per lautomazione, la robotica industriale e la robotica mobile.
Lo scopo del Corso è di formare ingegneri capaci di innovare e sviluppare la produzione, di gestire e controllare sistemi complessi, con elevate capacità di progettazione, pianificazione e programmazione avanzata.
Si tratta di una figura professionale che trova sbocchi lavorativi nella libera professione, nelle imprese manifatturiere o di servizi e nelle amministrazioni pubbliche. I laureati magistrali in Ingegneria Robotica e dellAutomazione, avendo la conoscenza di tecniche e metodologie caratteristiche delle scienze di base (matematica, fisica), saranno in grado di utilizzare tali conoscenze per interpretare e descrivere attraverso modelli formali i problemi tipici dellIngegneria dellAutomazione e della Robotica, con particolare riferimento alla modellistica, identificazione e simulazione di processi e di sistemi e al progetto di leggi e di strategie di controllo. Lapproccio tipico della teoria dei sistemi e dei controlli automatici permette al laureato in Ingegneria Robotica e dellAutomazione di interfacciarsi con gli specialisti dei processi da automatizzare allo scopo di suggerire soluzioni operative e di progetto più efficaci in termini tecnici ed economici.
Una peculiarità del corso è di essere rivolto a studenti di primo livello laureati in diversi settori (tipicamente in ingegneria informatica, meccanica, elettrica, biomedica e gestionale) e di aggiungere le metodologie dellautomazione alle conoscenze preesistenti, allo scopo di formare una figura professionale multidisciplinare e innovativa in ambito ingegneristico, capace di affrontare problemi complessi in contesti intrinsecamente multidisciplinari.
Il Corso di Laurea magistrale in Ingegneria Robotica e dellAutomazione prevede un unico curriculum, con esami tipici del settore dellAutomazione e della Robotica e due gruppi di esami tra i quali lo studente può scegliere il proprio percorso formativo ottimale. Il primo gruppo ha lo scopo di completare la formazione acquisita nel percorso di laurea triennale di provenienza, il secondo gruppo permette di orientare il proprio curriculum verso il settore dellAutomazione e Gestione dei Sistemi, oppure del Controllo dei Veicoli.
La prova finale consiste nella stesura, nella presentazione e nella discussione di un elaborato relativo ad attività di progettazione o di ricerca. La valutazione dellelaborato, oltre che sulla qualità del lavoro svolto, sarà basata sulla padronanza dei temi trattati, sulla capacità di operare in modo autonomo, sulle attitudini di sintesi e sulle capacità di comunicazione.
Il Corso di Laurea Magistrale, in continuità con lesperienza positiva della Laurea Specialistica in Ingegneria dellAutomazione, tende a favorire la possibilità di esperienze internazionali: alcuni insegnamenti e la tesi di laurea possono essere svolti allestero, sia nellambito del programma Socrates, che come free movers.
Sfoglia il materiale didattico
Con UniDocs hai l'opportunità di studiare insieme a tutto il tuo corso di laurea. Guadagna subito dei crediti, carica il materiale del tuo ultimo esame!
Più condividi, più tempo avrai per studiare con tutta la community!
Materie del corso
Il corso mira a fornire un insieme di conoscenze di base sulla programmazione dei calcolatori e strumenti operativi per lo sviluppo di applicazioni informatiche nell’ambito dell’automazione e della Robotica.
Scheda dell'insegnamento
Obiettivi formativi
Il corso mira a fornire un insieme di conoscenze di base sulla programmazione dei calcolatori e strumenti operativi per lo sviluppo di applicazioni informatiche nell’ambito dell’automazione e della Robotica.
Programma
Concetti di base della programmazione. Rappresentazione dell'informazione.
Programmare in C++.
Concetti di base della programmazione a oggetti.
Progettare ed implementare tipi di dato astratti.
Comandi di base di sistemi UNIX/Linux.
Programmazione concorrente
Comunicazione su rete
Programmazione distribuita
Introduzione al Robot Operating System (ROS)
Nessuno.
Lo studente dovrà dimostrare di aver acquisito i concetti base della programmazione per sistemi robotici.
Modalità d'esame
Sono proposti allo studente, durante esercitazioni periodiche durante l'insegnamento e in sede di esame, esercizi su tutte le capacità oggetto del corso.
Esercizio pratico, che, se superato, porta all'ammissione a un breve colloquio orale.
Testi di riferimento
1) Andrea Domenici, Graziano Frosini, "Introduzione alla Programmazione ed Elementi di Strutture Dati con il Linguaggio C++", Milano: Franco Angeli (okay from the fifth edition onwards)
2) James F. Kurose, Keith W. Ross, Computer Networking, A Top-Down Approach - VII Edition, Pearson Education
3) Slide del corso, in formato PDF, pubblicate sul canale Teams.
Codice insegnamento 79474
Al termine del corso la studentessa o lo studente avrà acquisito conoscenze e capacità di comprensione nei seguenti blocchi tematici: processi stocastici e principali strumenti di analisi statistica e spettrale;…
Scheda dell'insegnamento
Obiettivi formativi
Lo studente che completa il modulo di "Controllo Robusto" in maniera positiva avrà acquisito le seguenti conoscenze: la capacità di analizzare sistemi multivariabili in presenza di classi di incertezze strutturate e non strutturate, la capacità di progettare sistemi di controllo robusti basati su prestazioni in norma, ovvero H2 e Hinf, scrivere codice per l'implementazione di sistemi avanzati di controllo robusto.
Programma
Processi stocastici e analisi spettrale: processi stazionari, rumore bianco, modelli AR, MA e ARMA, autocovarianza, densità spettrale, teorema fondamentale dell’analisi spettrale, stima di media, autocovarianza e spettro, correlogramma, periodogramma e test di Anderson.
Predizione: predittore fittizio e ottimo, fattorizzazione spettrale, filtro sbiancante, predittori per processi ARMA e ARMAX.
Identificazione: formalizzazione del problema, rappresentazione Box-Jenkins e forme predittive di ARX, AR, ARMA e ARMAX; minimi quadrati, Gauss-Newton, identificabilità, ingressi persistentemente eccitanti, analisi asintotica, cross-validazione, FPE, AIC, MDL, autocovarianza per processi MA e covarianza parziale per processi AR.
Stima statica: modello di osservazione, stima Bayesiana e non Bayesiana, ML, MAP, LS, MMSE, EAP, polarizzazione, consistenza, efficienza, varianza, MSE, FIM, CRLB, BLUE, linearizzazione, trasformata unscented, metodi Monte Carlo, degenerazione dei pesi e ricampionamento.
Stima dinamica: osservabilità, osservatore di Luenberger, filtro di Kalman, innovazione, distanza di Mahalanobis, filtro stazionario, EKF, UKF, filtro a particelle, ricampionamento e smoother di Rauch-Tung-Striebel.
Applicazioni: esempi e implementazioni MATLAB di identificazione, stima statica e filtraggio non lineare; assegnazione e discussione degli esercizi per l’elaborato d’esame.
Sono richieste conoscenze di algebra lineare e calcolo matriciale, probabilità e variabili aleatorie, processi stocastici, segnali e sistemi a tempo discreto, sistemi dinamici lineari e rappresentazione in spazio di stato. Sono fondamentali le conoscenze di Teoria dei Sistemi e del Controllo e di Probabilità e Processi Stocastici. È utile una conoscenza di base di MATLAB. Il corso sviluppa autonomia di giudizio nella scelta di modelli, stimatori e criteri di validazione, capacità di pianificare un’analisi a partire dai dati, atteggiamento critico verso ipotesi e limiti dei metodi nonché una comunicazione tecnica efficace relativa agli argomenti del corso.Richiami sul concetto di feedback e ben posto, stabilità interna, guadagni e direzioni principali per la definizione di perfomance; tecnica di progetto loop shaping per SISO e MIMO, limitazioni della tecnica di loop shaping per sistemi MIMO; margini di stabilità MIMO; limitazioni nel progetto di controllo in feedback; definizione di norme di segnali e di sistemi; Formulazione del problema di controllo robusto: Classificazione delle incertezze, robustezza e suoi teoremi, definizione degli ingressi e obiettivi di controllo; definizione di norma H2 e Hinf e metodi per il loro calcolo, tecniche di controllo H2 e LQG; tecniche di controllo Hinf; teorema del piccolo guadagno; bounded real lemma; sintesi in frequenza robusta e valore singolare strutturato; MU analisi e sintesi. Cenni ai metodi Linear Matrix Inequalities e Equazioni algebrica di Riccati per la sintesi Hinf. Internal model control.
Lo studente deve aver completato i prerequisiti formali presenti nel piano di studi. Lo studente deve avere altresì la conoscenza completa delle basi teoriche dei sistemi di controllo, di processi stocastici e teoria della probabilità e dei concetti fondamentali dell'automazione.
Lo studente saprà analizzare e progettare tecnicamente un sistema di controllo in presenza di incertezze sul sistema o sul processo da controllare
Modalità d'esame
Le capacità applicative sono esercitate mediante esempi numerici, analisi di dati, esercizi e implementazioni MATLAB. In sede di esame sono verificate attraverso la correttezza metodologica dell’elaborato, la motivazione delle scelte, la qualità dell’implementazione, l’interpretazione dei risultati e la risposta a quesiti applicativi durante il colloquio.
L’esame, svolto in presenza, consiste nella presentazione e discussione di un elaborato svolto in piccoli gruppi e basato su un esercizio assegnato dal docente, cui segue un colloquio orale sull’intero programma. L’elaborato deve descrivere problema, ipotesi, metodo, implementazione, risultati e interpretazione; il colloquio può comprendere spiegazioni teoriche, derivazioni, rappresentazioni grafiche e brevi esercizi su carta o alla lavagna. La valutazione, espressa in trentesimi, considera correttezza e completezza dell’elaborato, appropriatezza delle scelte metodologiche, qualità dell’implementazione, interpretazione critica, padronanza del programma e chiarezza espositiva. Il voto minimo richiede conoscenze sufficienti e corretta applicazione dei metodi fondamentali; voti più elevati richiedono completezza, autonomia e capacità critica.La verifica si basa su domande ed esercizi riguardanti la formulazione del problema di controllo ottimo e la modellazione dell'incertezza. Viene inoltre valutata la capacità dello studente nell'utilizzo dei toolbox Matlab attraverso un'esercitazione da svolgere a casa, individualmente o in gruppo, la cui valutazione avverrà sulla base della presentazione dell'elaborato in sede di esame finale. La valutazione è condotta dalla commissione, in tutto o in parte.
L'esame finale è orale ed ha due parti una per ciascun modulo. L'esame è sostenuto in aula ed il risultato positivo di ciascun modulo è valido per una sessione aggiuntiva di esame.
L'esame orale consiste nella presentazione e discussione del progetto/relazione ai docenti e/o collaboratori esperti, seguito da una serie di domande orali da rispondere a voce oppure su carta e/o lavagna su gli argomenti del corso.
L'esame viene considerato positivo se lo studente ha mostrato la capacità di presentazione in modo scientificamente solido, se ha discusso positivamente gli argomenti del progetto ed ha risposto positivamente alle domande orali. Parte del giudizio riguarda anche la capacità dello studente di comunicare e mantenere una conversazione di alto livello scientifico e tecnico richiesto per la comprensione da parte di una platea tecnica (nazionale ed internazionale). Il progetto è un requisito del corso.
Testi di riferimento
Testi consigliati:
- S. Bittanti, Model Identification and Data Analysis, John Wiley & Sons, 2019;
- L. Ljung, System Identification: Theory for the User, Prentice Hall;
- Y. Bar-Shalom, X. R. Li e T. Kirubarajan, Estimation with Applications to Tracking and Navigation: Theory, Algorithms and Software, John Wiley & Sons.
Completano il materiale esercizi, dati e script MATLAB illustrati in aula e condivisi dal docente.
I testi raccomandati per il modulo di "Controllo Robusto" sono:
- Skogestad, S., and Postlethwaite, I. (2005). Multivariable feedback control: Analysis and Design. Hoboken, US-NJ: John Wiley.
- Morari, M., Zafiriou, E.. (1989) Robust Process Control. PrenRce Hall
- Zhou K., Doyle JC., Glover K. (1996). Robust and Optimal Control.
- Gu, D. W., Petkov, P., and Konstantinov, M. M. (2005). Robust control design with MATLAB®. Springer Science & Business Media.
Codice insegnamento 79648
Il corso si propone di fornire agli allievi le nozioni fondamentali e gli strumenti necessari per l’analisi, la verifica e la modellazione dettagliata di robot industriali (seriali e paralleli), robot mobili (su ruote…
Scheda dell'insegnamento
Obiettivi formativi
Il corso si propone di fornire agli allievi le nozioni fondamentali e gli strumenti necessari per l’analisi, la verifica e la modellazione dettagliata di robot industriali (seriali e paralleli), robot mobili (su ruote o zampe) e veicoli, intesi nella loro più ampia accezione. I robot oggetto del corso sono in generale 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 la modellistica ed il controllo di robot seriali;
- conoscenze sulle tecniche e gli algoritmi di pianificazione del moto di robot;
- conoscenze sulle metodologie di modellazione, analisi e progetto di robot paralleli e mani artificiali
Il software in cui vengono svolte le esercitazioni al calcolatore è MATLAB e/o Python. Alcune esercitazioni possono prevedere l'uso della suite CasADi [casadi.sourceforge.net] in ambiente MATLAB e/o Python.
Il corso si propone di fornire agli studenti conoscenze su :
- Sensori per robotica e automazione (posizione, velocità ed accelerazione);
- Attuatori per robotica e automazione: motori DC con e senza spazzole, motori stepper;
- Azionamenti per motori elettrici
- Metodi di controllo del moto
Programma
- Introduzione: Evoluzione storica della robotica e prospettive future.
- Rotazioni e riferimenti: Punti, vettori e coordinate in sistemi ortonormali. Rotazioni come cambi di coordinate. SO(3), riflessioni, composizioni in assi fissi/mobili, congruenza di tensori. Parametrizzazioni ZYX e ZYZ, inversione, gimbal lock.
- Roto-traslazioni: Coordinate in sistemi roto-traslati. SE(3) come trasformazione omogenea. Composizioni di roto-traslazioni. Esempio: disco che rotola senza strisciamento.
- Orientamento inverso: Risoluzione con invarianti lineari. Quaternioni unitari: composizione, vantaggi e interpolazione (SLERP). Composizione in SE(3) e trasformazioni per similitudine.
- Manipolatori seriali: Dalla struttura alla cinematica diretta. Parametrizzazione D-H. Esempi: RR planare, RPP, polso sferico. Necessità di offset in alcune configurazioni.
- Problemi diretti e inversi: Soluzione numerica (Newton-Raphson) e analitica (Pieper) per robot con polso sferico. Disaccoppiamento posizione/orientamento.
- Cinematica differenziale: Atti di moto (twist), trasformazioni Ad_g, calcolo del Jacobiano per RRR 3D. Forma minima del twist.
- Statica: Rappresentazione con wrench. Trasformazioni di wrench, asse centrale, dualità cineto-statica, prodotto di reciprocità.
- Analisi del Jacobiano: Sottospazi fondamentali, ortogonalità, singolarità (es. RR planare), confronto Jacobiano geometrico/analitico. Relazione velocità angolare-parametrizzazioni.
- Cinematica inversa differenziale: Algoritmi CLIK con Jacobiano analitico. Integrazione numerica e criticità.
- Gruppi di Lie: Parametrizzazione globale (POE) e locale. Mappa esponenziale. URDF in ROS e UR5 come esempio.
- Dinamica (Newton-Eulero): Equazioni cardinali e momenti. Algoritmo RNEA e ABA per manipolatori in parametrizzazione POE. Esempi.
- Dinamica lagrangiana e vincolata: Lagrangiana standard e con vincoli. Calcolo delle matrici di inerzia e Coriolis. Vincoli scleronomi/reonomi, soluzione DAE. Esercizi fra cui l'upright rolling penny.
- Manipolatori paralleli: Tipologie, problemi cinematici, singolarità, statica e dinamica. Vincoli di tipo Pfaffiano. Struttura e equilibrio interno. Esempio: gripper biforcato, analisi delle forze interne.
Sensori per robotica e automazione:
- Sensori di posizione lineare e angolare
- Sensori di velocità lineare a angolare
- Sensori di accelerazione lineare
Attuatori per robotica e automazione
- Attuatori lineari
- Attuatori rotativi
Azionamenti per motori elettrici
- DC con spazzole
- DC brushless
- Stepper
Controllo del moto
· Il controllore standard (PID)
- Disturbi, errore a regime e Feed-forward
- Saturazione e Wind-up,
- Autotuning
- Implementazione in un linguaggio di programmazione
Controllo del moto – esempi applicativi al calcolatore
- sistemi di equazioni differenziali lineari e non-lineari;
- Tecniche di controllo a ciclo chiuso di base;
- concetti base di dinamica del corpo rigido
- concetti base di elettricità, elettronica e magnetismo
Al termine del corso lo studente dovrà essere in grado di analizzare e progettare sistemi di controllo del moto con senso critico in autonomia.
Modalità d'esame
Durante il corso le tecniche apprese di pianificazione e controllo verranno applicate su sistemi meccanici e veicoli simulati e/o fisici in attività di esercitazione e laboratoriale, sotto la supervisione dei docenti e dei collaboratori alla didattica
L'esame consiste in una prova scritta e, in caso di esito positivo, in un breve colloquio orale sugli argomenti del corso. Lo scritto è articolato in uno o più esercizi da svolgere autonomamente, con l'uso del materiale del corso (4 facciate di un foglio protocollo); l'orale consiste in una o due domande cui rispondere interagendo con la commissione. Il candidato può inoltre scegliere di svolgere un progetto facoltativo di approfondimento, illustrato alla commissione dopo il superamento della prova scritta, che può contribuire a migliorare la valutazione finale.Le capacità applicative sono esercitate mediante esempi numerici, semplici problemi e simulazioni MATLAB. In sede di esame sono verificate attraverso la formulazione della soluzione di un problema di controllo del moto e attraverso la discussione critica delle scelte dei sensori ed attuatori necessari.
L’esame consiste in una verifica orale delle competenze acquisite.
Testi di riferimento
Dispense del docente.
B. Siciliano - Robotica, 3a edizione, Mc-Graw-Hill
K. M. Lynch & F. C. Park - Modern Robotics, 1a edizione, Cambridge University Press
R. Murray, Z. Li & S. Sastry - A Mathematical Introduction to Robotic Manipulation, CRC Press
Testo consigliato:
G.A.Magnani, G.Ferretti, P.Rocco - Tecnologie dei sistemi di controllo, McGraw-Hill
Slides delle lezioni fornite dal docente
Codice insegnamento 79635
Al termine del corso lo studente avrà acquisito conoscenze in merito a cinematica del corpo rigido e dei sistemi di corpi rigidi; meccanica delle superfici (contatto, attrito radente e volvente); rendimento e sua…
Scheda dell'insegnamento
Obiettivi formativi
Al termine del corso lo studente avrà acquisito conoscenze in merito a
- cinematica del corpo rigido e dei sistemi di corpi rigidi;
- meccanica delle superfici (contatto, attrito radente e volvente);
- rendimento e sua valutazione per macchine semplici;
- trasmissioni di potenza;
- relazioni fondamentali della lubrificazione;
- tramissioni con cinghie e con ruote dentate (inclusa generazione ruote)
- funzionamento freni
- dinamica del corpo rigido e dei sistemi di corpi rigidi
- oscillazioni dei sistemi ad uno o più gradi di libertà
Programma
Cinematica (10L + 6E)
- Cinematica del punto materiale, del corpo rigido e dei sistemi di corpi rigidi (2D). Gradi di libertà e vincoli nel piano. Analisi grafica e analitica delle velocità e delle accelerazioni di un meccanismo. Analisi di posizione di un meccanismo.
Richiami di Statica* (4L + 2E)
- Vettori applicati, sistemi equivalenti ed equilibrati. Equazioni cardinali della statica per un corpo rigido e per sistemi di corpi rigidi. Impostazione della soluzione dei problemi di statica (nel piano).
Richiami di Dinamica* e Meccanica delle vibrazioni (8L + 4E)
- Equazioni cardinali della dinamica per un corpo rigido e per sistemi di corpi rigidi.
- Dinamica dei sistemi vibranti a 1 un grado di libertà. Oscillazioni libere e forzate. Applicazioni: isolamento delle vibrazioni.
Meccanica dei contatti (12L + 6E)
- Contatto secco. Generalità sull’attrito: attrito statico, di strisciamento e di rotolamento. Analisi delle azioni di contatto nel contatto secco (Teoria di Hertz) ed usura. Applicazioni: vincoli nel piano con attrito, analisi dei meccanismi in presenza di attrito, cuscinetti a strisciamento e rotolamento, freni, frizioni. (9L+4E)
- Contatto lubrificato: teoria elementare della lubrificazione, tipi di lubrificazione, verifica di una corretta lubrificazione. Applicazioni: cuscinetti lubrificati. (3L + 2E)
Trasmissioni meccaniche (5L + 2E)
- Teoria elementare del flessibile. Applicazioni: sistemi di trasmissione a cinghie, sistemi di sollevamento, freni a nastro. Sistemi di trasmissione con ruote dentate: trasmissione del moto fra assi paralleli ed incidenti. Ruote dentate cilindriche a denti diritti con profilo ad evolvente di cerchio, ruote dentate a denti elicoidali, ruote dentate coniche. Rotismi ordinari.
*Note generali:
- è previsto un ripasso di Statica, presentata in parallelo nel corso di Meccanica delle Strutture, e di Dinamica; entrambi gli argomenti sono stati introdotti nel corso di Fisica Generale I.
Come prerequisiti per seguire in modo proficuo il corso lo studente deve avere conoscenze su
- algebra e analisi vettoriale
- cinematica/statica/dinamica del punto materiale
- cinematica/statica/dinamica del corpo rigido
- elementi di geometria delle masse
- Lo studente potrà acquisire e/o sviluppare capacità nell'analisi dei sistemi meccanici piani
- Lo studente potrà acquisire e/o sviluppare capacità nell'analisi del funzionamento di macchine semplici
- Saranno acquisite metodologie per l'analisi dei problemi sia per via grafica che analitica che con eventuale supporto di software
Modalità d'esame
Le capacità citate saranno verificate con esercizi nella prova scritta d'esame
L'esame è composto da una prova scritta ed una prova orale
- La prova scritta consiste in un esercizio di cinematica dei sistemi, uno di statica dei sistemi, ed uno su elementi di macchine e/o oscillazioni. In aggiunta ci possono essere domande di teoria La prova dura circa 3 ore, si svolge in una aula normale, lo studente non può consultare materiale, mentre è consentito uso della calcolatrice
- La prova scritta è superata/non superata se:
lo studente dimostra di avere chiari i concetti di base della statica e della cinematica e di saperli applicare. Similmnete sulle altre parti del compito lo studente deve mostrare di aver acquisito i concetti più elementari, saperli applicare e saper passare dalla teoria alla parte numerica. - La prova orale consiste in una discussione del compito, nel chiarimento delle cose non esposte chiaramente o non affrontate. Durante la prova orale potrà essere richiesto al candidato di risolvere anche problemi/esercizi scritti, davanti al docente o in separata sede. Generalmente la durata dell'orale è tra i 30 e i 60 minuti.
- La prova orale è superata se l'interrogazione se il candidato mostra di aver acquisito le competenze principali degli argomenti del corso e di saperle applicare.
Testi di riferimento
- G. Mattei, Lezioni di Meccanica Razionale, SEU Pisa
- J. L. Meriam, L. G. Kraige, Engineering Mechanics: Statics, Wiley
- J. L. Meriam, L. G. Kraige, Engineering Mechanics: Dynamics, Wiley
- Funaioli E., Maggiore A., Meneghetti U., Lezioni di meccanica applicata alle macchine - Prima parte - Fondamenti di meccanica delle macchine. Patron Editore
- Ferraresi C., Raparelli T., Meccanica Applicata, Editore CLUT
- Jacazio G. Pastorelli S., Meccanica Applicata alle Macchine. Levrotto & Bella.
- Jacazio G. Pastorelli S., Esercizi di Meccanica Applicata alle Macchine. Levrotto & Bella.
Codice insegnamento 77826
Apprendimento dei concetti di base della Probabilità, intesa come calcolo del grado di fiducia basato su informazione parziale, con approfondimenti riguardanti la teoria generale dei Processi Stocastici (catene di…
Scheda dell'insegnamento
Obiettivi formativi
Apprendimento dei concetti di base della Probabilità, intesa come calcolo del grado di fiducia basato su informazione parziale, con approfondimenti riguardanti la teoria generale dei Processi Stocastici (catene di Markov, processi di Markov a salti, processi autoregressivi, serie storiche).
Programma
Il corso tratterà i seguenti argomenti:
- introduzione al calcolo delle probabilità, probabilità condizionata, sistemi di alternative, formula di Bayes, indipendenza tra eventi, verosimiglianza
- variabili aleatorie (discrete e continue), variabili congiunte e marginali, formula di Bayes per variabili aleatorie, indipendenza, statistica bayesiana con variabili aleatorie, stima di massima verosimiglianza
- indicatori caratteristici per variabili aleatorie: funzione di ripartizione e sopravvivenza, quantile, mediana, valor medio, varianza e deviazione standard, covarianza, correlazione, momenti, funzione generatrice dei momenti e funzione caratteristica, entropia
- variabili aleatorie gaussiane (reali e vettoriali) e proprietà fondamentali. Stima dei parametri da osservazioni indipendenti. Applicazioni: Principal Component Analysis e Regressione (lineare).
- teoria generale dei processi: classificazione in base agli stati/tempi discreti/continui, stazionarietà, proprietà di Markov, omogeneità. Processi a stati discreti: catene di Markov e processi di Markov a salti, distribuzioni invarianti, stima dei parametri dalle osservazioni. Esempi dalla teoria delle code.
- processi a stati continui: funnzione di autocovarianza e autocorrelazione. Processi gaussiani: white noise, random walk e smorzamento esponenziale. Processi ARIMA e stazionarietà. Stima dei parametri. Teorema di Wiener-Khinchine
- teoremi limite: convergenza di variabili aleatorie, legge dei grandi numeri, teorema ergodico per processi stazionari, teorema limite centrale.
Conoscenze di Analisi (integrali, derivate -- possibilmente in più variabili) e di Algebra lineare (risoluzione di sistemi lineari, calcolo di autovalori e autovettori, teorema spettrale).
Lo studente acquisirà sensibilità per le problematiche relative al calcolo rigoroso e accurato del grado di fiducia (probabilità) in situazioni di incertezza dovute a informazione incompleta.
Modalità d'esame
Risoluzione di esercizi/problemi analitici (prova scritta), prova orale su tutti gli argomenti svolti (possibilmente con inclusi semplici comandi R).
Prova di verifica scritta, prova orale.
Testi di riferimento
Verranno seguiti da vicino gli appunti scritti dal docente.
http://web.dm.unipi.it/trevisan/it/courses/455AA.html
Per la parte riguardante le catene di Markov è un ottimo riferimento anche il libro P. Baldi “Calcolo delle Probabilità” McGraw-Hill (2007).
Per impratichirsi del software R è un ottimo ausilio anche il volumetto di Carmine Frascella “Statistica Multivariata con R”, Pisa University Press.
Codice insegnamento 68545
Lo studente che segue il corso e supera l'esame acquisirà l'abilità di analizzare e progettare sistemi elettronici per automazione industriale (industria 4.0) e robotica, in particolare sistemi meccatronici e azionamenti…
Scheda dell'insegnamento
Obiettivi formativi
Lo studente che segue il corso e supera l'esame acquisirà l'abilità di analizzare e progettare sistemi elettronici per automazione industriale (industria 4.0) e robotica, in particolare sistemi meccatronici e azionamenti switching di potenza per attuazione elettrica, circuiti e sistemi per interfaccia di sensori ed elaborazione del segnale in dominio analogico e digitale e misto, networking in sistemi elettronici distribuiti di controllo. Verranno presentati esempi applicativi in ambito automotive, robotica, industria 4.0, meccatronica, energia.
Programma
Archietture Hardware-Software di sistemi elettronici di controllo
Sistemi elettronici per interfacciamento di sensori e attuatori (circuiti analogici e digitali)
Sistemi elettronici embedded per ECU e soluzioni Single-chip
Elettronica di potenza e convertitori switching (DC-DC, inverter)
Reti per comunicazioni a bordo di veicoli (Controller Area Network)
Analisi di sistemi elettronici di controllo innovativi e applicazioni veicolari e a industria 4.0
Principali circuiti analogici basati su amplificatori operazionali, filtri, convertitori ADC e DAC
Conoscenze di base di teoria dei circuiti e fondamenti di ICT acquisite nel corso della laurea triennale
Lo studente, grazie anche a seminari di personale di industria (manager o tecnici), tenuti alla fine del corso acquisirà anche una visione dei bisogni delle imprese nel settore dei sistemi elettronici per automazione, industry 4.0 e robotica
Modalità d'esame
Durante l'esame verranno svolti vari esercizi di dimensionamento di circuiti e sistemi elettronici in forma scritta per verificare le capacità acquisite dallo studente
Prova orale durante la quale verranno svolti vari esercizi di dimensionamento di circuiti e sistemi elettronici in forma scritta
Testi di riferimento
Il materiale didattico è scaricabile da remoto dai siti https://vlsi.iet.unipi.it/~saponara/Sistemi_Elettronici_Automazione_Robotica/
e
http://brahms.iet.unipi.it/marconcini/marconcini.html
Codice insegnamento P425832238
Il corso si propone di fornire agli studenti: conoscenze sulle metodologie di modellazione e analisi di sistemi dinamici lineari; conoscenze inerenti alla teoria dei sistemi dinamici lineari; conoscenze sulle proprietà…
Scheda dell'insegnamento
Obiettivi formativi
Il corso si propone di fornire agli studenti:
- conoscenze sulle metodologie di modellazione e analisi di sistemi dinamici lineari;
- conoscenze inerenti alla teoria dei sistemi dinamici lineari;
- conoscenze sulle proprietà di stabilità di sistemi dinamici lineari e non lineari.
Il corso si propone di fornire agli studenti:
- conoscenze di base sui sistemi dinamici lineari a tempo discreto, sui sistemi di controllo digitali, sul campionamento e sul trattamento dei segnali digitali anche attraverso opportune trasformate;
- conoscenze di base inerenti alla teoria del controllo dei sistemi dinamici a tempo continuo o discreto;
- conoscenze di base sull'ottimizzazione delle prestazioni di un sistema di controllo a tempo continuo o discreto tramite feedback.
Programma
- Teoria dei sistemi: caratterizzazione e formalizzazione dei sistemi dinamici;
- Introduzione alla modellistica dei sistemi
- Concetto di stato, rappresentazioni implicite ed esplicite dei sistemi dinamici;
- Concetti di equilibri e stabilità per sistemi dinamici, linearizzazione;
- Caratterizzazione e proprietà dei sistemi lineari stazionari a tempo continuo;
- Caratterizzazione e formalizzazione delle proprietà di stabilità, raggiungibilità e osservabilità;
- Connessioni di sistemi dinamici e realizzazioni minime, forma di Kalman;
- Sistemi dinamici con più ingressi e più uscite;
- Sistemi di equazioni differenziali lineari e non-lineari;
- Algebra delle matrici ed interpretazione geometrica degli operatori algebrici lineari;
- Analisi e controllo di sistemi dinamici lineari nello spazio delle frequenze;
- Analisi e descrizione di sistemi lineari a tempo continuo singolo ingresso-singola uscita tramite trasformata di Laplace, schemi a blocchi, funzioni di trasferimento
Al termine del corso lo studente sarà in grado di analizzare le caratteristiche principali dei sistemi dinamici con particolare dettaglio per i sistemi lineari stazionari a tempo continuo e discreto.
- Trasformata di Laplace: richiami
- Sistemi SISO in ciclo chiuso a tempo continuo: richiami
- Trasformata di Fourier
- Proprietà della trasformata di Fourier; Trasformata di Fourier di segnali periodici.
- Segnali a tempo discreto: trasformata di Laplace e Fourier; proprietà (Poisson); aliasing
- Campionamento di segnale continuo – teorema di Shannon. Frequenza di Nyquist
- Trasformata zeta come caso particolare trasformata di Laplace;
- Proprietà trasformate z; anti-trasformazione
- Filtri; cenni alla modulazione digitale
- Trasformata z sample&hold di vario ordine
- Sistemi SISO ciclo chiuso con regolatori digitali
- Progetto regolatore per sistemi SISO analogici con regolatore digitale
- Parametri progettuali e loro scelta motivata: filtro anti-alias, periodo di campionamento, ordine, tenuta.
- Sistemi lineari in forma di stato: controllo con retroazione dallo stato; assegnazione degli autovalori; MIMO & SISO, discreto e continuo; formula di Ackermann;
- Assegnazione dell’auto-struttura (autovalori e autovettori); robustezza, ortogonalità
- Disaccoppiamento sistemi MIMO tramite feedback: analisi in frequenza. Dominanza diagonale, cerchi di Gershgoring. Nyquist Array
- Controllori dead beat tempo discreto; Controllori integrali
- Osservatori dello stato; Luenberger; assegnazione autovalori dell’osservatore
- Sintesi congiunta regolatore e osservatore; regolatori con feed-back dalle uscite
- Considerazioni progettuali: effetto sul rumore, sugli attuatori
- Controllo ottimo: tempo discreto, programmazione dinamica, principio di Bellman
- Controllo LQR tempo discreto – equazione di. Riccati discreta
- Programmazione dinamica nel tempo continuo; LQR nel continuo – equazione di Riccati continua
- Controllo ottimo su orizzonte infinito. Considerazioni teoriche e numeriche sulle equazioni di Riccati
- Dualità controllori/osservatori. Osservatori ottimi: filtro di Kalman-Bucy
- Cenni sul calcolo variazionale.
- Sistemi di equazioni differenziali lineari e non-lineari;
- Algebra delle matrici ed interpretazione geometrica degli operatori algebrici lineari;
- Analisi e controllo di sistemi dinamici lineari nello spazio delle frequenze;
- Analisi e descrizione di sistemi lineari a tempo continuo singolo ingresso-singola uscita tramite trasformata di Laplace, schemi a blocchi, funzioni di trasferimento
Al termine dell'insegnamento lo studente deve essere in grado di analizzare e impostare un qualsiasi problema di regolazione e controllo per sistemi dinamici lineari a tempo continuo o discreto, individuando le criticità associate a ciascuna fase di analisi o progetto, in base alle specifiche richieste.
Modalità d'esame
La verifica delle capacità acquisite dallo studente avverrà tramite un colloquio orale, durante il quale verranno valutate la comprensione dei concetti teorici, la capacità di analisi dei sistemi dinamici e l’applicazione delle metodologie apprese.
Nel corso dell'anno verranno proposti test di apprendimento facoltativi che, se superati positivamente, possono contribuire alla valutazione finale. L'esame per il superamento del corso è orale.
La prova orale consiste in un colloquio tra il candidato e la commissione. Al fine di una valutazione quanto più completa, durante la prova orale, viene richiesto al candidato di risolvere analiticamente problemi/esercizi e di descrivere in dettaglio e formalmente aspetti teorici e metodologici proposti dalla commissione.
La prova orale è non superata in una qualsiasi delle seguenti circostanze, valutate dalla commissione di esame:
- il candidato non è ripetutamente in grado di motivare razionalmente il proprio approccio alla soluzione di esercizi;
- il candidato non è in grado di risolvere gli esercizi proposti;
- il candidato mostra di non essere in grado di esprimersi in modo chiaro e di usare la terminologia corretta richiesta dalla materia d’esame;
- il candidato mostra ripetutamente l'incapacità di mettere in relazione parti del programma e nozioni che deve usare in modo congiunto per rispondere in modo corretto ad una domanda;
- il candidato non è in grado di definire o utilizzare correttamente le proprietà dei sistemi dinamici.
Durante lo svolgimento dell' esame finale.
Testi di riferimento
Testi consigliati:
E.Fornasini, G.Marchesini, "APPUNTI DI TEORIA DEI SISTEMI", (terza edizione), pp. 539, Libreria ed. Progetto, Padova , 2003
E.Fornasini, G. Marchesini, "ESERCIZI DI TEORIA DEI SISTEMI", pp. 303, ed. Progetto, Padova, 1985
Bolzern, R. Scattolini, N. Schiavoni: “Fondamenti di controlli automatici”, McGraw Hill Italia (in Italiano).
E. Hendricks, O. Jannerup, P. H. Sørensen: "Linear Systems Control", Springer-Verlag 2008.
Codice insegnamento P279799202
Il corso si suddivide in due moduli tra loro complementari. Nel primo modulo l’insegnamento è volto a fornire le conoscenze di base per analisi dei processi tecnologici e loro analisi attraverso modelli dinamici non…
Scheda dell'insegnamento
Obiettivi formativi
Il corso si suddivide in due moduli tra loro complementari.
Nel primo modulo l’insegnamento è volto a fornire le conoscenze di base per
- analisi dei processi tecnologici e loro analisi attraverso modelli dinamici non lineari e con più ingressi e più uscite
- sintesi di controllori avanzati di processo attraverso metodi: frequenziali, basati sulla forma di stato, e basati su modelli predittivi
- poter applicare la teoria studiata ad esempi di interesse ingegneristico, quali il controllo applicato agli azionamenti di motori elettrici
Programma
- Controllo ottimo e ottimizzazione convessa
- Elementi di Calcolo delle Variazioni e Problema di Controllo Ottimo
- Dal problema di Controllo Ottimo al Problema di Ottimizzazione attraverso tecniche di Discretizzazione
- Ottimizzazione Convessa
- Model Predictive Control
- Stabilità in presenza di vincoli
- MOC con stima dello stato
- Control Policy Synthesis via Deep Reinforcement Learning
- DRL basics (neurons, layers, activation functions, networks)
- Tools (sym, gym, train)
- Approcci moderni di Learning
- Applicazioni: Legged Robots - Umanoidi, Quadrupedi, Multimodal Robots
Conoscenze di base di controlli automatici, di fisica e di analisi matematica
L’allievo al termine del corso dovrà essere in grado di analizzare criticamente le specifiche richieste
a un sistema complesso di modellazione e controllo per applicazioni di automazione industriale
L’allievo al termine del corso dovrà essere in grado di analizzare criticamente le specifiche richieste
a un sistema complesso di modellazione, controllo e sensorizzazione (incluso lo scambio di informazione uomo-robot) per applicazioni di automazione industriale e robotica avanzata.
Modalità d'esame
Sono proposti allo studente, in occasione della prova orale finale, esercizi che richiedono soluzione analitica su tutte le capacità oggetto del corso.
Esercizio di approfondimento presentato con supporto di slide o report
Testi di riferimento
Appunti dettagliati delle lezioni e registrazioni delle lezioni (resi disponibili a tutti gli iscritti al corso dal docente su Google Drive)
Codice insegnamento 79663
L’insegnamento è volto a fornire le conoscenze di base per modellare, attraverso gli strumenti matematici propri della teoria dei sistemi e del controllo, i processi fisici e chimici degli organismi viventi, al fine di…
Scheda dell'insegnamento
Obiettivi formativi
L’insegnamento è volto a fornire le conoscenze di base per
- modellare, attraverso gli strumenti matematici propri della teoria dei sistemi e del controllo, i processi fisici e chimici degli organismi viventi, al fine di interpretarne e prevederne il comportamento
- colloquiare con i medici sviluppando un linguaggio e un metodo comprensibile e interdisciplinare
- imparare a dimensionare il controllo per applicazioni cliniche in termini di dosaggio dei farmaci e/o della definizione di nuovi protocolli terapeutici e/o di tecniche di ottimizzazione
- saper interpretare e costruire modelli matematici anche innovativi per lo studio di epidemie.
Programma
Cibernetica Fisiologica:
- Controllori embedded fisiologici
- Regolazione zucchero-insulina
- Modello cardiaco e circolatorio
- Modello respiratorio
- Modellistica dell'epatite
- Modelli del sistema immunitario
- Modellistica di HIV
- Modellistica tumorale
- Modellistica pandemica e ottimizzazione di eventuali lockdown
- Modelli epidemici (dal SIR ai modelli complessi di COVID)
- Modelli epidemici con trasmissione da vettore animale
- Controllo predittivo. Esempio: applicazione al caso di HIV
- Controllori Fuzzy
Conoscenze di base di controlli automatici
L’allievo al termine del corso dovrà essere in grado di analizzare criticamente le specifiche richieste a un sistema complesso di modellazione per il controllo di malattie o di epidemie
Modalità d'esame
Lo studente è tenuto a svolgere una presentazione orale su un tema specifico, dimostrando la capacità di analizzare criticamente la tematica affrontata e di proporre soluzioni a problematiche connesse ad essa.
Progetto di approfondimento sviluppato e concluso durante il corso, oppure esame tradizionale sugli argomenti svolti a lezione.
Testi di riferimento
Appunti dettagliati delle lezioni (slide e dispense del corso rese disponibili a tutti gli iscritti su Microsoft Teams)
Testi suggeriti per consultazione:
J,M. Khoo, Physiological Control Systems, 1999, Wiley-IEEE Press
Codice insegnamento 68537
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…
Scheda dell'insegnamento
Obiettivi formativi
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.
Programma
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.
Modalità d'esame
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
Prima dell'esame gli studenti devono iscriversi sul sito http://servizi.ing.unipi.it e compilare i questionari previsti.
Nel corso dell’esame il candidato deve dimostrare conoscenza e capacità operative sugli argomenti trattati nel programma, nonché la capacità di applicare le tecniche studiate a semplici problemi di interesse robotico.
L'esame consiste nella verifica delle conoscenze teoriche relative al Controllo dei Robot, anche attraverso la discussione di esempi applicativi approvati dai docenti e sviluppati autonomamente dallo studente prima dell'esame.
Lo studente può inoltre sottoporre ai docenti temi di approfondimento applicativo derivanti da problemi pratici o sperimentali affrontati nell'ambito di altri insegnamenti, purché pertinenti ai contenuti del corso di Controllo dei Robot. Tali approfondimenti possono, ad esempio, riguardare l'applicazione o l'implementazione di metodi di controllo proposti nella letteratura scientifica, il confronto tra tecniche differenti o l'analisi di risultati sperimentali.
Le tematiche coperte nell'approfondimento non devono essere oggetto di ulteriori esempi applicativi.
I risultati delle attività svolte vengono illustrati mediante una breve presentazione, della durata indicativa di dieci minuti, seguita da una discussione con i docenti. La data dell'esame viene concordata con i docenti e pubblicata sui relativi calendari didattici.
Il materiale preparato per la discussione, inclusa la presentazione ed eventuale codice sorgente utilizzato, deve essere messo a disposizione dei docenti almeno una settimana prima della data dell'appello orale, mediante un collegamento a un repository o a uno spazio di condivisione dei file.
Gli eventuali approfondimenti applicativi hanno lo scopo di favorire il collegamento tra gli strumenti teorici presentati nel corso e problemi robotici concreti e non costituiscono un'attività progettuale obbligatoria ai fini dell'esame. Per concordarne i contenuti, gli studenti possono prendere contatto con i docenti o con i collaboratori del corso.
Testi di riferimento
- 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.
Codice insegnamento 79636
L'insegnamento fornisce una conoscenza approfondita e critica della dinamica degli autoveicoli. Al termine del corso lo studente conosce e comprende i seguenti blocchi tematici: - Ruota con pneumatico: struttura del…
Scheda dell'insegnamento
Obiettivi formativi
L'insegnamento fornisce una conoscenza approfondita e critica della dinamica degli autoveicoli. Al termine del corso lo studente conosce e comprende i seguenti blocchi tematici: - Ruota con pneumatico: struttura del pneumatico, comportamento in presenza di angoli di deriva e di slittamento longitudinale, rigidezza di deriva, azioni combinate, effetto dell'angolo di camber, comportamento non stazionario e lunghezza di rilassamento. - Comportamento direzionale (handling): sterzatura cinematica e cinematismi di sterzo, modello monotraccia con pneumatici linearizzati e non lineari, velocità critica, piano delle fasi, diagramma di maneggevolezza, studio della stabilità, veicolo sovra- e sottosterzante. - Prestazioni degli autoveicoli (performance): resistenze all'avanzamento, potenza necessaria al moto di regime e potenza disponibile, curve di coppia e di potenza, dimensionamento dei rapporti di trasmissione, frenatura, trasferimento di carico e bloccaggio delle ruote. - Modelli a molti gradi di libertà: sospensioni, centro di rollio, cinematica tridimensionale, equazioni del moto linearizzate, studio della stabilità e velocità critica. - Veicolo su sospensioni elastiche (ride): comfort di marcia, monosospensione di De Carbon, smorzamento ottimo, forza trasmessa al suolo, moti di beccheggio e scuotimento, criteri di Olley.
Programma
Nozioni base di Meccanica Razionale e Meccanica Applicata alle Macchine. Algebra lineare. Equazioni differenziali.
L'insegnamento contribuisce a sviluppare l'autonomia di giudizio nella valutazione critica dei modelli adottati e dei risultati delle simulazioni, l'attenzione agli aspetti del comportamento reale del veicolo che vengono spesso trascurati e la consapevolezza delle implicazioni sulla sicurezza della marcia, anche grazie all'esperienza diretta del corso di guida sicura. Lo studente affina inoltre la capacità di documentare il proprio lavoro in forma di relazione tecnica e di discuterne criticamente i contenuti.Modalità d'esame
Le capacità sono verificate attraverso lo sviluppo di programmi di calcolo per la simulazione della dinamica del veicolo e la redazione di relazioni sui risultati ottenuti, discusse in sede d'esame. Concorrono alla verifica anche i quesiti a carattere applicativo della prova scritta, che richiedono lo svolgimento di esercizi e l'interpretazione dei risultati.
L'esame consiste in una prova scritta articolata in almeno tre quesiti a risposta aperta sintetica, relativi agli argomenti trattati durante il corso. I quesiti richiedono risposte argomentate, corredate ove opportuno da formule, grafici e schemi; uno o più quesiti possono avere carattere applicativo e richiedere lo svolgimento di esercizi. Il candidato consegna un unico elaborato contenente le risposte a tutti i quesiti: il superamento della prova richiede una valutazione sufficiente in ciascun quesito, poiché l'insufficienza anche in uno solo di essi comporta l'insufficienza complessiva. Alla prova scritta segue la discussione delle relazioni sugli argomenti di approfondimento eventualmente assegnati durante il corso, che concorrono alla determinazione della valutazione finale.
Testi di riferimento
- Dinamica del Veicolo, M. Guiggiani, CittàStudiEdizioni.
- The Science of Vehicle Dynamics, M. Guiggiani, Springer.
- Notebooks forniti dal docente
Codice insegnamento P274428691
Al termine del corso la studentessa o lo studente avrà acquisito conoscenze e capacità di comprensione nei seguenti blocchi tematici: fondamenti e modellazione della navigazione inerziale, con riferimento ai sistemi di…
Scheda dell'insegnamento
Obiettivi formativi
Al termine del corso la studentessa o lo studente avrà acquisito conoscenze e capacità di comprensione nei seguenti blocchi tematici: fondamenti e modellazione della navigazione inerziale, con riferimento ai sistemi di coordinate, al modello della Terra, alla rappresentazione dell’orientazione, alle equazioni di meccanizzazione e alla propagazione degli errori; modellazione deterministica e stocastica della cinematica di robot e veicoli autonomi, propagazione dell’incertezza e modelli di misura dei sensori geometrici esterocettivi; metodi di stima dell’orientazione e di fusione delle misure; principi e architetture della navigazione inerziale integrata, inclusi il filtraggio di Kalman diretto e filtraggio indiretto in formulazione error-state; conoscenze sui sensori non inerziali; formulazione probabilistica dei problemi di localizzazione e SLAM, approcci basati su filtri e grafi e principi della pose graph optimization; fondamenti e principali metodi di guida per inseguimento di percorso, di traiettoria, basata su waypoint e per rendez-vous e intercettazione.
Programma
Sono richieste conoscenze di algebra lineare e calcolo matriciale, calcolo differenziale, sistemi di equazioni differenziali lineari e non lineari, probabilità e variabili aleatorie, elementi di processi stocastici, cinematica e dinamica del corpo rigido, sistemi dinamici e rappresentazione in spazio di stato, nonché principali metodologie di stima dello stato di sistemi lineari e non lineari. È utile una conoscenza di base di MATLAB.
Il corso sviluppa autonomia di giudizio nella scelta di modelli, sensori, stimatori e criteri di valutazione, consapevolezza delle ipotesi e dei limiti dei metodi nonché capacità di confrontare soluzioni e uso del linguaggio tecnico sugli argomenti della navigazione e della guida.
Modalità d'esame
Le capacità applicative sono esercitate mediante esempi numerici, semplici problemi e simulazioni MATLAB. In sede di esame sono verificate attraverso la formulazione di modelli deterministici di navigazione, modelli stocastici del moto e modelli di misura, la discussione critica delle scelte algoritmiche, l’analisi di casi applicativi e lo svolgimento di brevi esercizi su carta o alla lavagna.
L’esame, svolto in presenza, consiste in un colloquio orale individuale sull’intero programma, con domande teoriche, derivazioni di risultati teorici e impostazione e discussione di problemi applicativi o semplici esercizi, anche su carta o alla lavagna. La valutazione, espressa in trentesimi, considera correttezza e completezza delle conoscenze, capacità di applicare i metodi, consapevolezza di ipotesi e limiti, capacità di collegamento e chiarezza espositiva. Il voto minimo richiede conoscenze sufficienti e corretta applicazione dei metodi fondamentali; voti più elevati richiedono completezza, autonomia nell’esposizione e capacità critica.
Testi di riferimento
Testi consigliati: - P. Zarchan, Tactical and Strategic Missile Guidance, AIAA, 2002; - R. M. Rogers, Applied Mathematics in Integrated Navigation Systems, AIAA, 2000; - D. H. Titterton e J. L. Weston, Strapdown Inertial Navigation Technology, Peter Peregrinus, 1997; - Y. Bar-Shalom, X.-R. Li e T. Kirubarajan, Estimation with Applications to Tracking and Navigation: Theory, Algorithms and Software, John Wiley & Sons, 2002. - S. Thrun, W. Burgard e D. Fox, Probabilistic Robotics, MIT Press, 2005. - Materiale integrativo: lucidi, esercizi, dati, script MATLAB e articoli scientifici indicati dai docenti.
Codice insegnamento 79657
Al termine del corso la studentessa o lo studente avrà acquisito conoscenze e capacità di comprensione nei seguenti blocchi tematici: fondamenti e modellazione della navigazione inerziale, con riferimento ai sistemi di…
Scheda dell'insegnamento
Obiettivi formativi
Il corso si propone di fornire allo studente strumenti teorici, metodologici e algoritmici per modellare, analizzare e risolvere problemi di pianificazione del moto e di coordinamento in sistemi robotici autonomi e multi-agente.
Al termine del corso lo studente avrà acquisito competenze relative a:
- modellazione di problemi di pianificazione del moto di robot;
- applicazione di algoritmi di pianificazione discreta e programmazione dinamica;
- formulazione e analisi di problemi di pianificazione del moto nello spazio delle configurazioni;
- metodi di pianificazione combinatori, basati su campionamento, su potenziali e su comportamenti reattivi;
- modellazione di sistemi multi-robot e confronto tra architetture centralizzate e distribuite;
- analisi e progettazione di algoritmi distribuiti su reti di agenti;
- studio dei protocolli di consensoo;
- formulazione e analisi di problemi di rendezvous, controllo di formazione e coverage per sistemi multi-robot.
Programma
Sono richieste conoscenze di algebra lineare e calcolo matriciale, calcolo differenziale, sistemi di equazioni differenziali lineari e non lineari, probabilità e variabili aleatorie, elementi di processi stocastici, cinematica e dinamica del corpo rigido, sistemi dinamici e rappresentazione in spazio di stato, nonché principali metodologie di stima dello stato di sistemi lineari e non lineari. È utile una conoscenza di base di MATLAB.
Il corso sviluppa autonomia di giudizio nella scelta di modelli, sensori, stimatori e criteri di valutazione, consapevolezza delle ipotesi e dei limiti dei metodi nonché capacità di confrontare soluzioni e uso del linguaggio tecnico sugli argomenti della navigazione e della guida.
1 Introduzione ai corso
1.1 Caratteristiche e problematiche
1.2 Astrazione e modellistica
2 Introduzione alla teoria dei grafi
2.1 Definizioni, caratteristiche e proprietà dei grafi
2.2 Matrici associate ai grafi e analisi spettrale
2.3 Introduzione all'ottimizzazione discreta
2.4 Introduzione alla programmazione dinamica
3 Algoritmi di pianificazione del moto
3.1 Introduzione al problema della pianificazione del moto
3.2 Modelli geometrici e spazio delle configurazioni
3.3 Algoritmi di pianificazione combinatorici.
3.4 Algoritmi di pianificazione del moto basati su campionamento.
3.5 Algoritmi di pianificazione basati sui potenziali o su comportamenti
4 Algoritmi distribuiti su reti sincrone
4.1 Introduzione agli algoritmi distribuiti su reti sincrone
4.2 Il Protocollo del Consenso a tempo continuo e discreto
5 Controllo di formazione
5.1 Introduzione al controllo in formazione
5.2 Formalizzazione e modellistica delle formazioni
5.3 Controllo di formazioni con dinamica lineare
5.4 Controllo di formazioni di unicicli
5.5 Problema del Coverage
6 Strumenti di simulazione robotica
6.1 Uso del Matlab per la simulazione di sistemi robotici distribuiti
6.2 Introduzione al Robotics Operative System (ROS)
- 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)
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.
Modalità d'esame
Le capacità applicative sono esercitate mediante esempi numerici, semplici problemi e simulazioni MATLAB. In sede di esame sono verificate attraverso la formulazione di modelli deterministici di navigazione, modelli stocastici del moto e modelli di misura, la discussione critica delle scelte algoritmiche, l’analisi di casi applicativi e lo svolgimento di brevi esercizi su carta o alla lavagna.
L’esame, svolto in presenza, consiste in un colloquio orale individuale sull’intero programma, con domande teoriche, derivazioni di risultati teorici e impostazione e discussione di problemi applicativi o semplici esercizi, anche su carta o alla lavagna. La valutazione, espressa in trentesimi, considera correttezza e completezza delle conoscenze, capacità di applicare i metodi, consapevolezza di ipotesi e limiti, capacità di collegamento e chiarezza espositiva. Il voto minimo richiede conoscenze sufficienti e corretta applicazione dei metodi fondamentali; voti più elevati richiedono completezza, autonomia nell’esposizione e capacità critica.
Le capacità saranno verificate attraverso la risoluzione di problemi teorici e applicativi nell’ambito della prova d’esame e, ove previsto, mediante esercizi di modellazione, analisi e simulazione degli algoritmi trattati.
La prova d’esame verifica la conoscenza degli argomenti teorici e algoritmici trattati nel corso e la capacità di applicarli alla modellazione, analisi e risoluzione di problemi di pianificazione del moto e coordinamento di sistemi multi-robot mediante svolgimento di esercizi e di elaborati basati su esempi applicativi.
Testi di riferimento
- 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.
Codice insegnamento 79637
Lo studente acquisirà conoscenze sui principali metodi di intelligenza artificiale applicati alla robotica, con particolare riferimento alla percezione, alla pianificazione, al controllo e all’apprendimento. Il corso…
Scheda dell'insegnamento
Obiettivi formativi
Lo studente acquisirà conoscenze sui principali metodi di intelligenza artificiale applicati alla robotica, con particolare riferimento alla percezione, alla pianificazione, al controllo e all’apprendimento. Il corso comprenderà metodi di machine learning e deep learning, apprendimento da dimostrazioni, reinforcement learning, modelli generativi e approcci per la progettazione di comportamenti e architetture di autonomia robotica. Saranno inoltre affrontati i principali problemi di rappresentazione, generalizzazione, valutazione e integrazione di tali metodi nei sistemi robotici.
Programma
- Fondamenti di intelligenza artificiale e apprendimento automatico per la robotica: relazione tra intelligenza artificiale, machine learning, controllo e robotica; formulazione di problemi robotici; apprendimento supervisionato; funzioni di costo, ottimizzazione, addestramento, validazione, generalizzazione e valutazione dei modelli. - Reti neurali e percezione robotica: perceptron e reti multistrato; backpropagation; deep learning; reti convoluzionali e rappresentazioni apprese per l’elaborazione di dati sensoriali e la percezione robotica. - Apprendimento da dimostrazioni: behaviour cloning; apprendimento di politiche da dimostrazioni con operatore e dati di interazione; distribution shift ed errori cumulativi; metodi interattivi per la raccolta e l’aggiornamento delle dimostrazioni. - Decisione sequenziale e reinforcement learning: processi decisionali di Markov; rewards, returns, value-functions ed equazioni di Bellman; metodi tabulari e model-free; esplorazione; approssimazione di funzione; deep reinforcement learning; metodi value-based, policy-based, actor-critic e model-based; apprendimento in spazi di azione continui. - Pianificazione e architetture di autonomia robotica: metodi di ricerca e pianificazione per compiti robotici; architetture reattive, deliberative, behaviour-based e ibride; coordinamento dei comportamenti, autonomia condivisa e autonomia a livello di missione; integrazione di componenti apprese, basate su modelli e definite dal progettista. - Modelli generativi e sequenziali: rappresentazione di distribuzioni multimodali di azioni; modelli generativi; modelli sequenziali e transformer; politiche condizionate da osservazioni, obiettivi e istruzioni. - Approcci avanzati al robot learning: world models; apprendimento model-based; modelli visione-linguaggio-azione; politiche generaliste; ragionamento embodied e adattamento durante l’esecuzione. Saranno esaminati argomenti selezionati in funzione degli sviluppi della disciplina. - Integrazione e valutazione dei sistemi robotici intelligenti: progettazione di esperimenti; metriche di valutazione; generalizzazione, robustezza, sicurezza e principali cause di fallimento; simulazione e trasferimento ai sistemi robotici; interazione con persone e operatorii, percezione, decisione e controllo.
Sono richieste conoscenze di base di algebra lineare, calcolo differenziale e probabilità, insieme alla familiarità con i concetti fondamentali della robotica e del controllo.
Lo studente svilupperà un atteggiamento critico e metodologicamente rigoroso nell’analisi e nell’impiego di metodi di intelligenza artificiale per la robotica. Sarà in grado di valutare le ipotesi, i limiti e l’affidabilità dei risultati, documentare in modo chiaro le scelte progettuali e sperimentali e considerare gli effetti dell’impiego di tali metodi sulla sicurezza e sul comportamento del sistema robotico.
Modalità d'esame
Le capacità saranno verificate in sede d’esame attraverso quesiti ed esercizi applicativi volti ad accertare la capacità di formulare problemi robotici, selezionare e confrontare metodi di intelligenza artificiale, motivare le scelte progettuali e interpretare risultati sperimentali. La valutazione potrà inoltre tenere conto di eventuali esercitazioni, attività pratiche o progetti svolti durante il corso.
La valutazione prevede un esame finale, volto ad accertare la conoscenza dei principali concetti e metodi presentati nel corso e la capacità di applicarli a problemi robotici. L’esame potrà comprendere quesiti teorici, esercizi applicativi e la discussione di casi di studio. Lo studente dovrà essere in grado di formulare il problema, selezionare e motivare i metodi adottati, discuterne le ipotesi e i limiti e interpretare criticamente eventuali risultati sperimentali.Testi di riferimento
Il materiale didattico comprende slide, notebook interattivi, esempi di codice, articoli scientifici e altro materiale selezionato dal docente, resi disponibili durante il corso.
Non è previsto un unico testo obbligatorio. Saranno indicate letture consigliate per approfondire i diversi temi, comprendenti capitoli di libri e manuali, articoli di rassegna e lavori scientifici relativi ai contenuti del corso.
Tra i testi di riferimento consigliati:
- S. Russell e P. Norvig, Artificial Intelligence: A Modern Approach, quarta edizione;
- R. R. Murphy, Introduction to AI Robotics, seconda edizione;
- R. S. Sutton e A. G. Barto, Reinforcement Learning: An Introduction;
- I. Goodfellow, Y. Bengio e A. Courville, Deep Learning;
- B. Siciliano e O. Khatib, a cura di, Springer Handbook of Robotics.
Ulteriori letture saranno indicate in relazione agli argomenti avanzati e ai casi di studio trattati.
Codice insegnamento 79640
Il corso si propone di fornire agli studenti e alle studentesse conoscenze avanzate sui principi della percezione aptica umana e sulla progettazione di sistemi tattili per la robotica e l'interazione uomo-macchina.…
Scheda dell'insegnamento
Obiettivi formativi
Il corso si propone di fornire agli studenti e alle studentesse conoscenze avanzate sui principi della percezione aptica umana e sulla progettazione di sistemi tattili per la robotica e l'interazione uomo-macchina. Partendo dai meccanismi neurofisiologici della percezione tattile e della manipolazione umana, il corso introduce la modellazione e la progettazione di interfacce aptiche, dispositivi a ritorno di forza e sensori tattili destinati alla robotica avanzata. Particolare attenzione sarà dedicata ai sensori di forza e tattili, distinguendo tra sensori intrinseci ed estrinseci e approfondendo le più recenti tecnologie basate su sensori ottici tattili ad alta risoluzione per la manipolazione robotica, la presa, l'esplorazione tattile e la percezione delle proprietà degli oggetti. Il corso affronta inoltre i principi della teleoperazione bilaterale e delle interfacce aptiche per la telerobotica, introducendo i concetti di trasparenza, telepresenza e stabilità dei sistemi master-slave. Verranno analizzate le principali architetture di controllo per la teleoperazione, le tecniche di haptic rendering e i metodi per garantire la stabilità in presenza di ritardi di comunicazione, con particolare riferimento alla passività. Al termine del corso lo studente avrà conoscenze avanzate sulla progettazione, modellazione e controllo di interfacce aptiche e sensori tattili e sarà in grado di comprendere le problematiche legate all'integrazione di tali sistemi nella robotica autonoma, collaborativa, nella teleoperazione e nella realtà virtuale e aumentata.
Al termine del modulo, lo studente/la studentessa avrà acquisito conoscenze relative a: principi e tassonomie dell'interazione uomo-robot (HRI), con particolare riferimento all'interazione fisica e collaborativa; principali problematiche di sicurezza nella robotica collaborativa e principi alla base delle normative di riferimento; biomeccanica dell'interazione e principali fenomeni associati all'urto, al contatto e alla costrizione; modellistica cinematica e dinamica dei manipolatori robotici; controllo dei manipolatori nello spazio dei giunti e nello spazio operativo; controllo di impedenza, controllo di ammettenza e controllo di coppia; principi e caratteristiche degli attuatori elastici e a rigidezza variabile; tecniche basate su residui per la stima delle coppie esterne e il rilevamento di anomalie; concetti di passività, stabilità energetica e sistemi port-Hamiltoniani; tecniche di Passivity-Based Control e controllo mediante energy tanks o energy reservoirs; modelli di contatto e principi della presa e della manipolazione robotica; form closure, force closure, grasp matrix e rappresentazione degli wrench; metodi per la generazione, interpolazione e apprendimento di traiettorie robotiche; principi delle Dynamic Movement Primitives e dei Gaussian Mixture Models applicati alla generazione del movimento; principi di ergonomia, biomeccanica e Human Factors applicati all'interazione uomo-robot; concetti di predictability, legibility e trust nell'interazione uomo-robot.
Programma
Percezione aptica umana: fisiologia del tatto, meccanorecettori cutanei, percezione cinestesica, procedure di esplorazione aptica, percezione delle proprietà degli oggetti.
Interfacce aptiche: dispositivi aptici, dispositivi cinestesici e cutanei, dispositivi di tipo impedance e admittance, haptic displays, wearable haptics, applicazioni all'interazione uomo-robot e alla realtà virtuale e aumentata.
Sensori di forza e tattili: principi dell'estensimetria, ponte di Wheatstone e circuiti di condizionamento; modellazione e progettazione di sensori di forza; sensori di forza e sensori tattili per applicazioni robotiche; modelli di contatto; sensori tattili intrinseci ed estrinseci; sensori inerziali (IMU); focus su sensori tattili ottici e optical flow; applicazioni alla robotica autonoma e collaborativa.
Telerobotica bilaterale: sistemi master-slave; modellazione mediante reti a due porte; telepresenza, trasparenza e stabilità; architetture di teleoperazione (Direct Control, Shared Control, Supervisory Control e Model-Mediated Teleoperation); rappresentazioni di impedenza, ammettenza e immittance; passività; criterio di Llewellyn; Time Domain Passivity Control (TDPC); teleoperazione con ritardo di comunicazione; Delayed TDPC, Energy Reference, Energy Leaks, Incoming and Outgoing Energy, Unified TDPC e Wave Variables; approcci energetici multilivello; sostituzione sensoriale cutanea (cutaneous sensory substitution); potenziamento della percezione cutanea (cutaneous enhancement); applicazioni e casi studio nella robotica medica e collaborativa.
Realtà virtuale aptica (Haptics-enabled Virtual Reality): stabilità e passività; haptic rendering; haptic loop; progettazione di ambienti virtuali con feedback aptico; analisi di casi studio.
Sono richieste conoscenze di base di analisi matematica, algebra lineare, tecniche di ottimizzazione, meccanica, robotica, automatica, teoria dei segnali e fondamenti della modellazione e del controllo dei sistemi dinamici. Al termine del corso, lo studente sarà in grado di affrontare criticamente la progettazione di sistemi aptici avanzati, valutando i compromessi tra prestazioni percettive, stabilità del controllo e caratteristiche delle tecnologie di sensing. Sarà inoltre in grado di selezionare la tecnologia sensoriale più appropriata in funzione della specifica applicazione robotica e di definire linee guida progettuali per sistemi di teleoperazione in grado di garantire elevati livelli di trasparenza e stabilità, anche in presenza di ritardi di comunicazione.1. Introduzione, interazione uomo-robot e sicurezza
Introduzione alla robotica collaborativa
Tassonomie dell'interazione uomo-robot: interazione cognitiva, fisica e collaborativa
Applicazioni dell'HRI in ambito industriale, medicale e nei servizi
Concetti fondamentali di sicurezza nell'interazione uomo-robot
Impatto e biomeccanica dell'urto
Costrizione e contatto prolungato
ISO 10218-1 e ISO 10218-2: requisiti di sicurezza per robot industriali e applicazioni robotiche
ISO/TS 15066: sicurezza collaborativa e limiti biomeccanici nel contatto uomo-robot
Sensori per la sicurezza: sensori di forza/coppia, visione e collision detection
Strategie reattive e architetture di sicurezza
2. Controllo avanzato dei manipolatori
Richiami di cinematica e dinamica dei manipolatori
Equazioni del moto
Controllo nello spazio dei giunti e nello spazio operativo
Controllo di impedenza: formulazione, interpretazione fisica e scelta dei parametri
Controllo di ammettenza
Controllo di coppia
Attuatori elastici e a rigidezza variabile: SEA, VSA e VIA
Metodi basati su residui per la ricostruzione delle coppie esterne
Metodi basati su residui per il fault detection
3. Controllo basato su passività ed energia
Concetto di passività
Passività nei sistemi robotici
Stabilità mediante metodi energetici
Introduzione ai sistemi port-Hamiltoniani
Modellazione port-Hamiltoniana
Interconnessione e proprietà energetiche
Passivity-Based Control
Limiti e problematiche implementative
Energy tanks ed energy reservoirs
Applicazioni alla robotica collaborativa
4. Grasping e manipolazione
Introduzione al grasping robotico
Modelli di contatto: contatto puntiforme, contatto con attrito e soft finger
Friction cone e approssimazioni lineari
Form closure
Force closure
Analisi della stabilità della presa
Grasp matrix e wrench space
Elementi di manipulation planning
Soft grippers: principi e criteri progettuali
Integrazione tra grasping e controllo
5. Generazione e apprendimento delle traiettorie
Problema dell'interpolazione
Interpolazione polinomiale
Problemi numerici e limitazioni
Spline: concetti fondamentali
Spline cubiche e condizioni di continuità
Curve di Bézier
Proprietà geometriche delle curve di Bézier
Time scaling e vincoli dinamici
Dynamic Movement Primitives (DMP)
Gaussian Mixture Models per la rappresentazione e generazione di traiettorie
6. Ergonomia e Human Factors
Introduzione all'ergonomia nell'interazione uomo-robot
Elementi di biomeccanica
Fatica muscolare e ripetitività
Metriche ergonomiche
Progettazione ergonomica di task collaborativi
Interazione fisica e comfort
Trade-off tra sicurezza, prestazioni e usabilità
Linee guida per la progettazione di sistemi HRI
7. HRI avanzata, percezione e applicazioni
Predictability, legibility e trust nell'interazione uomo-robot
Introduzione alla percezione nei sistemi collaborativi
Analisi e discussione di casi studio
Sono richieste conoscenze di base di analisi matematica, algebra lineare, meccanica, automatica e robotica. Sono inoltre richieste conoscenze di base relative alla modellazione cinematica e dinamica dei manipolatori robotici, alla teoria dei sistemi dinamici e al controllo dei sistemi lineari. Al termine del modulo, lo studente sarà in grado di affrontare criticamente la progettazione e l'analisi di sistemi robotici destinati all'interazione con l'essere umano, considerando congiuntamente gli aspetti di controllo, sicurezza, prestazioni ed ergonomia. Sarà inoltre in grado di confrontare differenti strategie di controllo e progettazione, motivando le scelte effettuate in funzione dell'applicazione e valutando i compromessi tra comportamento dinamico del robot, sicurezza dell'interazione, comfort dell'utente ed efficacia del task collaborativo.Modalità d'esame
La verifica delle capacità avverrà mediante prova orale comprendente la discussione degli argomenti teorici e l'analisi di casi studio relativi alla progettazione di interfacce aptiche, sensori di forza e tattili e sistemi di teleoperazione.
L'esame consiste in una prova orale finalizzata a verificare la comprensione degli aspetti teorici e metodologici trattati durante il corso. Durante il colloquio lo studente dovrà dimostrare di saper discutere criticamente i principi della percezione aptica, dei sistemi aptici, dei sensori di forza e tattili e della teleoperazione bilaterale, nonché le principali tecniche di controllo e progettazione. La discussione potrà includere l'analisi di articoli scientifici e casi applicativi. La verifica delle capacità avviene durante la prova orale mediante la discussione di problemi, esempi applicativi e casi studio relativi agli argomenti trattati nel modulo. Potranno inoltre essere proposte esercitazioni da svolgere autonomamente prima dell'esame, finalizzate all'applicazione delle metodologie studiate a semplici problemi di modellazione, controllo, manipolazione o analisi dell'interazione uomo-robot. I risultati delle esercitazioni potranno essere discussi durante la prova orale. L'esame consiste in una prova orale finalizzata a verificare la comprensione degli aspetti teorici e metodologici trattati durante il modulo e la capacità di applicarli a problemi di interesse robotico. Durante il colloquio lo studente dovrà dimostrare di saper discutere criticamente i principi e le metodologie relative alla robotica collaborativa e all'interazione uomo-robot, al controllo dei manipolatori in interazione, agli approcci basati sulla passività e sull'energia, alla presa e manipolazione robotica, alla generazione delle traiettorie e agli aspetti ergonomici dell'interazione. La prova potrà comprendere la discussione di problemi, esempi applicativi e casi studio. In alternativa o a integrazione di parte della verifica orale, potranno essere concordate con i docenti esercitazioni da svolgere autonomamente prima dell'esame. Le esercitazioni saranno finalizzate all'applicazione delle tecniche studiate a problemi circoscritti di modellazione, controllo o analisi di sistemi robotici collaborativi e saranno discusse durante l'esame.Testi di riferimento
Il materiale didattico sarà reso disponibile dal docente durante il corso attraverso la piattaforma istituzionale.
Testo di riferimento:
- Siciliano B., Khatib O. (Eds.), Springer Handbook of Robotics, Springer (2nd. edition - Chapters on Force and Tactile Sensors, Haptics, Telerobotics).
Il materiale didattico sarà reso disponibile dal docente durante il corso attraverso la piattaforma istituzionale.
Testi di riferimento e consultazione:
Siciliano B., Khatib O. (Eds.), Springer Handbook of Robotics, Springer.
Siciliano B., Sciavicco L., Villani L., Oriolo G., Robotics: Modelling, Planning and Control, Springer.
Murray R. M., Li Z., Sastry S. S., A Mathematical Introduction to Robotic Manipulation, CRC Press.
Ulteriore materiale sarà costituito da articoli scientifici, documentazione tecnica e standard di riferimento indicati durante il corso.
Codice insegnamento 79638
Al termine del modulo, lo studente/la studentessa avrà acquisito conoscenze relative a: principi e tassonomie dell'interazione uomo-robot (HRI), con particolare riferimento all'interazione fisica e collaborativa;…
Scheda dell'insegnamento
Obiettivi formativi
Al termine del modulo, lo studente/la studentessa avrà acquisito conoscenze relative a: principi e tassonomie dell'interazione uomo-robot (HRI), con particolare riferimento all'interazione fisica e collaborativa; principali problematiche di sicurezza nella robotica collaborativa e principi alla base delle normative di riferimento; biomeccanica dell'interazione e principali fenomeni associati all'urto, al contatto e alla costrizione; modellistica cinematica e dinamica dei manipolatori robotici; controllo dei manipolatori nello spazio dei giunti e nello spazio operativo; controllo di impedenza, controllo di ammettenza e controllo di coppia; principi e caratteristiche degli attuatori elastici e a rigidezza variabile; tecniche basate su residui per la stima delle coppie esterne e il rilevamento di anomalie; concetti di passività, stabilità energetica e sistemi port-Hamiltoniani; tecniche di Passivity-Based Control e controllo mediante energy tanks o energy reservoirs; modelli di contatto e principi della presa e della manipolazione robotica; form closure, force closure, grasp matrix e rappresentazione degli wrench; metodi per la generazione, interpolazione e apprendimento di traiettorie robotiche; principi delle Dynamic Movement Primitives e dei Gaussian Mixture Models applicati alla generazione del movimento; principi di ergonomia, biomeccanica e Human Factors applicati all'interazione uomo-robot; concetti di predictability, legibility e trust nell'interazione uomo-robot.
Programma
1. Introduzione, interazione uomo-robot e sicurezza
Introduzione alla robotica collaborativa
Tassonomie dell'interazione uomo-robot: interazione cognitiva, fisica e collaborativa
Applicazioni dell'HRI in ambito industriale, medicale e nei servizi
Concetti fondamentali di sicurezza nell'interazione uomo-robot
Impatto e biomeccanica dell'urto
Costrizione e contatto prolungato
ISO 10218-1 e ISO 10218-2: requisiti di sicurezza per robot industriali e applicazioni robotiche
ISO/TS 15066: sicurezza collaborativa e limiti biomeccanici nel contatto uomo-robot
Sensori per la sicurezza: sensori di forza/coppia, visione e collision detection
Strategie reattive e architetture di sicurezza
2. Controllo avanzato dei manipolatori
Richiami di cinematica e dinamica dei manipolatori
Equazioni del moto
Controllo nello spazio dei giunti e nello spazio operativo
Controllo di impedenza: formulazione, interpretazione fisica e scelta dei parametri
Controllo di ammettenza
Controllo di coppia
Attuatori elastici e a rigidezza variabile: SEA, VSA e VIA
Metodi basati su residui per la ricostruzione delle coppie esterne
Metodi basati su residui per il fault detection
3. Controllo basato su passività ed energia
Concetto di passività
Passività nei sistemi robotici
Stabilità mediante metodi energetici
Introduzione ai sistemi port-Hamiltoniani
Modellazione port-Hamiltoniana
Interconnessione e proprietà energetiche
Passivity-Based Control
Limiti e problematiche implementative
Energy tanks ed energy reservoirs
Applicazioni alla robotica collaborativa
4. Grasping e manipolazione
Introduzione al grasping robotico
Modelli di contatto: contatto puntiforme, contatto con attrito e soft finger
Friction cone e approssimazioni lineari
Form closure
Force closure
Analisi della stabilità della presa
Grasp matrix e wrench space
Elementi di manipulation planning
Soft grippers: principi e criteri progettuali
Integrazione tra grasping e controllo
5. Generazione e apprendimento delle traiettorie
Problema dell'interpolazione
Interpolazione polinomiale
Problemi numerici e limitazioni
Spline: concetti fondamentali
Spline cubiche e condizioni di continuità
Curve di Bézier
Proprietà geometriche delle curve di Bézier
Time scaling e vincoli dinamici
Dynamic Movement Primitives (DMP)
Gaussian Mixture Models per la rappresentazione e generazione di traiettorie
6. Ergonomia e Human Factors
Introduzione all'ergonomia nell'interazione uomo-robot
Elementi di biomeccanica
Fatica muscolare e ripetitività
Metriche ergonomiche
Progettazione ergonomica di task collaborativi
Interazione fisica e comfort
Trade-off tra sicurezza, prestazioni e usabilità
Linee guida per la progettazione di sistemi HRI
7. HRI avanzata, percezione e applicazioni
Predictability, legibility e trust nell'interazione uomo-robot
Introduzione alla percezione nei sistemi collaborativi
Analisi e discussione di casi studio
Sono richieste conoscenze di base di analisi matematica, algebra lineare, meccanica, automatica e robotica. Sono inoltre richieste conoscenze di base relative alla modellazione cinematica e dinamica dei manipolatori robotici, alla teoria dei sistemi dinamici e al controllo dei sistemi lineari. Al termine del modulo, lo studente sarà in grado di affrontare criticamente la progettazione e l'analisi di sistemi robotici destinati all'interazione con l'essere umano, considerando congiuntamente gli aspetti di controllo, sicurezza, prestazioni ed ergonomia. Sarà inoltre in grado di confrontare differenti strategie di controllo e progettazione, motivando le scelte effettuate in funzione dell'applicazione e valutando i compromessi tra comportamento dinamico del robot, sicurezza dell'interazione, comfort dell'utente ed efficacia del task collaborativo.Modalità d'esame
La verifica delle capacità avviene durante la prova orale mediante la discussione di problemi, esempi applicativi e casi studio relativi agli argomenti trattati nel modulo. Potranno inoltre essere proposte esercitazioni da svolgere autonomamente prima dell'esame, finalizzate all'applicazione delle metodologie studiate a semplici problemi di modellazione, controllo, manipolazione o analisi dell'interazione uomo-robot. I risultati delle esercitazioni potranno essere discussi durante la prova orale.
L'esame consiste in una prova orale finalizzata a verificare la comprensione degli aspetti teorici e metodologici trattati durante il modulo e la capacità di applicarli a problemi di interesse robotico. Durante il colloquio lo studente dovrà dimostrare di saper discutere criticamente i principi e le metodologie relative alla robotica collaborativa e all'interazione uomo-robot, al controllo dei manipolatori in interazione, agli approcci basati sulla passività e sull'energia, alla presa e manipolazione robotica, alla generazione delle traiettorie e agli aspetti ergonomici dell'interazione. La prova potrà comprendere la discussione di problemi, esempi applicativi e casi studio. In alternativa o a integrazione di parte della verifica orale, potranno essere concordate con i docenti esercitazioni da svolgere autonomamente prima dell'esame. Le esercitazioni saranno finalizzate all'applicazione delle tecniche studiate a problemi circoscritti di modellazione, controllo o analisi di sistemi robotici collaborativi e saranno discusse durante l'esame.
Testi di riferimento
Il materiale didattico sarà reso disponibile dal docente durante il corso attraverso la piattaforma istituzionale.
Testi di riferimento e consultazione:
Siciliano B., Khatib O. (Eds.), Springer Handbook of Robotics, Springer.
Siciliano B., Sciavicco L., Villani L., Oriolo G., Robotics: Modelling, Planning and Control, Springer.
Murray R. M., Li Z., Sastry S. S., A Mathematical Introduction to Robotic Manipulation, CRC Press.
Ulteriore materiale sarà costituito da articoli scientifici, documentazione tecnica e standard di riferimento indicati durante il corso.
Codice insegnamento 79659
Lo studente approfondisce, attraverso un’attività progettuale e sperimentale, le conoscenze acquisite durante il percorso magistrale nei settori dell’automazione e della robotica. L’attività permette di comprendere…
Scheda dell'insegnamento
Obiettivi formativi
Lo studente approfondisce, attraverso un’attività progettuale e sperimentale, le conoscenze acquisite durante il percorso magistrale nei settori dell’automazione e della robotica. L’attività permette di comprendere metodologie avanzate di progettazione, sviluppo sperimentale, integrazione hardware e software, sperimentazione e validazione di sistemi automatici e robotici, anche nell’ambito di progetti di ricerca.
Programma
Il programma è personalizzato in funzione del progetto assegnato e può comprendere:
- progettazione e sviluppo di sistemi di automazione e robotica;
- sviluppo e integrazione software per sistemi di controllo;
- sviluppo e/o integrazione hardware/software;
- utilizzo di sensori, attuatori e piattaforme robotiche;
- campagne di simulazione;
- sperimentazione e raccolta dati;
- analisi e validazione sperimentale dei risultati;
- partecipazione alle attività di un laboratorio di ricerca.
Modalità d'esame
Le capacità sono valutate sulla base della qualità del progetto sviluppato, del report tecnico che descrive l’attività svolta, dell’autonomia dimostrata durante l’attività laboratoriale e della presentazione finale.
L’esame consiste nella valutazione del progetto sviluppato, della documentazione prodotta e in una discussione orale davanti a una commissione, finalizzata ad accertare le conoscenze acquisite, le capacità progettuali e sperimentali e il livello di autonomia raggiunto.Testi di riferimento
La bibliografia viene definita dal docente supervisore in funzione del progetto assegnato e comprende articoli scientifici, manuali tecnici, documentazione software e testi specialistici.
Codice insegnamento 79642
Il corso si propone di fornire agli studenti: conoscenze di base inerenti alla teoria e alla modellistica dei sistemi ad eventi discreti; conoscenze inerenti alla teoria delle code; conoscenze dei principi di base per la…
Scheda dell'insegnamento
Obiettivi formativi
Il corso si propone di fornire agli studenti:
- conoscenze di base inerenti alla teoria e alla modellistica dei sistemi ad eventi discreti;
- conoscenze inerenti alla teoria delle code;
- conoscenze dei principi di base per la simulazione dei sistemi ad eventi discreti;
Programma
- Introduzione ai sistemi ad eventi discreti
- Modelli di sistemi ad eventi discreti non temporizzati
- Modelli di sistemi ad eventi discreti temporizzati
- Modelli di sistemi ad eventi discreti temporizzati stocastici
- Sistemi ad eventi discreti con temporizzazione di Poisson
- Catene di Markov a tempo discreto
- Catene di Markov a tempo continuo
- Teoria delle code
- Reti di code markoviane
- Code di servizio non markoviane
- Strumenti di simulazione di sistemi ad eventi discreti
- Esempi applicativi
- Sistemi dinamici;
- Probabilità di base;
Al termine del corso lo studente sarà in grado di modellare, analizzare e caratterizzare i sistemi ad eventi discreti e in particolare le code di servizio.
Modalità d'esame
Durante lo svolgimento dell'esame allo studente verranno sottoposti esercizi che richiedono soluzione analitica o un approccio simulativo. Gli esercizi ricopriranno le tematiche necessarie a valutare le capacità oggetto del corso.
L'esame per il superamento del corso è orale.
La prova orale consiste in un colloquio tra il candidato e la commissione. Al fine di una valutazione quanto più completa, durante la prova orale, viene richiesto al candidato di risolvere analiticamente problemi/esercizi e di descrivere in dettaglio e formalmente aspetti teorici e metodologici proposti dalla commissione.
La prova orale è non superata in una qualsiasi delle seguenti circostanze, valutate dalla commissione di esame:
- il candidato non è ripetutamente in grado di motivare razionalmente il proprio approccio alla soluzione di esercizi;
- il candidato non è in grado di risolvere gli esercizi proposti;
- il candidato mostra di non essere in grado di esprimersi in modo chiaro e di usare la terminologia corretta richiesta dalla materia d’esame;
- il candidato mostra ripetutamente l'incapacità di mettere in relazione parti del programma e nozioni che deve usare in modo congiunto per rispondere in modo corretto ad una domanda;
- il candidato non è in grado di definire o utilizzare correttamente le proprietà dei sistemi ad eventi discreti.
Testi di riferimento
Testi consigliati:
- "Introduction to Discrete Event Systems", Cassandras, Christos G., Lafortune, Stéphane, Springer, 2008
Verranno resi disponibili i lucidi delle lezioni e le registrazioni relative all'uso dei toolbox in Matlab/Simulink
Codice insegnamento P069096858
Il corso si propone di fornire allo studente strumenti teorici, metodologici e algoritmici per modellare, analizzare e risolvere problemi di pianificazione del moto e di coordinamento in sistemi robotici autonomi e…
Scheda dell'insegnamento
Obiettivi formativi
Il corso si propone di fornire allo studente strumenti teorici, metodologici e algoritmici per modellare, analizzare e risolvere problemi di pianificazione del moto e di coordinamento in sistemi robotici autonomi e multi-agente.
Al termine del corso lo studente avrà acquisito competenze relative a:
- modellazione di problemi di pianificazione del moto di robot;
- applicazione di algoritmi di pianificazione discreta e programmazione dinamica;
- formulazione e analisi di problemi di pianificazione del moto nello spazio delle configurazioni;
- metodi di pianificazione combinatori, basati su campionamento, su potenziali e su comportamenti reattivi;
- modellazione di sistemi multi-robot e confronto tra architetture centralizzate e distribuite;
- analisi e progettazione di algoritmi distribuiti su reti di agenti;
- studio dei protocolli di consensoo;
- formulazione e analisi di problemi di rendezvous, controllo di formazione e coverage per sistemi multi-robot.
Programma
1 Introduzione ai corso
1.1 Caratteristiche e problematiche
1.2 Astrazione e modellistica
2 Introduzione alla teoria dei grafi
2.1 Definizioni, caratteristiche e proprietà dei grafi
2.2 Matrici associate ai grafi e analisi spettrale
2.3 Introduzione all'ottimizzazione discreta
2.4 Introduzione alla programmazione dinamica
3 Algoritmi di pianificazione del moto
3.1 Introduzione al problema della pianificazione del moto
3.2 Modelli geometrici e spazio delle configurazioni
3.3 Algoritmi di pianificazione combinatorici.
3.4 Algoritmi di pianificazione del moto basati su campionamento.
3.5 Algoritmi di pianificazione basati sui potenziali o su comportamenti
4 Algoritmi distribuiti su reti sincrone
4.1 Introduzione agli algoritmi distribuiti su reti sincrone
4.2 Il Protocollo del Consenso a tempo continuo e discreto
5 Controllo di formazione
5.1 Introduzione al controllo in formazione
5.2 Formalizzazione e modellistica delle formazioni
5.3 Controllo di formazioni con dinamica lineare
5.4 Controllo di formazioni di unicicli
5.5 Problema del Coverage
6 Strumenti di simulazione robotica
6.1 Uso del Matlab per la simulazione di sistemi robotici distribuiti
6.2 Introduzione al Robotics Operative System (ROS)
- 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)
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.
Modalità d'esame
Le capacità saranno verificate attraverso la risoluzione di problemi teorici e applicativi nell’ambito della prova d’esame e, ove previsto, mediante esercizi di modellazione, analisi e simulazione degli algoritmi trattati.
La prova d’esame verifica la conoscenza degli argomenti teorici e algoritmici trattati nel corso e la capacità di applicarli alla modellazione, analisi e risoluzione di problemi di pianificazione del moto e coordinamento di sistemi multi-robot mediante svolgimento di esercizi e di elaborati basati su esempi applicativi.
Testi di riferimento
- 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.
Codice insegnamento 79656
Prova finale, Altro
Scheda dell'insegnamento
Programma
Prova finale, Altro
Codice insegnamento 68546
l corso si propone di fornire agli studenti conoscenze su : • Modellistica del volo in atmosfera con ala fissa o ala rotante; • Dinamica e controllo di aeromobili; • Dinamica e controllo del volo orbitale; • Sensori,…
Scheda dell'insegnamento
Obiettivi formativi
l corso si propone di fornire agli studenti conoscenze su : • Modellistica del volo in atmosfera con ala fissa o ala rotante; • Dinamica e controllo di aeromobili; • Dinamica e controllo del volo orbitale; • Sensori, attuatori e sistemi di controllo per satelliti; • Sensori, attuatori e sistemi di controllo per veicoli multirotori
Programma
- Sistemi di equazioni differenziali lineari e non-lineari;
- Tecniche di controllo a ciclo chiuso di base;
- concetti base di dinamica del corpo rigido
Modalità d'esame
Le capacità applicative sono esercitate mediante esempi numerici, semplici problemi e simulazioni MATLAB. In sede di esame sono verificate attraverso la formulazione della soluzione di un problema di natura aeronautica o spaziale.
L’esame consiste in una verifica orale delle competenze acquisite.Testi di riferimento
Testi consigliati:
- Nelson R., Flight Stability and Automatic Control, McGraw Hill, 1997
- Stengel R., Flight Dynamics, Princeton University Press, 2004.
- Curtis H., Orbital Mechanics for Engineering Students, Elsevier 2014.
- Mengali G., Meccanica del Volo Spaziale, Edizioni Plus, 2013.
- Mengali G., Elementi di Dinamica del Volo, Edizioni Plus, 2001.
Slides delle lezioni fornite dal docente
Codice insegnamento P047079319
Gli studenti acquisiranno conoscenze di base sul funzionamento dei principali sistemi di conversione dell'energia e dei relativi componenti, nonché conoscenze approfondite sulla loro modellazione dinamica, regolazione…
Scheda dell'insegnamento
Obiettivi formativi
Gli studenti acquisiranno conoscenze di base sul funzionamento dei principali sistemi di conversione dell'energia e dei relativi componenti, nonché conoscenze approfondite sulla loro modellazione dinamica, regolazione e controllo, con particolare enfasi sull'impatto delle strategie di controllo sull'efficienza di conversione energetica e sulla sostenibilità.
Programma
–Richiami di termodinamica
- Fondamenti di termodinamica e delle leggi di conservazione dell’energia
- Elementi di fluidodinamica e scambio termico
–Modellazione dinamica di sistemi termo-fluidodinamici
- Reti idrauliche e pneumatiche
- Sistemi con scambio termico
–Componenti dei sistemi energetici e loro regolazione
- Scambiatori
- Macchine a fluido (turbine, compressori, pompe, …)
–Sistemi e loro regolazione
- Impianti a vapore, turbine a gas e motori a combustione interna
- Turbine idrauliche ed eoliche
- Attività di laboratorio in aula informatica (circa 25 ore)
Conoscenze di base dei principi della termodinamica e della conservazione dell’energia
Lo studente avrà acquisito la capacità di analizzare e commentare il funzionamento di sistemi per la conversione dell’energia e dei loro componenti evidenziandone le principali criticità di regolazione e controllo. Lo studente avrà sviluppato un approccio razionale e metodologicamente motivato alla regolazione e controllo dei sistemi energetici e delle macchine a fluido.
Modalità d'esame
L'accertamento delle capacità avviene attraverso discussione in sede di esame
L'esame consiste in una prova orale della durata approssimativa di 30 minuti (3 domande) volta all’accertamento della conoscenza degli argomenti trattati durante il corso. All'esame è necessario presentare un piccolo elaborato assegnato dal docente sui temi del corso. Durante il colloquio, al candidato potrà anche essere richiesto di risolvere problemi scritti o discutere casi studio. La prova orale non è superata se il candidato mostra di non essere in grado di esprimersi in modo chiaro e non risponde, o risponde con evidenti carenze, sulle conoscenze di base del corso
Testi di riferimento
Gli studenti hanno a disposizione il materiale fornito dal docente
Libri di consultazione aggiuntivi:
- Bohdan T. Kulakowski, John F. Gardner, J. Lowen Shearer “Dynamic Modeling and Control of Engineering System”
- F. Gregg Shinskey - Process Control Systems_ Application, Design, and Tuning-McGraw-Hill Professional (1996)
- F. Gregg Shinskey - Energy Conservation Through Control - Academic Press (1978)
- William J. Palm, III - System Dynamics 4th Edition-McGraw-Hill (2020)
- Ernest Doebelin (Author) - System Dynamics_ Modeling, Analysis, Simulation, Design-CRC Press (1998)
Codice insegnamento 79655
Al termine del corso la studentessa o lo studente avrà acquisito conoscenze e capacità di comprensione nei seguenti blocchi tematici: elementi di oceanografia fisica e propagazione acustica subacquea; formulazioni…
Scheda dell'insegnamento
Obiettivi formativi
Al termine del corso la studentessa o lo studente avrà acquisito conoscenze e capacità di comprensione nei seguenti blocchi tematici: elementi di oceanografia fisica e propagazione acustica subacquea; formulazioni analitiche e numeriche per la previsione del campo acustico e impiego dell’equazione del sonar; principi, prestazioni e limiti dei sistemi acustici per l’esplorazione della colonna d’acqua, del fondale e dei sedimenti marini; caratteristiche della principale strumentazione oceanografica e dei sistemi di navigazione subacquea; architetture, criteri di configurazione e impiego di ROV, AUV, glider e ASV; modellazione cinematica e dinamica dei robot marini e principi dei relativi sistemi di guida, navigazione e controllo; architetture modulari di automazione e robotica, definizione delle interfacce, integrazione e verifica sperimentale di sistemi complessi; pianificazione e analisi di missioni robotiche in ambiente marino.
Programma
Il corso sviluppa autonomia di giudizio nella selezione di piattaforme robotiche, strumenti e metodologie di misura; consapevolezza dei limiti fisici, ambientali e operativi della sperimentazione in mare; capacità di valutare criticamente i compromessi tra portata, risoluzione, accuratezza, autonomia e complessità operativa; capacità di lavorare in piccoli gruppi assumendo la responsabilità di un sottosistema, concordare interfacce e vincoli con gli altri gruppi, pianificare lo sviluppo per obiettivi intermedi, condividere in modo trasparente avanzamenti e criticità e contribuire all’integrazione di un sistema complesso; capacità di comunicare con chiarezza le motivazioni delle scelte tecniche e i risultati ottenuti.
Modalità d'esame
L’esame, svolto in presenza, consiste in un colloquio orale individuale. La prova inizia con la presentazione e la discussione del report tecnico relativo all’attività didattica sviluppata in gruppo, comprendente la descrizione della missione, del modulo realizzato, delle interfacce, delle scelte progettuali, delle fasi di integrazione, delle prove sperimentali e dei risultati ottenuti. La valutazione è individuale: ciascuna studentessa e ciascuno studente deve dimostrare di conoscere il sistema complessivo e di saper descrivere e motivare il proprio contributo. Seguono domande sul report e sull’intero programma, che possono includere formulazioni analitiche, interpretazione di dati e semplici calcoli di dimensionamento. La valutazione, espressa in trentesimi, considera correttezza e completezza delle conoscenze, qualità e solidità delle scelte tecniche, capacità di integrazione e analisi sperimentale, consapevolezza di vincoli e compromessi, contributo individuale e chiarezza espositiva. Il voto minimo richiede conoscenze sufficienti, un contributo riconoscibile e una soluzione tecnicamente coerente; voti più elevati richiedono completezza, autonomia e capacità critica.
Testi di riferimento
Testi consigliati:
J. M. Hovem, Marine Acoustics, Peninsula Publishing, 2012.
X. Lurton, Introduction to Underwater Acoustics, Springer, 2002.
P. Blondel, The Handbook of Side Scan Sonar, Springer, 2009.
T. I. Fossen, Handbook of Marine Craft Hydrodynamics and Motion Control, Wiley, 2009.
G. Antonelli, Underwater Robots, Springer, 2006.
R. H. Stewart, Introduction to Physical Oceanography, University of Texas.
Materiale integrativo: slide, notebook, filmati, dati, articoli scientifici e ulteriori risorse indicate dai docenti.
Codice insegnamento 79650
Il corso di sistemi embedded mira a rendere lo studente in grado di operare su diverse architetture di sistemi embedded quali: sistemi a microcontrollore, sistemi linux embedded, macchine virtualizzate. Il corso affronta…
Scheda dell'insegnamento
Obiettivi formativi
Il corso di sistemi embedded mira a rendere lo studente in grado di operare su diverse architetture di sistemi embedded quali: sistemi a microcontrollore, sistemi linux embedded, macchine virtualizzate. Il corso affronta sia tematiche di programmazione, che di configurazione di sistema e di interconnessione tra i sistemi. Durante il corso saranno svolte diverse esercitazioni di interazione con HW quali: sispositivi di attuazione, sensori, dispositivi di comunicazione.
Programma
- Architecture types - Microcontrollers (Ref to STM32XX) -- Structure -- Peripheral design -- Simple application review -- Bareboard model for control - Physical base modeling with simulink -- Code generation -- Diagnostic and debug -- Simple command interaction -- Remote sensor readings -- Simple actuation -- Basic embedded motor control schemes -- Controller tuning - Sistemi linux embedded -- Light Virtual Machines -- ROS Programming -- ROS/Simulink -- microROS for microcontrollers (ESP32) -- microROS interaction
Fondamenti di automazione, fondamenti di attuazione elettrica, uso di matlab simulink, modellazione fisica di sistemi, conoscenza di C/C++
Programmazione di target in codice C, ovvero tramite implementazione automatica da schemi simulink, gestione delle interruzioni (bare models), sistemi operativi embedded, concetti di ROS2 e microROS, lettura di sensori embedded, ed attuazione semmplice di motori.
Modalità d'esame
Esame finale ed esercitazioni
Prova unica
Testi di riferimento
Il corso è di nuova attivazione, il materiale del corso verrà elaborato durante la prima annualità di erogazione in modalità provvisoria e poi consolidato nelle annualità successive.
Codice insegnamento 79651
Il corso consente agli studenti di sviluppare software con vincoli temporali per diversi domini applicativi, quali robotica, avionica, sistemi automotive, multimediali e biomedici. Gli studenti impareranno i fondamenti…
Scheda dell'insegnamento
Obiettivi formativi
Il corso consente agli studenti di sviluppare software con vincoli temporali per diversi domini applicativi, quali robotica, avionica, sistemi automotive, multimediali e biomedici. Gli studenti impareranno i fondamenti teorici e le metodologie più moderne per sviluppare ed analizzare applicazioni sensibili al tempo con elevato grado di concorrenza e requisiti di prestazione. Esempi pratici saranno illustrati per spiegare come derivare i vincoli temporali dai requisiti dell'applicazione. Quindi, il corso si concentrerà sulle metodologie atte ad aumentare la prevedibilità dei sistemi controllati da computer, inclusi gli algoritmi per la schedulazione dei task e la gestione di risorse. Infine, verranno illustrati numerosi esempi di applicazioni real-time realizzati sul sistema Linux, sfruttando la libreria Pthread ed una libreria ad-hoc per la gestione dei vincoli temporali.
Programma
1. Concetti di base sul calcolo in tempo reale. Domini di applicazione. Tipici Requisiti di sistema. Limiti degli approcci tradizionali. Modelli di attività computazionali. Tipologie di vincoli temporali. Algoritmi di scheduling. Metriche per la valutazione delle prestazioni.
2. Algoritmi di scheduling in tempo reale. Tassonomia degli algoritmi esistemti. Schedulazione con vincoli di precedenza. Scheduling di attività periodiche. Analisi di schedulabilità. Analisi dei tempi di risposta.
3. Protocolli per l'accesso alle risorse condivise. Fenomeno di inversione di priorità e metodi per evitarlo: Non-Preemptive Protocol, Highest Locker Priority, Priority Inheritance Protocol, Priority Ceiling Protocol, Stack Resource Policy. Stima dei tempi di bloccaggio. Analisi dei tempi di risposta in presenza di protocolli di accesso a risorse condivise.
4. Gestione delle attività aperiodiche. Server a priorità fissa (Polling Server, Deferrable Server e Sporadic Server). Server di priorità dinamica (Total Bandwidth Server e Constant Bandwidth Server). Analisi temporale in presenza di server aperiodici.
5. Gestione dei sovraccarichi. Definizione di carico computazionale. Metodi per la gestione dei sovraccarichi. Tecniche di Admission Control, Robust Scheduling, Imprecise Compuation, Job Skipping, Elastic Task. Gestione degli overrun e tecniche di Resource Reservation per l'isolamento temporale tra applicazioni.
6. Linee guida per lo sviluppo di software in tempo reale. Esempi di programmazione di software in tempo reale in Linux.
7. Metodi di integrazione per la simulazione di sistemi fisici. Metodi di programmazione per l'evoluzione temporale di sistemi discretizzati. Metodi per la simulazione di varie tipologie di sensori (telecamere, sensori di prossimità, lidar, IMU, ecc.) e attuatori (motori in corrente continua e sistemi elastici).
8. Esempi di controllo di sistemi mediante reinforcement learning. Il paradigma di reinforcement learning. Metodi di valutazione dello stato. Metodi di controllo delle azioni. Algoritmi model free. Note implementative. Esempi applicativi.
Conoscenze di base su matematica, fisica, architetture di elaborazione, linguaggi di programmazione e sistemi operativi.
Gli studenti avranno l'opportunità di sviluppare il progetto in un piccolo gruppo, condividendo la responsabilità nella gestione dello sviluppo delle applicazioni.
Modalità d'esame
Le capacità acquisite verranno verificate attraverso lo sviluppo di un progetto e una relazione scritta che spiega le scelte progettuali e le soluzioni di implementazione adottate.
L'esame prevede lo sviluppo di un progetto, la sua discussione e una prova scritta sugli argomenti del corso. Al fine di comprendere la parte teorica e affrontare correttamente lo sviluppo del progetto, si raccomanda vivamente la partecipazione in presenza a tutte le lezioni del corso.
Testi di riferimento
1. Giorgio Buttazzo, Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications", Third Edition, Springer, 2011.
2. Giorgio Buttazzo: "Sistemi in Tempo Reale", Terza Edizione, Pitagora Editrice, Bologna, 2006.
Materiale aggiuntivo sarà fornito sul sito web del corso.
Codice insegnamento 79652
Il corso si suddivide in due moduli tra loro complementari. Nel primo modulo l’insegnamento è volto a fornire le conoscenze di base per analisi dei processi tecnologici e loro analisi attraverso modelli dinamici non…
Scheda dell'insegnamento
Obiettivi formativi
Il corso si suddivide in due moduli tra loro complementari.
Nel primo modulo l’insegnamento è volto a fornire le conoscenze di base per
- analisi dei processi tecnologici e loro analisi attraverso modelli dinamici non lineari e con più ingressi e più uscite
- sintesi di controllori avanzati di processo attraverso metodi: frequenziali, basati sulla forma di stato, e basati su modelli predittivi
- poter applicare la teoria studiata ad esempi di interesse ingegneristico, quali il controllo applicato agli azionamenti di motori elettrici
Programma
- Controllo ottimo e ottimizzazione convessa
- Elementi di Calcolo delle Variazioni e Problema di Controllo Ottimo
- Dal problema di Controllo Ottimo al Problema di Ottimizzazione attraverso tecniche di Discretizzazione
- Ottimizzazione Convessa
- Model Predictive Control
- Stabilità in presenza di vincoli
- MOC con stima dello stato
- Control Policy Synthesis via Deep Reinforcement Learning
- DRL basics (neurons, layers, activation functions, networks)
- Tools (sym, gym, train)
- Approcci moderni di Learning
- Applicazioni: Legged Robots - Umanoidi, Quadrupedi, Multimodal Robots
Conoscenze di base di controlli automatici, di fisica e di analisi matematica
L’allievo al termine del corso dovrà essere in grado di analizzare criticamente le specifiche richieste
a un sistema complesso di modellazione e controllo per applicazioni di automazione industriale
L’allievo al termine del corso dovrà essere in grado di analizzare criticamente le specifiche richieste
a un sistema complesso di modellazione, controllo e sensorizzazione (incluso lo scambio di informazione uomo-robot) per applicazioni di automazione industriale e robotica avanzata.
Modalità d'esame
Sono proposti allo studente, in occasione della prova orale finale, esercizi che richiedono soluzione analitica su tutte le capacità oggetto del corso.
Esercizio di approfondimento presentato con supporto di slide o report
Testi di riferimento
Appunti dettagliati delle lezioni e registrazioni delle lezioni (resi disponibili a tutti gli iscritti al corso dal docente su Google Drive)
Codice insegnamento 79639
Il corso si propone di fornire agli studenti e alle studentesse conoscenze avanzate sui principi della percezione aptica umana e sulla progettazione di sistemi tattili per la robotica e l'interazione uomo-macchina.…
Scheda dell'insegnamento
Obiettivi formativi
Il corso si propone di fornire agli studenti e alle studentesse conoscenze avanzate sui principi della percezione aptica umana e sulla progettazione di sistemi tattili per la robotica e l'interazione uomo-macchina. Partendo dai meccanismi neurofisiologici della percezione tattile e della manipolazione umana, il corso introduce la modellazione e la progettazione di interfacce aptiche, dispositivi a ritorno di forza e sensori tattili destinati alla robotica avanzata. Particolare attenzione sarà dedicata ai sensori di forza e tattili, distinguendo tra sensori intrinseci ed estrinseci e approfondendo le più recenti tecnologie basate su sensori ottici tattili ad alta risoluzione per la manipolazione robotica, la presa, l'esplorazione tattile e la percezione delle proprietà degli oggetti. Il corso affronta inoltre i principi della teleoperazione bilaterale e delle interfacce aptiche per la telerobotica, introducendo i concetti di trasparenza, telepresenza e stabilità dei sistemi master-slave. Verranno analizzate le principali architetture di controllo per la teleoperazione, le tecniche di haptic rendering e i metodi per garantire la stabilità in presenza di ritardi di comunicazione, con particolare riferimento alla passività. Al termine del corso lo studente avrà conoscenze avanzate sulla progettazione, modellazione e controllo di interfacce aptiche e sensori tattili e sarà in grado di comprendere le problematiche legate all'integrazione di tali sistemi nella robotica autonoma, collaborativa, nella teleoperazione e nella realtà virtuale e aumentata.
Programma
Percezione aptica umana: fisiologia del tatto, meccanorecettori cutanei, percezione cinestesica, procedure di esplorazione aptica, percezione delle proprietà degli oggetti.
Interfacce aptiche: dispositivi aptici, dispositivi cinestesici e cutanei, dispositivi di tipo impedance e admittance, haptic displays, wearable haptics, applicazioni all'interazione uomo-robot e alla realtà virtuale e aumentata.
Sensori di forza e tattili: principi dell'estensimetria, ponte di Wheatstone e circuiti di condizionamento; modellazione e progettazione di sensori di forza; sensori di forza e sensori tattili per applicazioni robotiche; modelli di contatto; sensori tattili intrinseci ed estrinseci; sensori inerziali (IMU); focus su sensori tattili ottici e optical flow; applicazioni alla robotica autonoma e collaborativa.
Telerobotica bilaterale: sistemi master-slave; modellazione mediante reti a due porte; telepresenza, trasparenza e stabilità; architetture di teleoperazione (Direct Control, Shared Control, Supervisory Control e Model-Mediated Teleoperation); rappresentazioni di impedenza, ammettenza e immittance; passività; criterio di Llewellyn; Time Domain Passivity Control (TDPC); teleoperazione con ritardo di comunicazione; Delayed TDPC, Energy Reference, Energy Leaks, Incoming and Outgoing Energy, Unified TDPC e Wave Variables; approcci energetici multilivello; sostituzione sensoriale cutanea (cutaneous sensory substitution); potenziamento della percezione cutanea (cutaneous enhancement); applicazioni e casi studio nella robotica medica e collaborativa.
Realtà virtuale aptica (Haptics-enabled Virtual Reality): stabilità e passività; haptic rendering; haptic loop; progettazione di ambienti virtuali con feedback aptico; analisi di casi studio.
Sono richieste conoscenze di base di analisi matematica, algebra lineare, tecniche di ottimizzazione, meccanica, robotica, automatica, teoria dei segnali e fondamenti della modellazione e del controllo dei sistemi dinamici. Al termine del corso, lo studente sarà in grado di affrontare criticamente la progettazione di sistemi aptici avanzati, valutando i compromessi tra prestazioni percettive, stabilità del controllo e caratteristiche delle tecnologie di sensing. Sarà inoltre in grado di selezionare la tecnologia sensoriale più appropriata in funzione della specifica applicazione robotica e di definire linee guida progettuali per sistemi di teleoperazione in grado di garantire elevati livelli di trasparenza e stabilità, anche in presenza di ritardi di comunicazione.Modalità d'esame
La verifica delle capacità avverrà mediante prova orale comprendente la discussione degli argomenti teorici e l'analisi di casi studio relativi alla progettazione di interfacce aptiche, sensori di forza e tattili e sistemi di teleoperazione.
L'esame consiste in una prova orale finalizzata a verificare la comprensione degli aspetti teorici e metodologici trattati durante il corso. Durante il colloquio lo studente dovrà dimostrare di saper discutere criticamente i principi della percezione aptica, dei sistemi aptici, dei sensori di forza e tattili e della teleoperazione bilaterale, nonché le principali tecniche di controllo e progettazione. La discussione potrà includere l'analisi di articoli scientifici e casi applicativi.Testi di riferimento
Il materiale didattico sarà reso disponibile dal docente durante il corso attraverso la piattaforma istituzionale.
Testo di riferimento:
- Siciliano B., Khatib O. (Eds.), Springer Handbook of Robotics, Springer (2nd. edition - Chapters on Force and Tactile Sensors, Haptics, Telerobotics).
Codice insegnamento 79658
Lo studente che completa il corso di "Visione per la Robotica" in maniera positiva acquisisce conoscenze approfondite su tutti gli aspetti fondamentali della visione robotica moderna. In primo luogo, sviluppa una…
Scheda dell'insegnamento
Obiettivi formativi
Lo studente che completa il corso di "Visione per la Robotica" in maniera positiva acquisisce conoscenze approfondite su tutti gli aspetti fondamentali della visione robotica moderna. In primo luogo, sviluppa una solida comprensione della geometria proiettiva e dei modelli di telecamera, comprendendo come funzionano le telecamere prospettiche, ortografiche e affini, e come i parametri intrinseci ed estrinseci determinano la relazione tra lo spazio 3D e il piano immagine 2D. Inoltre, affronta lo studio rigoroso delle trasformazioni geometriche nel piano (isometriche, affini e proiettive), essenziali per interpretare le relazioni tra diverse viste di una scena, e della stima del movimento 2D tramite il flusso ottico. Un elemento centrale del corso riguarda lo Structure from Motion (SfM) e la Visual Odometry (VO), cioè la capacità di ricostruire la geometria 3D di una scena e la traiettoria della telecamera a partire da sequenze di immagini. Lo studente comprende lo SLAM visivo basato su grafi e la sua ottimizzazione, tecniche critiche per la localizzazione e mappatura simultanee in ambienti robotici. Inoltre, acquisisce conoscenze su approcci moderni al deep learning per la percezione robotica. Infine, apprende i fondamenti del controllo visivo sia basato sulla posizione (PBVS) che sull'immagine (IBVS), comprendendo come le informazioni sensoriali della telecamera si traducono in comandi di controllo per manipolatori robotici e robot mobili.
Programma
Il programma affronta i fondamenti della geometria proiettiva e i modelli di telecamera (prospettico, ortografico, affine), la matrice di proiezione e la calibrazione con rimozione delle distorsioni ottiche. Prosegue con l'estrazione e il matching di feature locali (Harris, SIFT, ORB), la classificazione delle trasformazioni 2D (isometriche, affini, proiettive) e l'algoritmo RANSAC per la stima robusta in presenza di outlier, oltre alla stima del movimento tramite flusso ottico (Lucas-Kanade, Horn-Schunck).
Vengono poi trattati la geometria epipolare, le matrici Fondamentale ed Essenziale con l'algoritmo normalizzato a 8 punti, la triangolazione geometrica e la pipeline dello Structure from Motion incrementale (inclusione dell'algoritmo PnP), e il Bundle Adjustment come problema di ottimizzazione non lineare (Gauss-Newton, Levenberg-Marquardt, complemento di Schur). Si affrontano inoltre la Visual Odometry e lo SLAM visivo basato su grafi, con gestione del drift e rilevamento delle chiusure di ciclo (Bag of Visual Words).
Il programma include il deep learning per la percezione robotica: object detection (YOLO), segmentazione semantica e istanziale (Mask R-CNN), descrittori appresi (SuperPoint, SuperGlue), 6D Pose Estimation e Deep Odometry. Si conclude con il Jacobiano visivo (matrice di interazione) e le sue singolarità, e i due paradigmi di controllo visivo, PBVS (con analisi di stabilità di Lyapunov) e IBVS (con gestione dei vincoli sui giunti e delle limitazioni geometriche), a integrazione finale dell'intera pipeline percezione-localizzazione-controllo.
Questo corso presuppone che lo studente possegga una solida formazione nei fondamenti della meccanica e del controllo dei robot, acquisita attraverso corsi precedenti su meccanica dei robot (cinematica e dinamica) e controllo dei robot (feedback, stabilità, analisi di sistemi non lineari tramite equazioni differenziali). Inoltre, è essenziale una preparazione robusta in algebra lineare avanzata, inclusa la manipolazione di matrici, il calcolo di autovalori e autovettori, la decomposizione in valori singolari (SVD) e la risoluzione di sistemi sovradeterminati. Infine, lo studente deve possedere una minima dimestichezza con la programmazione in MATLAB, inclusa la creazione di script, l'utilizzo di funzioni built-in, e la manipolazione di strutture dati e array, nonchè una minima conoscenza su ROS2. Durante il corso, lo studente sviluppa importanti competenze comportamentali e relazionali. Il lavoro in gruppo favorisce la capacità di collaborazione e comunicazione in team multidisciplinari, essenziale nel contesto industriale e di ricerca moderno, insegnando a negoziare compiti, coordinarsi con colleghi con prospettive diverse e comunicare in modo chiaro e professionale. Il corso promuove inoltre uno spirito critico e analitico: gli studenti sono incoraggiati a mettere in discussione i risultati degli algoritmi di visione, a valutare quando un approccio fallisce e perché, e a proporre soluzioni alternative, comprendendo a fondo le limitazioni geometriche e computazionali degli algoritmi piuttosto che limitarsi a eseguirli. Lo studente sviluppa infine consapevolezza nel gestire le incertezze intrinseche della sensoristica robotica (errori di calibrazione, rumore ottico, ambiguità di scala, ritardi computazionali), imparando a quantificarle e comunicarle chiaramente, e acquisisce competenze di documentazione tecnica accurata e di presentazione scientifica dei risultati.Modalità d'esame
Le capacità pratiche vengono valutate attraverso una esercitazione sperimentale di gruppo che rappresenta l'integrazione di tutto il contenuto del corso. Il progetto richiede lo sviluppo di un'applicazione completa in MATLAB e/o Simulink o ROS2 che implementi l'intera pipeline Percezione → Localizzazione → Controllo ad Anello Chiuso. Gli studenti, lavorando in piccoli gruppi, devono utilizzare un robot manipolatore (possibilmente a 6 gradi di libertà) o un robot mobile per eseguire un compito pratico realistico, ad esempio l'allineamento di un end-effector su un bersaglio, l'inseguimento di un oggetto in movimento, o la navigazione autonoma in un ambiente. Il progetto deve includere documentazione tecnica dettagliata, codice commentato e ben strutturato, analisi dei risultati sperimentali e una presentazione orale in cui il gruppo illustra il lavoro svolto, i risultati ottenuti, i problemi affrontati e le soluzioni implementate. Durante la presentazione il gruppo deve rispondere a domande varie sul programma del corso.
L'esame finale è strutturato in due componenti di uguale peso (50% ciascuna). La Prova Orale Teorica verifica la comprensione dei fondamenti matematici del corso (scomposizioni geometriche, algoritmi classici come l'8-point normalizzato e la SVD della matrice essenziale, tecniche di ottimizzazione come il Bundle Adjustment, teoremi di stabilità di Lyapunov), richiedendo anche spirito critico nel discutere limiti e alternative. L'esercitazione Sperimentale di Gruppo richiede lo sviluppo, in piccoli gruppi, di un'applicazione MATLAB/Simulink o ROS2 che implementi l'intera pipeline Percezione → Localizzazione → Controllo su un robot reale o simulato, applicata a un compito pratico realistico. L'esercitazione include codice documentato, una relazione tecnica con analisi critica dei risultati, e una presentazione orale con domande da parte del docente.
Testi di riferimento
I testi di riferimento primari sono tre monografie di eccellenza internazionale:
- Richard Szeliski, "Computer Vision: Algorithms and Applications" (2nd Edition, 2021), per una trattazione moderna della visione artificiale, del deep learning e delle pipeline di SLAM;
- Richard Hartley e Andrew Zisserman, "Multiple View Geometry in Computer Vision" (2nd Edition, 2004), riferimento per il rigore matematico nella geometria proiettiva e multi-vista;
- Peter Corke, "Robotics, Vision and Control: Fundamental Algorithms in MATLAB" (3rd Edition, 2017), elemento pratico-applicativo per i laboratori e i moduli di controllo visivo.
Il corso è inoltre supportato da dispense sugli Jacobiani Visivi e il Controllo Visivo, dagli strumenti software MATLAB (Computer Vision Toolbox, Deep Learning Toolbox, Robotics System Toolbox), dal Robotics Toolbox e Spatial Math Toolbox di Peter Corke, e da una selezione di articoli scientifici recenti su SLAM basato su grafi, Visual Odometry e Visual Servoing e ROS2.
Codice insegnamento 79641
Recensioni del corso
Studi qui? Accedi per lasciare la tua recensione e aiutare altri studenti a scegliere.
Nessuna recensione per ora — e la prima è la più preziosa. Condividi la tua esperienza e orienta le future matricole.