Scheda programma d'esame
MECHANICS OF ROBOTS
MARCO GABICCINI
Academic year2021/22
CourseROBOTICS AND AUTOMATION ENGINEERING
Code276II
Credits6
PeriodSemester 1
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
MECCANICA DEI ROBOTING-IND/13LEZIONI60
MARCO GABICCINI unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

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 sercitazioni al calcolatore è Wolfram Mathematica [https://www.wolfram.com/]. Alcune esercitazioni possono prevedere l'uso della suite CasADi [casadi.sourceforge.net] in ambiente Python.

Knowledge

The course will enable to analyze, model and design vehicle systems. By the end of the course, students should be able to: - analyze and control complex mechanical systems and vehicles; - evaluate the limits of application of the linear control methodologies in the case of non linear systems and to correctly use the instruments useful to overcome such limitations. - read and understand the commercial devices used in the control of machines and mechanical systems, and to project control systems using such devices. - know typologies and applications of the robotic systems used in industry and other service sectors - define the geometrical, kynematical and dynamical models adopted in robotics - elaborate functional projects of such mechanical systems

Modalità di verifica delle conoscenze

La verifica delle conoscenze avviene attraverso un esame scritto ed un colloquio orale. Lo svolgimento di un progetto sulle tematiche del corso con il software Wolfram Mathematica è facoltativo e viene tenuto in considerazione nella composizione del voto definitivo dell'esame.

Assessment criteria of knowledge

Knowledge verification occurs through application of the course topics to case studies. Results are presented and discussed through a technical report and a presentation with multimedia tools.

 

Capacità

Al termine dell'insegnamento lo studente saprà:

  • Progettare sistemi di controllo per sistemi meccanici e veicoli in presenza di vincoli e di incertezze del modello
  • Analizzare le caratteristiche e le proprietà strutturali della dinamica di sistemi meccanici e robotici avanzati
  • Utilizzare software di simulazione per sistemi meccanici e robotici
Skills

At the end of the course the student will know how to:

  • Design control systems for robotics and vehicles also in presence of constraints and uncertainties of the model;
  • Analyze the characteristics and structural properties of the dynamics of advanced mechanical and robotic systems;
  • Use simulation software for mechanical and robotic systems;
Modalità di verifica delle capacità

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

 

Assessment criteria of skills

During the course, the motion planning and control techniques will be applied on simulated and / or physical mechanical and vehicular systems in exercise and laboratory activities, under the supervision of teachers and teaching staff

 

Comportamenti

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 studiarne il moto, utili per il controllo, e di applicare gli strumenti di progetto appresi.

Behaviors

At the end of the course, students will have developed the ability to recognize in problems of different nature that can be proposed to them, the salient features of robotic systems in a broad sense of the term, to recognize the most appropriate techniques for motion planning and control, and to apply the design tools learned.

Modalità di verifica dei comportamenti

Agli studenti verrà chiesto di proporre argomenti di approfondimento nei quali loro stessi dovranno scegliere i sistemi cui applicare le tecniche apprese. In questo modo, potranno dimostrare di saper estendere l’applicabilità dei metodi ad una classe più generale di problemi che potranno incontrare nella loro vita professionale.

Assessment criteria of behaviors

Students will be asked to propose topics to be studied in detail in which they will have to choose which  learned technique is more suitable to be applied. In this way, they will be able to demonstrate how to extend the applicability of the methods to a more general class of problems they may encounter in their professional life.

Prerequisiti (conoscenze iniziali)
  • Corsi di meccanica di base;
  • Conoscenza operativa di algebra lineare;
  • Necessità di imparare l'utilizzo di software di analisi e simulazione (Mathematica)

 

Prerequisites
  • Theory of linear systems;
  • Linear Systems Control Techniques;
  • Ability to use analysis and simulation software (e.g. Matlab, Simulink)

 

Indicazioni metodologiche

Le lezioni vengono svolte alla lavagna con l'eventuale uso di supporti multimediali per la visione di immagini e video.

Modalità di apprendimento:

  • Partecipazione alle lezioni
  • Partecipazione a seminari
  • Partecipazione alle discussioni
  • Studio individuale
  • Lavoro di gruppo

Metodologia di insegnamento:

  • Lezioni
  • Seminari
  • Tutorato

 

Teaching methods

Lessons are performed on the blackboard with the possible use of multimedia media for viewing images and videos.

 

Learning modality:

  • Participation in lessons
  • Participation in seminars
  • Participation in discussions
  • Individual studio
  • Teamwork
  • Laboratory work

Teaching methodology:

  • Lessons
  • Seminars
  • Tutoring

 

Programma (contenuti dell'insegnamento)
  1. Introduzione al corso: Passato, presente e prospettive della robotica. Il ruolo fondamentale della modellistica meccanica nello sviluppo di robot sempre più performanti ed efficienti. Uno sguardo d'insieme alle tipologie di robot oggetto del corso e delle tecniche di modellazione adottate. 
  2. Punti, vettori, sistemi di riferimento e rotazioni: Punti, vettori e loro coordinate e componenti in sistemi di riferimento ortonormali. Interpretazione della matrice di rotazione come cambiamento di coordinate e come applicazione lineare che ruota vettori espressi nel medesimo sistema di riferimento. Il gruppo SO(3) e sue proprietà. Matrici ortogonali che non appartengono ad SO(3): le riflessioni. Costruzione della matrice che opera una riflessione rispetto ad un piano. Composizione di rotazioni in assi fissi (assemblaggio matrici da dx a sx). Composizione di rotazioni in assi mobili (assemblaggio matrici da sx a dx). Equivalenza delle precedenti composizioni: la trasformazione per congruenza di un tensore del secondo ordine al variare del sistema di riferimento impiegato. Le 12 parametrizzazione minime di una rotazione ottenute componendo matrici di rotazione elementari. Proprietà delle rotazioni elementari. Dettagli sulla parametrizzazione ZYX (yaw-pitch-roll) e sulla ZYZ. Realizzazione fisica della parametrizzazione ZYX mediante sospensione Cardanica equivalente. Formule di inversione e singolarità di rappresentazione per ZYX e ZYZ con descrizione del loro significato fisico (gimbal lock). 
  3. Roto-traslazioni: Trasformazioni di coordinate fra sistemi di riferimento roto-traslati. Perdita della linearità fra le componenti causata dalla presenza della traslazione fra le origini dei sistemi di riferimento. Recupero della linearità mediante introduzione delle coordinate omogenee per vettori posizioni e vettori generici. La matrice di trasformazione omogenea come rappresentazione di roto-traslazioni: il gruppo SE(3). Loro composizione per roto-traslazioni rigide successive mediante prodotto fra matrici. Applicazione al disco che rotola senza strisciamento. 
  4. Cinematica inversa dell'orientazione: Soluzione del problema inverso mediante invarianti lineari. Singolarità. Parametrizzazione non minima mediante quaternioni unitari. Algebra dei quaternioni per composizione di rotazioni e rotazioni di punti. Vantaggi computazionali dell'uso dei quaternioni rispetto alle matrici di rotazione. Interpolazione fra pose con quaternioni unitari mediante SLERP sulla iper-sfera unitaria in R^4. La matrice di trasformazione omogenea come rappresentazione di roto-traslazioni: il gruppo SE(3). Composizione di roto-traslazioni rigide successive mediante prodotto fra matrici omogenee di SE(3). Interpretazione della composizione in assi fissi e mobili. Trasformazione per similitudine di una trasformazione omogenea al variare del sistema di riferimento ortogonale. Interpretazione della composizione in assi fissi e mobili con un esempio.
  5. Parametrizzazione di un manipolatore seriale: Dalla struttura cinematica di un robot seriale alla rappresentazione della sua cinematica diretta. La convenzione di Denavit-Hartenberg (D-H) per la parametrizzazione di catene cinematiche seriali. Condizione necessaria e sufficiente sulla scelta di due sistemi di riferimento successivi perché la trasformazione relativa possa essere rappresentata mediante matrice template di D-H. Applicazione alla parametrizzazione di: RR planare. Esercitazione su Denavit-Hartenberg. Applicazione al: manipolatore RPP (differenti scelte per le terne), polso sferico (differenti configurazioni di riferimento per il polso). Analogia della matrice di rotazione per polso sferico in parametrizzazione di D-H alla Rzyz in assi correnti quando configurazione iniziale del polso è distesa. Necessità di una matrice di offset nel caso configurazione iniziale del polso sia ripiegata.
  6. Formalizzazione dei problemi cinematico diretto ed inverso per un manipolatore seriale. Approccio numerico alla soluzione del problema cinematico inverso riconducendolo alla soluzione di un sistema di eq.ni algebriche non lineari. Risultati del Teorema di Dini. Cenni al metodo di Newton-Raphson in più dimensioni. Approccio analitico (alla Pieper) del problema cinematico inverso per manipolatore seriale con polso sferico. Disaccoppiamento del problema di posizionamento del centro del polso e della orientazione della terna end-effector. Esempio di applicazione al manipolatore antropomorfo con polso sferico.
  7. Cinematica differenziale: Richiami su atto di moto 3D di un corpo rigido. Sua rappresentazione mediante twist. Leggi di cambiamento del twist rappresentativo del medesimo atto di moto di un corpo rigido al variare del polo e del sistema di riferimento in cui se ne esprimono le componenti. La trasformazione Ad_g (aggiunta) di una trasformazione omogenea g. Il Jacobiano geometrico per un RRR 3D e suo calcolo dalla sovrapposizione degli effetti dei twist dei giunti (teo. di composizione di moti relativi). Forma minima di un twist rispetto a punti sull'ISA.
  8. Richiami di statica del corpo rigido. Rappresentazione mediante wrench. Leggi di variazione di wrench equipollenti al variare del polo e del sistema di riferimento in cui se ne esprimono le componenti. Forma minima del wrench rispetto all'Asse Centrale. Caratterizzazione statica del Jacobiano geometrico. Dualità cineto-statica. Prodotto di reciprocità, potenza, movibilità. 
  9. Analisi del Jacobiano: I quattro sottospazi fondamentali di una matrice con particolare riferimento al Jacobiano geometrico. Mutua ortogonalità fra N(J) e Range(J^T) e fra N(J^T) e Range(J). 'Visualizzazione' dell'ortogonalità fra N(J^T) e Range(J) nel caso di RR planare in configurazione singolare (braccio disteso o ripiegato) e sue implicazione pratiche (wrench strutturali in singolarità). Jacobiano geometrico e Jacobiano analitico: analogie e differenze. La non integrabilità della velocità angolare. I due approcci al calcolo della relazione fra la velocità angolare e le derivate temporali degli angoli della parametrizzazione di SO(3) scelta.
  10. Cinematica differenziale inversa: Algoritmi Closed-Loop Inverse Kinematics (CLIK) per l'inversione della cinematica differenziale di catene cinematiche seriali non ridondanti mediante Jacobiano analitico. Soluzione della eq.ne differenziale risultante mediante discretizzazione numerica ed aspetti critici. 
  11. Parametrizzazioni mediante gruppi di Lie: Parametrizzazione di catene cinematiche mediante tecniche basate sui gruppi di Lie: global POE e local POE. La mappa esponenziale che collega elementi dell'algebra di Lie (atti di moto) ad elementi del gruppo (trasformazioni finite). Analisi del formato URDF per la parametrizzazioni di robot in ROS ed analogie con la parametrizzazione local POE. Esempio di applicazione alla parametrizzazione in URDF del robot UR5. 
  12. Dinamica (Netwon): Breve richiamo di elementi di dinamica del corpo rigido. Le eq.ni cardinali della dinamica del corpo rigido, dette anche eq.ni di Newton-Eulero. Le varie forme della seconda cardinale rispetto ad un polo generico e sul significato del momento inerziale. Specializzazione delle eq.ni di Newton-Eulero rispetto al centro di massa. Algoritmo ricorsivo di Newton-Eulero (RNEA) per un manipolatore seriale parametrizzato mediante convenzione di Denavit-Hartenberg e con gruppi di Lie (local POE). Esercitazione: Applicazione dell'algoritmo RNEA alla dinamica del 'pendolo di Furuta'. Descrizione del caso specifico e illustrazione del codice in Mathematica che impiega il package iDynTree. 
  13. Dinamica Lagrangiana e Vincolata: Dalle eq.ni di Lagrange classiche alla forma standard usata in Robotica per manipolatori seriali parametrizzati mediante angoli ai giunti (vettore di configurazione a componenti indipendenti). Dettagli sul calcolo della matrice di inerzia generalizzata e sulla matrice di Coriolis ottenuta mediante i simboli di Christoffel del 1° tipo. Proprietà di anti-simmetria della matrice dB/dt - 2C. Dal PLVD alle eq.ni di Lagrange con moltiplicatori di Lagrange per sistemi parametrizzati mediante vettore configurazione con componenti dipendenti (configurazione ridondante). Esempio: pendolo parametrizzato mediante le coordinate del suo centro di massa. Tipologie di vincolo: vincoli geometrici/differenziali scleronomi/reonomi. Esempio di applicazione a manipolatori paralleli con vincoli di forma Pfaffiana fra le velocità ai giunti delle gambe ed il twist del coupler. Metodi di soluzione delle eq.ni di Lagrange per sistemi vincolati DAE (Differential Algebraic Equations) risultanti. La formulazione aumentata, il metodo delle quasi-velocità e la tecnica di embedding. Caratteristiche e struttura delle eq.ni risultanti per i differenti approcci. Svolgimento di esercizio di dinamica vincolata: l'upright rolling penny. Manipolatori paralleli. Generalità ed esempi: paralleli classici, manipolatori seriali cooperanti, mani per robot, robot su gambe. Configurazione, configurazione minima. Problema cinematico diretto e problema cinematico inverso. Singolarità e biforcazioni. Cinematica differenziale e statica di manipolatori paralleli: Jacobiano J delle gambe, matrice di grasp G, matrice di definizione dei vincoli H fra gambe e coupler nei giunti di collegamente, la forma Pfaffiana delle eq.ni di vincolo fra le velocità ai giunti ed il twist del coupler. Analisi 'strutturale' della soluzione della cinematica differenziale mediante analisi della struttura a blocchi dello spazio nullo della matrice di vincolo. Discussione della esistenza ed unicità della soluzione dell'equilibrio fra wrench esterno, coppie ai giunti delle gambe e forze vincolari fra gambe e coupler, in considerazione anche della presenza di giunti non attuati alle gambe. Esempio con un parallelo planare. Esercitazione in Mathematica sui manipolatori paralleli: analisi del manipolatore Tricept. Presentazione del meccanismo, analisi cinematica diretta ed inversa. Controllo a cinematica inversa per la realizzazione di una operazione di fresatura su un pezzo in moto su nastro trasportatore. Analisi dinamica mediante equazioni di Newton-Eulero. Discussione dei punti salienti del tema d'esame dell'01.02.19: analisi di un gripper in presa su un oggetto circolare mediante polpastrelli circolari. Costruzione J, G e H e Jh e Gh. Peculiarità legate alla struttura biforcata del gripper. Analisi delle proprietà strutturali (forze interne, forze strutturali, forze strutturali interne, moti ridondanti gripper, moti labili oggetto, moti coordinati). Discussione punti salienti del tema d'esame del 16.11.2020: manipolatore ibrido 'five bar'. Discussione particolarità disaccoppiamento eq.ni del moto per condizioni particolari su lunghezze ed inerzie (annullamento 'shaking moments').
Syllabus

Contents: 1) - Introduction. problems in the control of linear systems obtained by linearization of non linear systems. Examples of the limitations of the classical (input-output) approach to control - Stability - Attainability and controllability - State feedback - Observability and rebuildability - System regulation and output feedback

Bibliografia e materiale didattico

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

Bibliography

 P. Bolzern, R. Scattolini, N. Schiavoni: “Fondamenti di Controlli Automatici”, McGraw Hill - E. Fornasini, G. Marchesini: “Appunti di Teoria dei Sistemi” -Notes of the lecturer (available on the course website)

Indicazioni per non frequentanti

Nessuna differenza di programma o di valutazione

Non-attending students info

No changes n content or assessment

Modalità d'esame

L’esame consiste in una prova scritte e, in caso di esito positivo, di un breve 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'orlae consiste in una o due domande cui rispondere oralmente interagendo con la commissione.

Il candidato può anche decidere di svolgere un 'progettino' (facoltativo) di approfondimento che viene illustrato alla commissione dopo che lo scritto è risultato positivo e può contribuire a migliorare la valutazione dello studente.

 

Assessment methods

The final exam consists of two written and/or oral exams on the parts of the course. Both are articulated in one or more exercises to be performed independently, using the material of the course and any other material deemed useful; and in one or more questions to answer orally interacting with the commission.

In addition or as an alternative to the oral examination, the examination consists in evaluating the results of the topics chosen by the student and analyzed in detail applying the tools learned.

 

Altri riferimenti web

Nessuna

Additional web pages

N/A

Updated: 10/09/2021 10:21