SISTEMI DI CONTROLLO Laurea Specialistica in Ingegneria Meccanica e del Veicolo SISTEMI DI CONTROLLO CINEMATICA E DINAMICA DEI ROBOT Ing. Cristian Secchi Tel. 0522 522235 e-mail: secchi.cristian@unimore.it www.dismi.unimo.it/members/csecchi Moto di un Corpo Rigido Corpo Rigido: Insieme di particelle la cui distanza rimane costante nel tempo indipendentemente dal moto del sistema e dalle forze esercitate su di esso. Un robot è costituito da una serie di corpi rigidi (link) connessi tramite giunti che ne consentono il moto relativo. Problema Cinematico: Trovare la relazione tra le proprietà del moto (posizione, velocità, accelerazione, ) nello spazio di giunto Q e quelle nello spazio di lavoro W. Stabilità -- 2 Cristian Secchi Pag. 1
Moto di un Corpo Rigido - Ipotesi Il moto si svolge in uno spazio euclideo rappresentato da R 3 Su R 3 è definito un prodotto scalare da cui deriviamo la norma associata: Il sistema di riferimento di base è inerziale Stabilità -- 3 Moto di un Corpo Rigido - Ipotesi Proprietà del prodotto scalare θ u v Se u e v hanno norma unitaria il loro prodotto scalare è il coseno dell angolo formato dalle loro direzioni Stabilità -- 4 Cristian Secchi Pag. 2
Moto di un Corpo Rigido - Ipotesi Sfruttando l ipotesi di rigidità, possiamo studiare il moto di un corpo rigido come il moto di un sistema di riferimento ad esso solidale. In R 3 un corpo rigido ha 6 gradi di libertà 3 per la posizione 3 per l orientamento P z 1 y 1 F 1 x 1 z 0 y 0 F x 0 0 Stabilità -- 5 Moto di un Corpo Rigido - Notazione x 0 z 0 y 1 z 0 x1 O y 0 F 1 1 x 0 y 0 F 0 y 0 p O 1 x 1 z 1 z 1 In grassetto i versori degli assi Fissato un sistema di riferimento, ogni punto p R 3 può essere rappresentato da un vettore. Coordinate di p rispetto a F 0 Coordinate di p rispetto a F 1 Stabilità -- 6 Cristian Secchi Pag. 3
Moto di un Corpo Rigido - Rotazioni Qual è la relazione tra 0 p e 1 p? F 1 z 1 z 0 p y 1 O 0 = O 1 x 0 y 0 x 1 y 1 F 0 Usando le proprietà del prodotto scalare si vede che: Stabilità -- 7 Moto di un Corpo Rigido - Rotazioni NOTA: I versori hanno norma unitaria e, quindi, il prodotto scalare tra due versori non è altro che il coseno dell angolo compreso tra essi. Stabilità -- 8 Cristian Secchi Pag. 4
Moto di un Corpo Rigido - Rotazioni y 1 y 0 p F 1 x 1 θ F 0 x 0 Stabilità -- 9 Moto di un Corpo Rigido - Rotazioni i R j Matrice di Rotazione Rappresenta la configurazione di F j rispetto a F i ruotati l uno rispetto all altro. Proprietà delle matrici di rotazione Ogni rotazione è rappresentata da un elemento di SO(3) e ogni elemento di SO(3) rappresenta una rotazione Stabilità -- 10 Cristian Secchi Pag. 5
Moto di un Corpo Rigido - Rotazioni L inversa di una matrice di rotazione esiste sempre L inverso della configurazione di F j rispetto a F i èla configurazione di F i rispetto a F j Stabilità -- 11 Moto di un Corpo Rigido - Rotazioni p F 2 F 1 F 0 Più rotazioni si compongono semplicemente moltiplicando le rispettive matrici di rotazione. 0 R 2 rappresenta la configurazione di F 2 rispetto a F 0 Stabilità -- 12 Cristian Secchi Pag. 6
Moto di un Corpo Rigido Traslazioni p F 1 0 O 1 O 1 0 O 1 =O 1 -O 0 O 0 F 0 Due sistemi di riferimento sono traslati uno rispetto all altro se le origini non coincidono ma gli assi hanno lo stesso orientamento Qual è la relazione tra 0 p e 1 p? 0 p=p-o 0 =p-o 1 +O 1 -O 0 = 1 p+ 0 O 1 Stabilità -- 13 Moto di un Corpo Rigido - Rototraslazioni p 0 O 1 O 1 O 0 F 0 0 O 1 =O 1 -O 0 E possibile esprimere mediante una matrice la configurazione relative di due sistemi di riferimento rototraslati l uno rispetto all altro? Stabilità -- 14 Cristian Secchi Pag. 7
Moto di un Corpo Rigido - Rototraslazioni Non è possibile esprimere una rototraslazione con una matrice 3 X 3. Rappresentiamo un punto in R 3 mediante un vettore di dimensione 4 usando le cosiddette coordinate omogenee La quarta coordinata è sempre 1 Stabilità -- 15 Moto di un Corpo Rigido - Rototraslazioni Dati due sistemi di riferimento F 0 e F 1 rototraslati l uno rispetto all altro, costruiamo la seguente Matrice di Trasformazione Omogenea E una matrice 4 X 4 Dipende dalla rotazione relativa tra i due sistemi di riferimento Dipende dalla traslazione relativa dei due sistemi di riferimento L ultima riga è fissa, indipendente dalla configurazione relativa dei sistemi di riferimento Stabilità -- 16 Cristian Secchi Pag. 8
Moto di un Corpo Rigido - Rototraslazioni La matrice di trasformazione omogenea rappresenta l effetto di una rototraslazione tra due sistemi di riferimento. La matrice di trasformazione omogenea rappresenta la configurazione di due sistemi di riferimento rototraslati l uno rispetto all altro. Stabilità -- 17 Moto di un Corpo Rigido - Rototraslazioni 1 H 0 = 0 H 1 rappresenta la configurazione del sistema di riferimento 0 rispetto al sistema di riferimento 1 L inversione di una matrice di trasformazione omogenea è un operazione molto semplice e implica solo trasposizioni Stabilità -- 18 Cristian Secchi Pag. 9
Moto di un Corpo Rigido - Rototraslazioni p F 2 F 0 F 1 p espresso in coordinate omogenee!! Più rototraslazioni si compongono semplicemente moltiplicando le rispettive matrici di trasformazione omogenea. Stabilità -- 19 Teorema di Chasles Il moto più generico che un corpo rigido può compiere è una rototraslazione. Qualsiasi movimento può essere espresso da una serie di rototraslazioni. Le matrici di trasformazione omogenea ci consentono, quindi, di studiare qualsiasi moto di un corpo rigido. Stabilità -- 20 Cristian Secchi Pag. 10
Moto di un Corpo Rigido Twist e Wrenches Siccome il moto più generico di un corpo rigido è una rototraslazione, possiamo intuitivamente dedurre che la velocità avrà un termine di traslazione e uno di rotazione. Analogamente la forza che potremo applicare avrà un termine traslazionale e uno rotazionale z 0 v z 1 ω F 1 x 1 y 1 x0 F 0 y 0 Una volta fissato un sistema di riferimento rispetto cui calcolare la velocità di un corpo rigido, è possibile rappresentare la velocità e la forza come un vettori. Stabilità -- 21 Moto di un Corpo Rigido Twist e Wrenches TWIST WRENCH Il twist esprime, rispetto al sistema di riferimento scelto, la velocità generalizzata del corpo rigido: v esprime la traslazione e ω la rotazione. Il wrench esprime, rispetto al sistema di riferimento scelto, la forza generalizzata applicata al corpo rigido: f esprime la forza e m il momento. Stabilità -- 22 Cristian Secchi Pag. 11
Cinematica Diretta F n F 0 Problema: Trovare la configurazione del sistema di riferimento solidale con l end-effector (F n ) rispetto al sistema di riferimento solidale con la base del robot (F 0 ) Stabilità -- 23 Cinematica Diretta Bisogna trovare 0 H n 0 H n dipenderà dalle n variabili di giunto q 1,, q n Calcolare 0 H n direttamente risulta molto difficoltoso Scomponiamo il Problema in sottoproblemi più semplici Stabilità -- 24 Cristian Secchi Pag. 12
Cinematica Diretta F 2 F n-1 F 1 F n F 0 Considero un sistema di riferimento in corrispondenza di ogni giunto. Ciascun i H i+1 dipende unicamente dalla variabile di giunto su cui è posto F i ed è facile calcolarlo. Moltiplicando i vari termini trovati ottengo n H 0 Stabilità -- 25 Esempio - Notazione Rappresenteremo il robot come: y 2 y 1 q 2 y 0 x 1 q 1 x 0 x 2 m i = massa link i q i = variabile del giunto i-esimo I i = momento di inerzia del link i-esimo attorno all asse che passa per il centro di massa a i = lunghezza del link i-esimo a Ci = distanza tra il giunto i e il centro di massa del link i-esimo g = forza di gravità lungo l asse y 0 τ i = coppia agente sul giunto i C i = cos(q i ) S i = sin(q i ) C ij = cos(q i +q j ) S ij = sin(q i +q j ) Stabilità -- 26 Cristian Secchi Pag. 13
Cinematica Diretta - Esempio Stabilità -- 27 Cinematica Inversa (q 1,,q n ) 0 H n (q 1,,q n ) Cinematica Diretta 0 H n (q 1,,q n ) (q 1,,q n ) Cinematica Inversa Problema: Trovare il valore delle variabili di giunto corrispondente a una data configurazione. Il problema consiste nell invertire una funzione NON LINEARE. Non esiste una soluzione chiusa ma esistono svariati approcci che risolvono casi di particolare interesse (es.: approccio di Pieper). Stabilità -- 28 Cristian Secchi Pag. 14
Cinematica Differenziale F n F 0 Problema: Trovare il twist del sistema di riferimento solidale all end-effector rispetto a un sistema di riferimento solidale con la base del robot data la velocità nello spazio di giunto. Stabilità -- 29 Cinematica Differenziale Il twist dipende dalla velocità dei giunti Il twist dipende dalla posizione dei giunti Il problema è di facile soluzione. E sempre possibile trovare un operatore che lega il twist alla velocità dei giunti. Stabilità -- 30 Cristian Secchi Pag. 15
Cinematica Differenziale Jacobiano del robot Lo jacobiano dipende dalla posizione del robot in modo non lineare. Il legame tra velocità nello spazio di giunto e twist è lineare. E sempre possibile trovare lo jacobiano di un robot ed esistono algoritmi per costruirlo. Stabilità -- 31 Cinematica Differenziale - Esempio y 2 x 2 y 1 q 2 y 0 x 1 q 1 x 0 Come è logico aspettarsi, il sistema di riferimento solidale con l end-effector trasla lungo gli assi x 0 e y 0 e ruota attorno all asse z 0 (perpendicolare al foglio) Stabilità -- 32 Cristian Secchi Pag. 16
Cinematica Differenziale Inversa F n F 0 Problema: Dato il twist del sistema di riferimento solidale all end-effector rispetto a un sistema di riferimento solidale con la base del robot trovare la velocità nello spazio di giunto. Stabilità -- 33 Cinematica Differenziale Inversa Semplice soluzione Sfortunatamente se lo Jacobiano non è quadrato oppure se det(j(q))=0 l inversa non esiste. In questi casi è possibile ottenere una stima della velocità nello spazio di giunto mediante opportune tecniche (pseudoinversa di una matrice, ecc.). Stabilità -- 34 Cristian Secchi Pag. 17
Statica F n F 0 Problema: Dato un wrench applicato all end-effector rispetto a un sistema di riferimento solidale con la base del robot trovare le coppie che applicate ai giunti producono lo stesso effetto. Stabilità -- 35 Statica Forze e coppie devono essere equivalenti e, quindi, devono produrre lo stesso lavoro. Notando che: e Stabilità -- 36 Cristian Secchi Pag. 18
Statica Ma Da cui Stabilità -- 37 Sommario Relazioni Ottenute Cinematica Diretta Cinematica Differenziale Statica Stabilità -- 38 Cristian Secchi Pag. 19
Dinamica E lo studio dell effetto che c è tra le forze/coppie applicate sul robot e il moto risultante. Esistono vari approcci per trovare questa relazione Eulero-Lagrange Newton-Eulero Il modello dinamico è necessario per progettare il controllore per il robot. E necessario sapere il moto provocato dall applicazione di una certa coppia per poter fornire le coppie desiderate. Stabilità -- 39 Dinamica Modello di Eulero - Lagrange Si basa su considerazioni energetiche Dato un qualsiasi meccanismo, esistono delle variabili (q 1 (t),,q n (t)) grazie alle quali è possibile calcolare l energia cinetica K e quella potenziale P. Definendo: L equazione che esprime la relazione dinamica tra forze applicate e queste variabili è: Stabilità -- 40 Cristian Secchi Pag. 20
Dinamica Modello di Eulero - Lagrange In robotica le variabili rispetto a cui è possibile calcolare l energia sono lo variabili di giunto q i e la forza è la coppia applicata ai vari giunti. L energia cinetica e potenziale di ciascun link si può calcolare in funzione di una sola variabile di giunto q i. Sommando i contributi di ogni link è possibile ottenere l energia cinetica e potenziale complessiva del robot. Stabilità -- 41 Dinamica Modello di Eulero - Lagrange Dopo alcune manipolazioni matematiche si arriva al modello di Eulero-Lagrange di un robot: M(q) Matrice d inerzia. Tiene conto l effetto delle masse dei vari link. Dipende dalla configurazione. C(q,q ) Tiene conto l effetto degli effetti dinamici introdotti dal moto relativo dei vari link (forze centrifughe, forze di Coriolis). Dipende sia dalla configurazione che dalla velocità Stabilità -- 42 Cristian Secchi Pag. 21
Dinamica Modello di Eulero - Lagrange D Tiene conto degli attriti presenti nel robot come ad esempio l attrito tra i vari giunti (ma non solo!) g(q) Tiene conto dell effetto della gravità. Dipende dalla configurazione! Il modello è fortemente non lineare e tecniche per l analisi e il controllo di sistemi lineari (luogo delle radici, diagrammi di Bode, ) NON sono più valide. Stabilità -- 43 Dinamica Modello di Eulero - Lagrange Il modello dinamico di Eulero-Lagrange gode di alcune proprietà notevoli: M(q) è una matrice simmetrica e definita positiva q M(q) è limitata superiormente e inferiormente q La matrice è tale per cui: Stabilità -- 44 Cristian Secchi Pag. 22
Dinamica - Esempio y 2 y 1 q 2 y 0 x 1 x 2 = centro di massa del link Utilizzando concetti di meccanica, possiamo calcolare energia cinetica e potenziale di ciascun link. q 1 x 0 Stabilità -- 45 Dinamica Esempio Definendo E calcolando con le energie trovate, l equazione di Lagrange: Raccogliendo opportunamente si ottengono le equazioni dinamiche del robot: Stabilità -- 46 Cristian Secchi Pag. 23
Dinamica Esempio E Simmetrica! Stabilità -- 47 Dinamica Esempio Stabilità -- 48 Cristian Secchi Pag. 24
SISTEMI DI CONTROLLO Laurea Specialistica in Ingegneria Meccanica e del Veicolo SISTEMI DI CONTROLLO CINEMATICA E DINAMICA DEI ROBOT Ing. Cristian Secchi Tel. 0522 522235 e-mail: secchi.cristian@unimore.it www.dismi.unimo.it/members/csecchi Cristian Secchi Pag. 25