Prima Precedente Avanti Ultima Vai Indietro Schermo Pieno Chiudi Esci

Documenti analoghi
Versione febbraio 2005

Corso di Laurea di I livello in Ingegneria Meccanica note alle lezioni di: Complementi di Meccanica Applicata alle Macchine, 3CFU

Vettori e geometria analitica in R 3 1 / 25

SISTEMI DI CONTROLLO CINEMATICA E DINAMICA DEI ROBOT

Geometria analitica del piano pag 32 Adolfo Scimone

misura. Adesso, ad un arbitrario punto P dello spazio associamo una terna di numeri reali x

La matematica del CAD. Vettori e Matrici

1 Applicazioni lineari

1 Sistemi di riferimento

Geometria analitica del piano pag 12 Adolfo Scimone

Esercitazione di Analisi Matematica II

Robotica I. M. Gabiccini

LEZIONE 2. ( ) a 1 x 1 + a 2 x a n x n = b, ove a j, b R sono fissati.

Prodotto scalare e ortogonalità

Meccanica. 5. Moti Relativi. Domenico Galli. Dipartimento di Fisica e Astronomia

1 Ampliamento del piano e coordinate omogenee

trasformazioni omogenee

Robotica: Errata corrige

Lezione 6 Richiami di Geometria Analitica

1 Distanza di un punto da una retta (nel piano)

1 Cambiamenti di riferimento nel piano

Esercizi geometria analitica nello spazio. Corso di Laurea in Informatica. Docente: Andrea Loi. Correzione

Corso di Percezione Robotica (PRo) Modulo B. Fondamenti di Robotica

Capitolo 1 Vettori applicati e geometria dello spazio

= (cioè le due terne di numeri direttori ( devono essere ) proporzionali). Tale uguaglianza non è verificata, poiché risulta ρ

Introduzione alla cinematica dei sistemi. Angoli di Eulero

Rette e piani nello spazio Federico Lastaria, Analisi e Geometria 1. Politecnico di Milano Corso di Analisi e Geometria 1

Robotica industriale. Richiami di statica del corpo rigido. Prof. Paolo Rocco

Argomenti Capitolo 1 Richiami

RETTE E PIANI. ove h R. Determinare i valori di h per cui (1) r h e α sono incidenti ed, in tal caso, determinare l angolo ϑ h da essi formato;

ELEMENTI DI CALCOLO VETTORIALE

di manipolatori seriali

Elementi di matematica - dott. I. GRASSI

X = x + 1. X = x + 1

1 Nozioni utili sul piano cartesiano

x1 + 2x 2 + 3x 3 = 0 nelle tre incognite x 1, x 2, x 3. Possiamo risolvere l equazione ricavando l incognita x 1 x 1 = 2x 2 3x 3 2r 1 3r 2 x 2 x 3

1 Rette e piani in R 3

Appunti su Indipendenza Lineare di Vettori

4 Cinematica diretta dei robot

Meccanica. 5. Cinematica del Corpo Rigido. Domenico Galli. Dipartimento di Fisica e Astronomia

ˆ b, si usa la convenzione di prendere. come verso positivo quello antiorario e come verso negativo quello orario.

(f g)(x) = f(g(x)), (f (g h))(x) = f(g(h(x))) = ((f g) h)(x).

x 1 Fig.1 Il punto P = P =

Geometria analitica: rette e piani

VETTORI E SCALARI DEFINIZIONI. Si definisce scalare una grandezza definita interamente da un solo numero, affiancato dalla sua unità di misura.

LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g

Corso di Fisica I per Matematica

Φ D 2 L. k > 0. M O=A s. sistema (che è rappresentato in figura ). Infine, vogliamo calcolare le reazioni vincolari sul sistema.

I.T.I.S «G. MARCONI» - PADOVA Via Manzoni, 80 Tel.: Fax

1.1 Coordinate sulla retta e nel piano; rette nel piano

(P x) (P y) = x P t (P y) = x (P t P )y = x y.

Problema (tratto dal 7.42 del Mazzoldi 2)

Inversione della cinematica differenziale

Corso di Geometria BIAR, BSIR Esercizi 10: soluzioni

LEZIONE 27. C = { P = (x, y) x 2 /a 2 y 2 /b 2 = 1 }. C si dice iperbole di semiassi a e b (in forma canonica). L equazione

Esercizi sulle affinità - aprile 2009

Ricordiamo brevemente come possono essere rappresentate le rette nel piano: 1) mediante un'equazione cartesiana. = ( p 1

Geometria e Topologia I (U1-4) 2006-mag-10 61

LEZIONE 23. ax 2 + bxy + cy 2 + dx + ey + f

Parte 12b. Riduzione a forma canonica

EQUAZIONE DELLA RETTA

DEFINIZIONE Un vettore (libero) è un ente geometrico rappresentato da un segmento orientato caratterizzato da tre parametri:

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

II Università degli Studi di Roma

1- Geometria dello spazio. Vettori

Spazi vettoriali euclidei.

Lezione 2 Richiami sui sistemi di riferimento Richiami di trigonometria Vettori Calcolo vettoriale

CORSO DI LAUREA IN INGEGNERIA EDILE/ARCHITETTURA

MR. Cinematica relativa

Calcolo vettoriale. Versore: vettore u adimensionale di modulo unitario (rapporto tra un vettore e il suo modulo)

Esercizio (tratto dal problema 7.36 del Mazzoldi 2)

Esercitazioni di Meccanica Razionale

Prodotto scalare e prodotto vettoriale. Elisabetta Colombo

TEORIA DEI SISTEMI ANALISI DEI SISTEMI LTI

(x B x A, y B y A ) = (4, 2) ha modulo

UNITÀ DIDATTICA 5 LA RETTA

DEDUZIONE DEL TEOREMA DELL'ENERGIA CINETICA DELL EQUAZIONE SIMBOLICA DELLA DINAMICA

Corso di Percezione Robotica Modulo B. Fondamenti di Robotica

Esercitazioni di Meccanica Razionale

VETTORI GEOMETRICI / RICHIAMI

GEOMETRIA ANALITICA

Matematica per Analisi dei Dati,

RETTE E PIANI NELLO SPAZIO

Geometria delle masse

GEOMETRIA PIANA. 1) sia verificata l uguaglianza di segmenti AC = CB (ossia C è punto medio del segmento AB);

Cinematica dei robot

ax 1 + bx 2 + c = 0, r : 2x 1 3x = 0.

Calcolo vettoriale. Grandezze scalari: caratterizzate da un valore numerico in una unità di misura scelta (ex: massa, temperatura, ecc)

1 Cambiamenti di coordinate nel piano.

Applicazioni eliminazione di Gauss

LA RETTA NEL PIANO CARTESIANO

Il vettore velocità angolare (avendo scelto θ come in Figura) si scrive come:

Risposta in vibrazioni libere di un sistema lineare viscoso a più gradi di libertà. Prof. Adolfo Santini - Dinamica delle Strutture 1

LEZIONE 12. Y = f(x) = f( x j,1 f(e j ) = x j,1 A j = AX = µ A (X),

Vettori applicati. Capitolo Richiami teorici. Definizione 1.1 Un sistema di vettori applicati Σ è un insieme

12 - Sistemi di Equazioni Lineari

Complementi di Analisi per Informatica *** Capitolo 2. Numeri Complessi. e Circuiti Elettrici

0.1 Spazi Euclidei in generale

Equazioni di Eulero del corpo rigido.

SPAZI EUCLIDEI, APPLICAZIONI SIMMETRICHE, FORME QUADRATICHE

Transcript:

Prima Precedente Avanti Ultima Vai Schermo Pieno Pagina 1 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Corso di Laurea di I livello in Ingegneria Meccanica note alle lezioni di: Complementi di Meccanica Applicata alle Macchine, 3CFU Versione 1.1-25 febbraio 2005 Benedetto Allotta Pagina 2 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Premessa Il corso di Complementi di Meccanica Applicata alle Macchine vuole rappresentare un momento applicativo per la teoria che gli allievi Ingegneri Meccanici del II anno hanno appreso nel corsi precedenti. Il robot industriale viene visto come una palestra in cui si possono applicare vari concetti di base acquisiti nei corsi di Meccanica Razionale e Meccanica Applicata alle Macchine impartiti nell ambito del corso di laurea di I livello in Ingegneria Meccanica attivato presso l Università di Firenze. Vista l esiguità del tempo a disposizione, vengono forniti degli elementi di modellazione cinematica e dinamica dei robot industriali secondo il metodo di Denavit-Hartenberg. Successivamente vengono fornite nozioni di base sulla cinematica differenziale, la statica e la modellazione dinamica dei robot. Riguardo alle propedeuticità, non temano gli allievi informatici ed elettronici che seguono il corso e che non hanno nel proprio bagaglio molte nozioni di Meccanica, in quanto tutti gli argomenti vengono trattati in modo autocontenuto. Nello scegliere gli argomenti del corso, la mia intenzione è quella di far fronte a diverse esigenze, relative rispettivamente agli studenti che andranno nel mondo del lavoro dopo la laurea di primo livello, senza seguire altri corsi nel settore della Meccanica Applicata, ed a quelli che vorranno approfondire Pagina 3 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno gli studi nel settore della Modellazione e Controllo dei Sistemi Meccanici, vuoi seguendo corsi di indirizzo nel terzo anno della laurea di primo livello, vuoi in un corso di laurea specialistica. La laurea di primo livello in Ingegneria Meccanica dà infatti accesso senza debiti formativi a varie lauree specialistiche tra cui quella in Ingegneria dell Automazione, nella quale le conoscenze acquisite nell area della robotica possono essere messe a frutto. Per l allievo che dopo la laurea di primo livello si inserisca nel mondo del lavoro, i contenuti del corso potranno tornare utili nel caso in cui egli abbia a che fare con l uso e la programmazione di robot industriali. Per l allievo che intenda continuare gli studi, gli argomenti trattati sono una base su cui innestare successivi concetti di meccanica dei robot nonché modellazione e controllo dei sistemi meccanici. Un ultima nota infine sulla scelta di produrre delle dispense. Esistono degli ottimi libri di robotica. Essendo però i contenuti del corso di Meccanica Applicata alle Macchine II molto limitati per ragioni di tempo, ho ritenuto opportuno dare agli allievi meccanici un supporto cartaceo (gratuito) su cui poter studiare, senza costringerli all acquisto di costosi libri molto più ampi rispetto agli argomenti svolti. Per gli allievi di Robotica e Automazione Industriale di cui il corso di Meccanica Applicata alle Macchine II costituisce un primo modulo, e per l allievo che volesse comunque dotarsi di un ottimo testo di riferimento, suggerisco il libro di Robotica Industriale dei Proff. Lorenzo Sciavicco e Pagina 4 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Bruno Siciliano, edito da McGraw-Hill Italia. Firenze, febbraio 2005 Pagina 5 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Premessa 3 I Elementi di cinematica dei robot 7 1 Metodi per la rappresentazione dell orientazione 8 1.1 Matrice di rotazione - coseni direttori............... 10 1.2 Espressione di R per rotazioni attorno agli assi coordinati... 12 1.2.1 Rotazione attorno a z................... 12 1.2.2 Rotazione attorno a x................... 15 1.2.3 Rotazione attorno a y................... 17 1.3 Cambio di coordinate tra due terne con la stessa origine.... 17 1.4 Proprietà della matrice di rotazione................ 21 1.4.1 Ortogonalità di R...................... 21 1.4.2 Inversa di R......................... 22 1.4.3 Derivata temporale di una matrice di rotazione..... 23 1.5 Rotazione di un vettore...................... 25 1.6 Composizione di rotazioni successive.............. 27 1.6.1 Composizione in terna corrente.............. 27 Pagina 6 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno 1.6.2 Composizione in terna fissa................ 29 1.7 Un altro modo di vedere la composizione in terna fissa..... 30 1.8 Rotazione attorno ad un asse arbitrario............. 33 1.9 La rappresentazione asse-angolo................. 35 1.10 Angoli di Eulero........................... 39 2 Il metodo di Denavit-Hartenberg 46 2.1 Trasformazione tra terne con origini distinte........... 46 2.2 Coordinate omogenee....................... 48 2.3 Trasformazioni omogenee..................... 49 2.4 Inversa di una matrice di trasformazione omogenea...... 51 2.5 Composizione di rototraslazioni successive........... 52 2.6 Il metodo di D-H per catena cinematica aperta semplice.... 53 2.7 Applicazione del metodo di D-H ad un robot antropomorfo... 58 2.8 Polso sferico (roll-pitch-roll).................... 62 2.9 Robot antropomorfo con polso sferico.............. 65 Pagina 7 di 169 3 Il problema della cinematica inversa 71 3.1 Cinematica diretta e cinematica inversa............. 71 3.2 Alcuni esempi di robot planari................... 73 3.3 Polso sferico (roll-pitch-roll).................... 75

Prima Precedente Avanti Ultima Vai Schermo Pieno 3.4 Inversione cinematica di robot a 6 DOF con polso sferico... 77 3.4.1 Angoli di Eulero ZY Z e polso sferico........... 78 II Cinematica differenziale, statica e dinamica dei robot 82 4 Cinematica differenziale 83 4.1 Velocità della terna utensile nello spazio operativo....... 85 4.2 Jacobiano analitico......................... 86 4.3 Velocità della terna utensile - screw di velocità......... 87 4.4 Jacobiano geometrico....................... 88 4.5 Calcolo dello jacobiano geometrico................ 89 4.5.1 Calcolo dello jacobiano: giunto rotoidale......... 89 4.5.2 Calcolo dello jacobiano: giunto prismatico........ 90 4.6 Relazione tra J e J a........................ 91 4.6.1 Velocità angolare e angoli di Eulero........... 92 4.6.2 Calcolo di J a partire da J a................ 94 4.7 Singolarità.............................. 96 4.8 Disaccoppiamento singolarità................... 99 4.8.1 Singolarità di struttura del manipolatore antropomorfo. 102 4.8.2 Singolarità di polso..................... 111 Pagina 8 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno 5 Statica 114 6 Dinamica dei robot 119 6.1 Richiami sulle equazioni di Lagrange............... 124 6.2 Applicazione ad un pendolo (... ovvero ad un robot a 1 DOF). 127 6.2.1 Energia cinetica...................... 128 6.2.2 Energia potenziale del pendolo.............. 133 6.2.3 Funzione lagrangiana e sue derivate........... 134 6.2.4 Assemblaggio dell equazione del moto.......... 135 6.3 Applicazione ad un robot a n giunti................ 137 6.3.1 Energia cinetica di un link................. 138 6.3.2 Energia potenziale di un link............... 144 6.3.3 Energia cinetica degli attuatori.............. 147 6.3.4 Energia potenziale degli attuatori............. 151 6.3.5 Considerazioni sulla funzione lagrangiana e sulle equazioni del moto........................... 152 Pagina 9 di 169 A Screw 157 A.1 Il concetto di screw......................... 157 A.2 Composizione di screw di velocità................ 159 B Cenni sui sistemi meccanici con vincoli anolonomi 163

Prima Precedente Avanti Ultima Vai Schermo Pieno Parte I Elementi di cinematica dei robot Pagina 10 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno 1. Metodi per la rappresentazione dell orientazione Esistono vari metodi per la rappresentazione dell orientazione relativa di due terne cartesiane (ad esempio fissate a due diversi corpi rigidi di una catena cinematica). Pagina 11 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno 1. Metodi per la rappresentazione dell orientazione Esistono vari metodi per la rappresentazione dell orientazione relativa di due terne cartesiane (ad esempio fissate a due diversi corpi rigidi di una catena cinematica). Si suole classificare tali metodi in due categorie: Pagina 11 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno 1. Metodi per la rappresentazione dell orientazione Esistono vari metodi per la rappresentazione dell orientazione relativa di due terne cartesiane (ad esempio fissate a due diversi corpi rigidi di una catena cinematica). Si suole classificare tali metodi in due categorie: rappresentazioni ridondanti; Pagina 11 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno 1. Metodi per la rappresentazione dell orientazione Esistono vari metodi per la rappresentazione dell orientazione relativa di due terne cartesiane (ad esempio fissate a due diversi corpi rigidi di una catena cinematica). Si suole classificare tali metodi in due categorie: rappresentazioni ridondanti; rappresentazioni minime. Pagina 11 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno 1. Metodi per la rappresentazione dell orientazione Esistono vari metodi per la rappresentazione dell orientazione relativa di due terne cartesiane (ad esempio fissate a due diversi corpi rigidi di una catena cinematica). Si suole classificare tali metodi in due categorie: rappresentazioni ridondanti; rappresentazioni minime. Come si vedrà in appresso, il numero minimo di parametri necessari a descrivere l orientazione di un corpo rigido nello spazio è pari a 3. Pagina 11 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno 1. Metodi per la rappresentazione dell orientazione Esistono vari metodi per la rappresentazione dell orientazione relativa di due terne cartesiane (ad esempio fissate a due diversi corpi rigidi di una catena cinematica). Si suole classificare tali metodi in due categorie: rappresentazioni ridondanti; rappresentazioni minime. Come si vedrà in appresso, il numero minimo di parametri necessari a descrivere l orientazione di un corpo rigido nello spazio è pari a 3. Le rappresentazioni minime dell orientazione fanno appunto uso di 3 parametri, mentre quelle ridondanti usano 4 o più parametri. Pagina 11 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Tra i vari metodi di rappresentazione dell orientazione ne tratteremo tre: uno ridondante e due minimi. Pagina 12 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Tra i vari metodi di rappresentazione dell orientazione ne tratteremo tre: uno ridondante e due minimi. Il primo è quello delle matrici di rotazione, dove si usano 9 parametri, Pagina 12 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Tra i vari metodi di rappresentazione dell orientazione ne tratteremo tre: uno ridondante e due minimi. Il primo è quello delle matrici di rotazione, dove si usano 9 parametri, il secondo è quello degli angoli di Eulero, dove si usano 3 parametri, Pagina 12 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Tra i vari metodi di rappresentazione dell orientazione ne tratteremo tre: uno ridondante e due minimi. Il primo è quello delle matrici di rotazione, dove si usano 9 parametri, il secondo è quello degli angoli di Eulero, dove si usano 3 parametri, e infine la rappresentazione asse-angolo che, pur facendo uso di un vettore e di uno scalare (in tutto 4 parametri), non può essere considerata una rappresentazione ridondante. Pagina 12 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno 1.1. Matrice di rotazione - coseni direttori Supponiamo di avere due terne Ox y z e Oxyz, aventi origine comune in O, e di volerne descrivere l orientazione relativa. Siano i, j, k i versori degli assi del sistema di riferimento Ox y z e i, j, k, i versori degli assi del sistema di riferimento Oxyz. Scomponendo il versore i lungo le tre direzioni dei versori i, j, k si ottiene la seguente relazione: i = i xi + i yj + i zk. (1) Analogamente, per i versori j e k, si ottiene: j = j xi + j yj + j zk (2) k = k xi + k yj + k zk. (3) Le componenti dei versori i, j, k lungo gli assi del sistema Oxyz identificano completamente l orientazione della terna Ox y z. Tali componenti vengono usate per formare una matrice, detta matrice di rotazione, come segue: R = [ i j k ] = i x j x k x i y j y k y i z j z k z (4) Pagina 13 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Proiettando ognuna delle tre equazioni (1), (2), (3) lungo le direzioni dei versori i, j, k, si ottengono le nove relazioni: i x i y i z j x = i i = i T i = i j = i T j = i k = i T k = j i = j T i j y = j j = j T j (5) j z k x k y = j k = j T k = k i = k T i = k j = k T j k z = k k = k T k. Gli elementi della matrice R si dicono coseni direttori in quanto ognuno di essi è pari al prodotto scalare di un versore della terna Ox y z per un versore della terna Oxyz. Ricordiamo che il prodotto scalare tra due vettori è pari al prodotto dei moduli per il coseno dell angolo compreso: due versori hanno entrambi modulo unitario, quindi il loro prodotto scalare è pari al coseno dell angolo compreso, donde il termine coseni direttori. Pagina 14 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Riepilogo La matrice di rotazione R è formata dai nove coseni direttori tra gli assi di due sistemi di riferimento di cui si vuole descrivere l orientazione relativa. R descrive completamente l orientazione relativa delle due terne. Si tratta di una rappresentazione dell orientazione di tipo ridondante in quanto vengono utilizzati 9 parametri invece di 3. 1.2. Espressione di R per rotazioni attorno agli assi coordinati Ricaviamo adesso le espressioni della matrice R nel caso in cui la terna mobile sia ruotata, rispetto alla terna fissa, di un certo angolo attorno ad uno degli assi coordinati (della terna fissa). 1.2.1. Rotazione attorno a z Con riferimento alla figura 1, supponiamo che la terna Ox y z abbia l asse z coincidente con l asse z e che l asse x sia ruotato di un angolo θ rispetto all asse x. Dalla coincidenza degli assi z e z segue che k = k = [0 0 1] T. I Pagina 15 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Pagina 16 di 169 Figura 1: Rotazione attorno a z.

Prima Precedente Avanti Ultima Vai Schermo Pieno versori i e j valgono invece: i = j = c θ s θ 0 s θ c θ 0, dove si è utilizzata, per brevità, la notazione c θ = cos θ e s θ = sin θ. Assemblando la matrice R otteniamo: R = R z (θ) = [ i j k ] c θ s θ 0 = s θ c θ 0 (6) 0 0 1 Pagina 17 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno 1.2.2. Rotazione attorno a x Dato che x e x sono coincidenti, sarà i = i = [1 0 0] T. Per gli altri due versori, dalla Fig. 2 si ottiene: 0 j = c θ k = s θ 0 s θ c θ. Assemblando la matrice R otteniamo: R = R x (θ) = [ i j k ] = 1 0 0 0 c θ s θ 0 s θ c θ (7) Pagina 18 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Pagina 19 di 169 Figura 2: Rotazione attorno a x.

Prima Precedente Avanti Ultima Vai Schermo Pieno 1.2.3. Rotazione attorno a y Dato che y e y sono coincidenti, sarà j = j = [0 1 0] T. Per gli altri due versori, dalla Fig. 3 si ottiene: i = c θ 0 s θ s θ k = 0 c θ. Assemblando la matrice R otteniamo: R = R y (θ) = [ i j k ] = c θ 0 s θ 0 1 0 (8) Pagina 20 di 169 s θ 0 c θ 1.3. Cambio di coordinate tra due terne con la stessa origine Supponiamo di conoscere le coordinate [p x p y p z] T di un punto P dello spazio rispetto ad un sistema di riferimento Ox y z e di voler calcolare le coordinate [p x p y p z ] T dello stesso punto rispetto ad un altro sistema di riferimento Oxyz,

Prima Precedente Avanti Ultima Vai Schermo Pieno Pagina 21 di 169 Figura 3: Rotazione attorno a y.

Prima Precedente Avanti Ultima Vai Schermo Pieno Pagina 22 di 169 Figura 4: Cambio di coordinate tra terne ad origine comune.

Prima Precedente Avanti Ultima Vai Schermo Pieno avente la stessa origine del primo sistema di riferimento, come mostrato in Fig. 4. Il vettore posizione OP può essere scomposto lungo 3 qualsiasi direzioni a due a due non parallele. In particolare possiamo scomporlo lungo le direzioni dei tre versori i, j, k, ma anche lungo le direzioni dei tre versori i, j, k, ottenendo la seguente relazione: p x i + p y j + p z k = p xi + p yj + p zk. (9) Proiettando ambo i membri dell equazione 9 lungo le tre direzioni i, j, k (tramite l operazione di prodotto scalare), otteniamo: p x = p xi T i + p yj T i + p zk T i p y = p xi T j + p yj T j + p zk T j (10) p z = p xi T k + p yj T k + p zk T k Non è difficile riconoscere che le Eq. 10 possono essere anche scritte in forma matriciale come segue: p x i T i j T i k T i p p y = i T j j T j k T x j p y, (11) p z i T k j T k k T k p z Pagina 23 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno o anche, grazie alla (5), in modo più compatto: p = Rp, (12) dove p = [p x p y p z ] T è il vettore posizione OP espresso nel sistema di riferimento Oxyz e p = [p x p y p z] T è il vettore posizione OP espresso nel sistema di riferimento Ox y z. Riepilogo Note che siano le coordinate di un punto rispetto ad una terna Ox y z, la matrice di rotazione R permette di calcolare, tramite un semplice prodotto matriciale, le coordinate dello stesso punto rispetto ad una terna Oxyz avente la stessa origine della prima. 1.4. Proprietà della matrice di rotazione 1.4.1. Ortogonalità di R Dato che ogni colonna della matrice R è formata dalle componenti di un versore della terna Ox y z, il prodotto scalare tra due diverse colonne è nullo: i T j = 0 j T k = 0 (13) k T i = 0. Pagina 24 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Dalle condizioni (13), unite al fatto che il prodotto scalare di un vettore per sè stesso è pari a 1, discende una delle proprietà più importanti ed utili delle matrici di rotazione, ovvero la proprietà di essere ortogonali: La (14) può essere dimostrata come segue: i T R T R = j T [ i j k ] = k T R T R = I. (14) i T i i T j i T k j T i j T j j T k k T i k T j k T k = 1 0 0 0 1 0 0 0 1 = I (15) 1.4.2. Inversa di R Si può dimostrare che il determinante di una matrice di rotazione è pari a 1. Quindi la matrice R ammette sempre un inversa R 1. Moltiplicando a destra ambo i membri della (14) per R 1, si ottiene: Pagina 25 di 169 ovvero: R T RR }{{ 1 } = IR 1, (16) I R T = R 1. (17)

Prima Precedente Avanti Ultima Vai Schermo Pieno L inversa di una matrice di rotazione può quindi essere semplicemente calcolata tramite un operazione di trasposizione. 1.4.3. Derivata temporale di una matrice di rotazione Supponiamo di avere un corpo rigido mobile, vincolato a ruotare attorno ad un punto 0, a cui è fissata una terna 0x 1 y 1 z 1. L orientazione (variabile) del corpo rispetto ad una terna fissa 0xyz che ha origine comune con 0x 1 y 1 z 1 può essere rappresentata con la matrice di rotazione R. La posizione di un punto P del corpo è ovviamente costante rispetto alla terna solidale al corpo, mentre varia rispetto alla terna fissa come segue: p 0 = Rp 1. (18) Nel seguito, per indicare vettori specificati rispetto alla terna fissa ometteremo l apice 0 dove non ci sia pericolo di equivoci. Derivando rispetto al tempo ambo i membri della (18) otteniamo: Ma p 1 = cost, quindi ṗ 1 = 0, quindi ṗ = Ṙp1 + Rṗ 1. (19) ṗ = Ṙp1. (20) Pagina 26 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno D altro canto, vale anche: ṗ = ω p = ω (Rp 1 ), (21) ed essendo il prodotto vettoriale esprimibile, con formalismo matriciale, anche mediante l operatore antisimmetrico S( ) 1, la (21) può essere riscritta: ṗ = S(ω)Rp 1. (22) Dovendo essere uguali i secondi membri della (20) e della (22), per ogni punto P del corpo rigido considerato, dovrà necessariamente valere: Ṙ = S(ω)R. (23) 1 Dati due vettori a = [a x a y a z ] T e b = [b x b y b z ] T, il loro prodotto vettoriale c = a b è ottenibile calcolando i j k formalmente il determinante: a x a y a z. b x b y b z Risulta quindi c = (a y b z a z b y )i + (a z b x a x b z )j + (a x b y a y b x )k, ovvero c = a yb z a z b y a z b x a x b z. Definendo a x b y a y b x l operatore S(a) = 0 a z a y a z 0 a x, è facile dimostrare che c è ottenibile anche calcolando il prodotto a y a x 0 matrice-vettore S(a)b. Pagina 27 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno 1.5. Rotazione di un vettore Supponiamo di avere un vettore u e di premoltiplicarlo per una matrice di rotazione R, ottenendo un secondo vettore u, come segue: u = Ru. (24) Come sarà fatto il vettore u? Si può dimostrare che il vettore u ha modulo pari a u e risulta ruotato rispetto a u in modo determinato dalla matrice R. Ad esempio, supponiamo di avere un vettore u, giacente sul piano xy, come mostrato in Fig. 5. Sia u = u, varrà allora: u = uc α us α 0. (25) Il vettore u, ottenuto dal primo ruotandolo (attorno all asse z) di un angolo β, sarà: uc αβ uc α c β us α s β c β s β 0 uc α u = us αβ = us α c β + uc α s β = s β c β 0 us α = R z (β)u. 0 0 0 0 1 0 (26) Pagina 28 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Pagina 29 di 169 Figura 5: Rotazione di un vettore nel piano xy

Prima Precedente Avanti Ultima Vai Schermo Pieno 1.6. Composizione di rotazioni successive Ci poniamo adesso il problema di calcolare la matrice di orientazione che lega tra loro due terne, ad origine comune, di cui la seconda sia ottenuta dalla prima a seguito di rotazioni successive. Specificheremo le rotazioni successive che portano la prima terna a sovrapporsi alla seconda nei due seguenti modi: in terna corrente o mobile: rispetto alla terna, detta terna corrente o mobile, che via via si ottiene dalla prima a seguito delle rotazioni a cui è sequenzialmente sottoposta; in terna fissa o base: rispetto alla prima terna, supposta fissa. 1.6.1. Composizione in terna corrente Nel seguito, per le matrici di rotazione, utilizzeremo spesso la notazione a due indici Rj i, in cui l apice destro i indica la terna origine e il pedice destro j indica la terna destinazione. Nella notazione a 2 indici, la rotazione è specificata in terna i. Supponiamo di avere tre terne ad origine comune: Ox 0 y 0 z 0, terna base; Pagina 30 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Ox 1 y 1 z 1 terna ottenuta dalla 0 a seguito di una rotazione R 0 1 (specificata in terna 0); Ox 2 y 2 z 2 terna ottenuta dalla terna 1 a seguito di una rotazione R 1 2 (specificata in terna 1). Sia R 0 2 la matrice di rotazione (incognita) che esprime l orientazione della terna Ox 2 y 2 z 2 rispetto alla terna base Ox 0 y 0 z 0. Siano p 0, p 1, p 2, le coordinate di un punto P dello spazio rispetto ad ognuna delle tre terne. Per quanto visto nel Par. 1.3, valgono le relazioni: p 0 = R 0 1p 1 (27) p 1 = R 1 2p 2 (28) p 0 = R 0 2p 2. (29) Sostituendo l espressione (28) di p 1 nella (27) si ottiene: p 0 = R 0 1R 1 2p 2. (30) Dovendo essere valide entrambe le equazioni (29) e (30) per ogni punto P, sarà allora: Pagina 31 di 169 R 0 2 = R 0 1R 1 2. (31)

Prima Precedente Avanti Ultima Vai Schermo Pieno La (31) è la legge di composizione di rotazioni successive in terna corrente. Generalizzando, se abbiamo n + 1 terne, numerate da 0 ad n, ognuna legata alla precedente da una matrice Ri i 1, la matrice di rotazione che esprime l orientazione dell ultima terna rispetto alla prima, assunta come terna base, è data da: 1.6.2. Composizione in terna fissa R 0 n = R 0 1R 1 2... R n 2 n 1 Rn 1 n. (32) Supponiamo di avere tre terne ad origine comune: Ox 0 y 0 z 0, terna base; Ox 1 y 1 z 1 terna ottenuta dalla terna 0 a seguito di una rotazione 0 R 0 1 (specificata in terna 0, indicata nell apice sinistro); Ox 2 y 2 z 2 terna ottenuta dalla terna 1 a seguito di una rotazione 0 R 1 2 (anch essa specificata in terna 0). Per ottenere la legge di composizione delle due rotazioni, sfruttiamo la conoscenza della legge di composizione in terna corrente: la rotazione complessiva può essere vista come una successione delle seguenti rotazioni, tutte specificate in terna corrente: Pagina 32 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno rotazione R 1 = 0 R 0 1 che porta la terna 0 sulla terna 1; rotazione R 2 = ( 0 R 0 1) T che riporta la terna 1 sulla terna 0; rotazione R 3 = 0 R 1 2 che impone alla terna corrente la seconda rotazione; rotazione R 4 = 0 R 0 1 che recupera la rotazione R 2 = ( 0 R 0 1) T. Applicando la regola di composizione in terna corrente otteniamo: R2 0 = R }{{ 1 R } 2 R 3 R 4 = R 3 R 4 = 0 R2 1 0 R1 0. (33) =I In pratica, la matrice di rotazione complessiva R2 0 si ottiene, come nel caso della composizione in terna corrente, con un prodotto matriciale delle due rotazioni successive, ma questa volta l ordine di moltiplicazione va invertito, ovvero, generalizzando al caso di n rotazioni successive 0 Ri i 1, i = 1,..., n specificate in terna 0, la regola di composizione è la seguente: 0 R 0 n = 0 R n 1 n 0 R n 2 n 1... 0 R 1 2 0 R 0 1. (34) 1.7. Un altro modo di vedere la composizione in terna fissa Se la procedura seguita nel paragrafo 1.6.2 non risultasse molto chiara, si suggerisce qui un metodo alternativo per giugere al medesimo risultato. Pagina 33 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno L utilizzo di tre indici i, j, k in una matrice di rotazione i R j k sta ad indicare che la matrice di rotazione ruota qualsiasi vettore così come la terna k è ruotata rispetto alla terna j. Se gli indici i e j sono uguali, nella notazione si omette quello in alto a sinistra. Quindi, premoltiplicando per i R j k un vettore u, le cui componenti rispetto alla terna i siano u i, esso viene trasformato in un vettore u, le cui componenti in terna i sono u i, come segue: u i = i R j k u i. (35) In particolare, se consideriamo i versori i j, j j, k j della terna j e i versori i k, j k, k k della terna k, valgono le tre seguenti relazioni: i i k = i R j k ii j (36) j i k = i R j k ji j (37) k i k = i R j k ki j, (38) le quali possono essere scritte in forma più compatta mediante la seguente equazione matriciale: [i i k j i k k i k] = i R j k [ii j j i j k i j]. (39) Non è difficile riconoscere i Rk i nella matrice a primo membro della (39), men- Pagina 34 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno tre a secondo membro compare il prodotto i R j k i R i j, ovvero: i R i k = i R j k i R i j, (40) o, omettendo l indice in alto a sinistra dove non necessario: R i k = i R j k Ri j. (41) La (41) rappresenta la regola di composizione cercata. In particolare, sostituendo 0, 1, 2 agli indici i, j, k, otteniamo: R 0 2 = 0 R 1 2 R 0 1. (42) Esempio 1.1: Calcolo della relazione esistente tra una matrice di rotazione specificata in terna base e la matrice di rotazione specificata in terna corrente che esprime la stessa rotazione. Date tre terne i, j, k, per la regola di composizione in terna corrente sappiamo che: R i k = R i j R j k. (43) Eguagliando i secondi membri della (41) e della (43) si ottiene la seguente equazione: R i j R j k = i R j k Ri j. (44) Pagina 35 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Premoltiplicando ambo i membri della (44) per R i jt, otteniamo infine: R j k = R i jt i R j k Ri j, (45) che esprime il legame esistente tra due matrici di rotazione, una specificata in terna fissa e l altra in terna mobile, che esprimono la medesima rotazione. 1.8. Rotazione attorno ad un asse arbitrario Ci si può porre il problema di determinare la matrice R che esprima una rotazione di un angolo θ attorno ad un dato asse identificato da un versore r, come mostrato in Fig. 6. Il problema può sembrare complesso, ma può essere agevolmente risolto ricorrendo ad una composizione di rotazioni elementari. L orientazione del versore r rispetto alla terna Oxyz è descritta, ad esempio, dagli angoli α e β mostrati in Fig. 6. La rotazione attorno all asse arbitrario r può essere composta, in logica di terna fissa, come segue: 1. una rotazione R z ( α) dell asse r attorno all asse z che lo porti ad appartenere al piano xz; 2. una rotazione R y ( β) dell asse r attorno all asse y che porti il versore r ad essere allineato con l asse z; Pagina 36 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Pagina 37 di 169 Figura 6: Rotazione attorno ad un asse arbitrario.

Prima Precedente Avanti Ultima Vai Schermo Pieno 3. una rotazione R z (θ) attorno all asse z (ora coincidente con la direzione di r) dell angolo θ assegnato; 4. una rotazione R y (β) dell asse r attorno all asse y; 5. una rotazione R z (α) dell asse r attorno all asse z che riporti il versore r nell orientazione originaria. La logica è quella di far diventare il versore r parallelo ad un asse coordinato, in modo che la rotazione θ sia fatta attorno ad un asse coordinato (l asse z) invece che attorno ad un asse qualsiasi. Dopo aver fatto tale rotazione, si riporta indietro il versore r nell orientazione originaria. Dovendo comporre le rotazioni elementari prima descritte in terna fissa, la matrice di rotazione complessiva risulta: Rr(θ) = R z (α)r y (β)r z (θ)r y ( β)r z ( α). (46) Pagina 38 di 169 1.9. La rappresentazione asse-angolo Dato l angolo θ e le componenti del versore r = [r x r y r z ], l espressione della (46) può essere semplificata dopo avere espresso gli angoli α e β in funzione delle componenti di r ed aver eseguito tutti i prodotti matriciali. Il risultato è

Prima Precedente Avanti Ultima Vai Schermo Pieno la seguente espressione: Rr(θ) = rx(1 2 c θ ) + c θ r x r y (1 c θ ) r z s θ r x r z (1 c θ ) + r y s θ r x r y (1 c θ ) + r z s θ ry(1 2 c θ ) + c θ r y r z (1 c θ ) r x s θ r x r z (1 c θ ) r y s θ r y r z (1 c θ ) + r x s θ rz(1 2 c θ ) + c θ. (47) La (47) può essere invertita, calcolando così il versore r e l angolo θ che corrispondono ad una determinata matrice di rotazione R. Indicando con r ij l elemento generico della matrice R, osserviamo che: Trace(R) = r 11 + r 22 + r 33 = (rx 2 + ry 2 + rz) 2 (1 c θ ) + 3c θ = 1 + 2c θ }{{}, (48) =1 da cui: c θ = r 11 + r 22 + r 33 1. (49) 2 La (49) può essere risolta in θ utilizzando la funzione arco coseno: ( ) θ = ± cos 1 r11 + r 22 + r 33 1. (50) 2 Al segno + corrisponde 0 θ π (e, conseguentemente, sin θ 0), mentre al segno corrisponde π θ 0 (sin θ 0). La doppia soluzione (θ = ± cos 1 ( )) corrisponde al fatto geometrico che una rotazione di θ attorno Pagina 39 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno ad un dato asse di versore r è del tutto equivalente ad una rotazione di θ attorno al versore r. Sottraendo tra loro gli elementi fuori diagonale r ij ed r ji a secondo membro della (46), otteniamo le tre seguenti relazioni: r 32 r 23 = 2r x s θ (51) r 13 r 31 = 2r y s θ (52) r 21 r 12 = 2r z s θ, (53) che, risolte in r x, r y, r z, danno il seguente risultato: ovvero: r x = r 32 r 23 2s θ (54) r y = r 13 r 31 2s θ (55) r z = r 21 r 12 2s θ, (56) r = 1 2 sin θ r 32 r 23 r 13 r 31 r 21 r 12. (57) Esistono due casi limite, ovvero il caso in cui cos θ = 1 e quello in cui cos θ = Pagina 40 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno 1. Il primo caso si verificherà quando risulterà: Trace(R) = 1 + 2c θ = 3, (58) l angolo θ è nullo e il versore r è indeterminato. Se invece vale: Trace(R) = 1 + 2c θ = 1, (59) vorrà dire che θ vale π (oppure π) e per calcolare correttamente r bisognerà procedere per ispezione diretta sulla matrice Rr(θ) che, in questo caso varrà: 2rx 2 1 2r x r y 2r x r z Rr(π) = x r y 2ry 2 1 2r y r z. (60) 2r x r z y r z 2rz 2 1 La soluzione può essere cercata utilizzando una delle colonne: scegliendo la prima colonna, per fissare le idee, le due possibili soluzioni, discriminate dalla scelta del segno di r x risulteranno: r11 + 1 r x = ± (61) 2 r y = r 21 (62) 2r x r z = r 31 2r x. (63) Pagina 41 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Qualora r x fosse molto piccolo, i rapporti r 21 2r x e r 31 2r x sarebbero malcondizionati e si compirebbe un grosso errore nel calcolo di r y e r z, quindi in tal caso conviene utilizzare un altra colonna. 1.10. Angoli di Eulero Supponiamo di dover descrivere l orientazione relativa di una terna Ox 1 y 1 z 1 (che diremo convenzionalmente terna mobile) rispetto ad una terna Oxyz (che diremo convenzionalmente terna base). Il metodo degli angoli di Eulero permette di scomporre la rotazione finale in una composizione di tre rotazioni elementari (rispetto ad assi coordinati) specificate in terna corrente oppure in terna fissa. Esistono vari metodi di definire gli angoli di Eulero (almeno 12): noi esamineremo gli angoli di Eulero di tipo ZY Z. Il nome ZY Z discende dal fatto che si usano tre rotazioni elementari successive attorno agli assi Z, Y, Z della terna corrente. Descriviamo adesso in dettaglio il metodo. Date le terne Oxyz e Ox 1 y 1 z 1, come mostrato in Fig.7 identifichiamo la retta intersezione tra il piano xy e il piano x 1 y 1 : tale retta si dice linea dei nodi. Eseguiamo una prima rotazione della terna Oxyz di un algolo ϕ at- Pagina 42 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Pagina 43 di 169 Figura 7: Angoli di eulero.

Prima Precedente Avanti Ultima Vai Schermo Pieno torno all asse z, fino a che l asse y non coincida con la linea dei nodi, come mostrato in Fig.8.a, ottenendo la nuova terna corrente Ox y z che ha l asse y lungo la linea dei nodi e l asse z coincidente con l asse z. L angolo ϕ è l angolo formato dall asse y e dalla linea dei nodi, scelto positivo se concorde con z. Eseguiamo una rotazione della terna Ox y z di un angolo θ attorno all asse y, fino a che l asse z non coincida con l asse z 1, come mostrato in Fig.8.b ottenendo una nuova terna corrente Ox y z che ha l asse z coincidente con l asse z 1 e gli assi x e y nel piano x 1 y 1. L angolo θ è l angolo formato dall asse z e dall asse z 1, scelto positivo se concorde con y. Eseguiamo infine una rotazione della terna Ox y z di un angolo ψ attorno all asse z, fino a che l asse y non sia coincidente con l asse y 1, come mostrato in Fig.8.c: a questo punto la terna corrente è coincidente con la terna Ox 1 y 1 z 1 e l esercizio è completo. L angolo ψ è l angolo formato dall asse y 1 e dalla linea dei nodi orientata come y, scelto positivo se concorde con z 1. La matrice di rotazione complessiva R EUL è data dalla composizione delle tre Pagina 44 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno a) b) Pagina 45 di 169 c) Figura 8: Rotazioni di Eulero: a) R z (ϕ); b) R y (θ); c) R z1 (ψ).

Prima Precedente Avanti Ultima Vai Schermo Pieno rotazioni in terna corrente viste prima. In dettaglio: R EUL = R z (ϕ)r y (θ)r z (ψ) = c ϕ s ϕ 0 c θ 0 s θ c ψ s ψ 0 = s ϕ c ϕ 0 0 1 0 s ψ c ψ 0 0 0 1 s θ 0 c θ 0 0 1 c ϕ c θ s ϕ c ϕ s θ c ψ s ψ 0 = s ϕ c θ c ϕ s ϕ s θ s ψ c ψ 0 = s θ 0 c θ 0 0 1 = c ϕ c θ c ψ s ϕ s ψ c ϕ c θ s ψ s ϕ c ψ c ϕ s θ s ϕ c θ c ψ + c ϕ s ψ s ϕ c θ s ψ + c ϕ c ψ s ϕ s θ s θ c ψ s θ s ψ c θ =. (64) La (64) può essere invertita, ovvero, data una matrice di rotazione, è possibile calcolare gli angoli di Eulero. Ispezionando la matrice (64), si può osservare che: gli elementi r 13 e r 23 sono pari rispettivamente a c ϕ e s ϕ moltiplicati entrambi per s θ ; gli elementi r 31 e r 32 sono pari rispettivamente a c ψ e s ψ moltiplicati anch essi entrambi per s θ ; Pagina 46 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno quadrando e sommando r 13 e r 23 (oppure r 31 e r 32 ) si ottiene s 2 θ. Visto quanto sopra, si può procedere ipotizzando un segno per s θ e proseguendo in modo coerente. Ipotizzando s θ > 0, otteniamo: ϕ = atan2(r 23, r 13 ) ψ = atan2(r 32, r 31 ) (65) θ = atan2( r 2 23 + r2 13, r 33). Per s θ < 0 si ottiene una seconda possibile soluzione: ϕ = atan2( r 23, r 13 ) ψ = atan2( r 32, r 31 ) (66) θ = atan2( r 2 23 + r2 13, r 33). Pagina 47 di 169 Infine, se s θ = 0 (il che si può verificare ispezionando gli elementi r 13, r 23, r 31 o r 32 ), sarà c θ = ±1, a seconda che sia θ = 0 oppure θ = π, e questo può essere accertato dal segno di r 33. Se, ad esempio, θ = 0 la matrice R EUL diventa: R EUL = c ϕ c ψ s ϕ s ψ c ϕ s ψ s ϕ c ψ 0 s ϕ c ψ + c ϕ s ψ s ϕ s ψ + c ϕ c ψ 0 0 0 1 = cos(ϕ + ψ) sin(ϕ + ψ) 0 sin(ϕ + ψ) cos(ϕ + ψ) 0 0 0 1 (67).

Prima Precedente Avanti Ultima Vai Schermo Pieno Se invece risulta θ = π: c ϕ c ψ s ϕ s ψ c ϕ s ψ s ϕ c ψ 0 R EUL = s ϕ c ψ + c ϕ s ψ s ϕ s ψ + c ϕ c ψ 0 = 0 0 1 cos(ϕ ψ) sin(ϕ ψ) 0 sin(ϕ ψ) cos(ϕ ψ) 0 0 0 1 (68). Nel primo caso (θ = 0) si può calcolare la somma di ϕ e ψ ϕ + ψ = atan2( r 12, r 22 ), (69) mentre se θ = π si può calcolare la differenza di ϕ e ψ ϕ ψ = atan2( r 12, r 22 ). (70) In pratica, nel caso degenere s θ = 0, si può scegliere arbitrariamente ϕ e poi determinare ψ in modo da soddisfare la (69), se θ = 0 o la (70), se θ = π. Pagina 48 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno 2. Il metodo di Denavit-Hartenberg In questo capitolo descriveremo il metodo di Denavit-Hartenberg (brevemente indicato come D-H nel prosieguo) che è il più diffuso per la descrizione cinematica di meccanismi a catena cinematica aperta semplice, come quelli utilizzati in un gran numero di robot industriali (robot seriali). Il metodo può comunque essere utilizzato anche per meccanismi a catena chiusa ma nell ambito del corso non tratteremo questa sua possibile applicazione. Dato un meccanismo seriale, il metodo permette di fissare in modo sistematico delle terne di riferimento su ognuno dei membri che compongono il meccanismo (dal telaio fino all organo terminale - pinza, mano o utensile) e di ricavare le leggi di trasformazione di coordinate che legano tra loro due terne contigue. Si fa uso delle trasformazioni omogenee che descriveremo nel paragrafo successivo. Pagina 49 di 169 2.1. Trasformazione tra terne con origini distinte Supponiamo di avere due terne, Oxyz e O x y z, come mostrato in Fig. 9: i vettori posizione di un punto P dello spazio rispetto alle due terne saranno legati dalla seguente relazione: OP = OO + O P. (71)

Prima Precedente Avanti Ultima Vai Schermo Pieno Figura 9: Vettori posizione di uno stesso punto rispetto a due terne distinte. Siano rispettivamente p e o i vettori di R 3 contenenti le coordinate di P e O rispetto al sistema di riferimento Oxyz; sia invece p il vettore delle coordinate di P rispetto alla terna O x y z. Se l orientazione relativa della terna O x y z rispetto alla terna Oxyz è descritta da una matrice di rotazione R, le componenti del vettore posizione O P rispetto alla terna Oxyz saranno date dall espressione: O P Rp. (72) Pagina 50 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Tenendo conto della 72, la 71 può essere riscritta come segue: p = o + Rp. (73) Così come la (12) permette di trasformare le coordinate di un punto tra terne ad origine comune, la (73) è la legge di trasformazione delle coordinate di un punto tra terne con origini distinte. 2.2. Coordinate omogenee La coordinate omogenee, che definiremo in questo paragrafo, ci consentiranno di riscrivere la (73) in modo più compatto: le coordinate (omogenee) di un punto rispetto ad una terna Oxyz saranno ottenute dalle coordinate (omogenee) di P rispetto ad un altra terna O x y z tramite un prodotto matriciale, invece che con una somma ed un prodotto matriciale. Come sappiamo, le coordinate di un punto P dello spazio sono tre numeri reali che possiamo usare per formare un vettore p R 3, p = [p x p y p z ] T. L informazione contenuta nei tre numeri p x, p y, p z può essere conservata anche se li moltiplichiamo per una stessa costante arbitraria λ 0, purché si memorizzi, insieme ai tre nuovi numeri ottenuti anche la costante λ. Quindi, in sostituzione del vettore a tre componenti p, possiamo definire un vettore Pagina 51 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno p R 4 che ha in sè lo stesso contenuto informativo di p, come segue: λp x [ ] p = λp y λp λp z =. (74) λ λ Non ci addentreremo oltre nella trattazione delle coordinate omogenee, facendo notare che se la costante λ viene scelta uguale a 1, le coordinate omogenee del punto P sono date dal vettore: p = p x p y p z 1 Nel seguito utilizzeremo sempre λ = 1. = [ p 1 ]. (75) Pagina 52 di 169 2.3. Trasformazioni omogenee La legge di trasformazione di coordinate tra terne ad origini distinte (73) può essere riscritta in forma compatta, utilizzando il formalismo matriciale, osser-

Prima Precedente Avanti Ultima Vai Schermo Pieno vando che: [ ] p p = Rp + o 1 = [R o ] 1 [ ] p 1 = [0 0 0]p + 1 1 = [0 0 0 1] 1 (76). (77) In considerazione della definizione data per le coordinate omogenee (75) non è difficile riconoscere che le (76),(77) possono essere riscritte in un unica equazione come segue: [ p = R o 0 0 0 1 ] p = T p, (78) dove p è il vettore delle coordinate omogenee di P rispetto alla terna O x y z. La matrice T che compare nella (78) si dice matrice di trasformazione omogenea e si compone di 4 blocchi: blocco T 11 : matrice di rotazione che esprime l orientazione della terna O x y z rispetto alla terna Oxyz; blocco T 12 : vettore posizione dell origine O della terna O x y z rispetto alla terna Oxyz; Pagina 53 di 169 blocco T 21 : vettore riga di 3 zeri;

Prima Precedente Avanti Ultima Vai Schermo Pieno blocco T 22 : 1. La matrice T permette di esprimere in modo compatto una qualsiasi rototraslazione che porti una terna Oxyz a sovrapporsi ad un altra terna O x y z. 2.4. Inversa di una matrice di trasformazione omogenea Essendo una matrice di rotazione R sempre invertibile, la (73) può essere invertita moltiplicando ambo i membri per R T, ottenendo: R T p = R T o + }{{} R T R p I p = R T p R T o. (79) La (79) può essere messa in forma matriciale utilizzando le coordinate omogenee, come visto in precedenza: [ ] p R = T R T o p. (80) 0 0 0 1 Dalla (80) deriva che l inversa di una data matrice di trasformazione omogenea T esiste sempre e la sua espressione è: [ ] T 1 R = T R T o, (81) 0 0 0 1 Pagina 54 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno dove R è il sottoblocco (di orientazione) T 11 della matrice data e o è il sottoblocco (di traslazione) T 12. 2.5. Composizione di rototraslazioni successive Siano date tre terne Oxyz, O 1 x 1 y 1 z 1 e O 2 x 2 y 2 z 2 e siano: T1 0 la matrice di trasformazione dalla terna 0 alla terna 1 e T2 1 la matrice di trasformazione dalla terna 1 alla terna 2. Ci poniamo l obbiettivo di calcolare T2 0, note che siano T1 0 e T2 1. Per il generico punto P, opportunamente riferito in coordinate omogenee rispetto alle tre terne, varranno le seguenti equazioni: p 0 = T 0 1 p 1 (82) p 1 = T 1 2 p 2 (83) p 0 = T 0 2 p 2. (84) Sostituendo l espressione di p 1 della (83) nella (82), otteniamo: p 0 = T 0 1 T 1 2 p 2. (85) Dovendo valere le (84),(85) per qualsiasi punto P, otterremo pert 0 2 la seguente espressione: T 0 2 = T 0 1 T 1 2. (86) Pagina 55 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Generalizzando la (86), la composizione di n trasformazioni omogenee successive A i 1 i, i = 1,..., n dà luogo ad una trasformazione complessiva Tn 0 la cui espressione è: T 0 n = T 0 1 T 1 2...T n 2 n 1 T n 1 n. (87) 2.6. Il metodo di D-H per catena cinematica aperta semplice Il metodo D-H per la modellazione cinematica di un meccanismo a catena aperta semplice con n gradi di libertà si compone dei seguenti passi: 1. numerazione dei membri (link), solitamente da 0 (telaio) a n (organo terminale - pinza, palmo della mano o utensile); 2. numerazione delle coppie cinematiche (giunti), solitamente da 1 a n; 3. definizione, in accordo con certe regole che esporremo e le loro eccezioni, di n + 1 sistemi di riferimento cartesiani, ognuno fissato sul link corrispondente; 4. identificazione di 4 parametri per ogni giunto i, i = 1,..., n, i quali consentono di scrivere la matrice di trasformazione omogenea A i 1 i che esprime la rototraslazione della terna solidale al link i rispetto alla terna solidale al link i 1; Pagina 56 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno 5. calcolo, in forma simbolica o numerica della matrice di trasformazionet 0 n dalla terna base 0xyz alla terna utensile 0 n x n y n z n. Le regole generali per fissare la terna O i x i y i z i sul link i sono le seguenti: 1. si sceglie l asse z i coincidente con l asse del giunto i + 1 se questo è rotoidale e parallelo alla direzione di traslazione del giunto i+1 se questo è prismatico; 2. si sceglie l asse x i lungo la retta di minima distanza tra l asse z i 1 e l asse z i ; se gli assi z i 1 e z i sono incidenti, si sceglie x i ortogonale ad entrambi, scegliendo arbitrariamente il verso (i i = ±k i 1 k i ). Seguendo le regole prima enunciate, nella Fig. 10, relativa al caso generale in cui gli assi z i 1 e z i sono sghembi, sono stati disegnati i vari assi. In particolare l asse x i, lungo la retta di minima distanza tra z i 1 e z i. Esistono delle eccezioni alle regole di scelta delle terne solidali ai link: l origine e l asse x della terna 0 sono arbitrari inoltre la terna utensile è arbitraria. Le scelte arbitrarie vanno, per quanto possibile, orientate in modo da ottenere una semplificazione del modello cinematico. La trasformazione da O i 1 x i 1 y i 1 z i 1 a O i x i y i z i può essere vista come composizione di 4 trasformazioni elementari in terna corrente come segue: 1. traslazione di una quantità d i lungo l asse z i 1 finché l asse x i 1 non coincida con l asse x ; Pagina 57 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno Pagina 58 di 169 Figura 10: Terne e trasformazioni nel metodo D-H.

Prima Precedente Avanti Ultima Vai Schermo Pieno 2. rotazione attorno a z z i 1 di un angolo θ i, finché l asse x non coincida con l asse x ; 3. traslazione di una quantità a i lungo x fino a che l origine della terna corrente non coincida con O i ; 4. rotazione di un angolo α i attorno a x x i fino a che l asse z non coincida con l asse z i. Per ogni giunto è quindi possibile determinare i parametri d i, θ i, a i, α i, definiti come segue: d i : distanza con segno tra O i e O ; θ i : a i : angolo di cui bisogna far ruotare x i 1 affinché diventi parallelo a x i, preso positivo se concorde con z i 1 ; lunghezza (senza segno!) del segmento di minima distanza tra z i 1 e z i ; Pagina 59 di 169 α i : angolo di cui bisogna far ruotare z affinché diventi parallelo a z i, preso positivo se concorde con x i.

Prima Precedente Avanti Ultima Vai Schermo Pieno Le prime due trasformazioni sono una traslazione d i e una rotazione θ i lungo l asse z i 1, quindi sono esprimibili con un unica matrice come segue: c θi s θi 0 0 s θi c θi 0 0 0 0 1 d i. (88) 0 0 0 1 Le altre due trasformazioni sono una traslazione a i e una rotazione α i lungo l asse x i, quindi sono esprimibili con un unica matrice come segue: 1 0 a i 0 c αi s αi 0 0 s αi c αi 0. (89) 0 0 0 1 Pagina 60 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno La matrice di trasformazione complessiva Ti i 1 è data dal prodotto della (88) e della (89): T i 1 i = = c θi s θi 0 0 s θi c θi 0 0 0 0 1 d i 0 0 0 1 c θi s θi c αi s θi s αi a i c θi s θi c θi c αi c θi s αi a i s θi 0 s αi c αi d i 0 0 0 1 1 0 0 a i 0 c αi s αi 0 0 s αi c αi 0 0 0 0 1 = = (90) Nella (90) uno solo dei 4 parametri è variabile e gli altri sono fissi. Il parametro variabile è θ i se il giunto i è rotoidale. Se invece il giunto i è prismatico, il parametro variabile è d i. Per ogni matrice Ti i 1 potremo allora scrivere: T i 1 i = T i 1 i (q i ), (91) dove q i = θ i per un giunto rotoidale e q i = d i per un giunto prismatico. 2.7. Applicazione del metodo di D-H ad un robot antropomorfo Supponiamo di avere un robot a 3 DOF a struttura antropomorfa, come mostrato in Fig. 11. Il nome deriva dal fatto che ricorda (lontanamente!) il braccio Pagina 61 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno umano. Sono presenti tre giunti rotoidali. I membri sono stati numerati da 0 a 3, mentre i giunti da 1 a 3. Il giunto 1 ha asse verticale mentre gli altri due hanno gli assi orizzontali e tali assi sono paralleli tra loro ed ortogonali all asse del giunto 1. Il metodo è stato applicato come segue: gli assi z 0, z 1, z 2 sono stati scelti coincidenti con gli assi dei giunti 1 2 3 e verso concorde con il verso positivo di rotazione degli attuatori dei giunti; l asse x 0 (e quindi l origine del sistema 0) è stato scelto arbitrariamente; il versore dell asse y 0 si ottiene al prodotto vettoriale k 0 i 0 dato che gli assi z 0 e z 1 sono mutuamente ortogonali, l asse x 1 è scelto in modo che i 1 = k 0 k 1 ; gli assi z 1 e z 2 sono paralleli, quindi la retta di minima distanza non è definita: si sceglie arbitrariamente x 2 passante per O 1 ; l asse z 3 è arbitrario: l asse x 3 deve essere ortogonale all asse z 2. per comodità si sceglie allora x 3 lungo la direzione di approccio e z 3 parallelo a z 2. Compiliamo adesso la tabella dei parametri d i, θ i, a i, α i. 1. giunto 1 Pagina 62 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno le origini delle terne 0 e 1 coincidono, quindi d 1 = 0; l asse x 1 si ottiene ruotando l asse x 0 attorno all asse z 0 di un angolo q 1, positivo se concorde con z 0 ; la minima distanza tra z 0 e z 1 è zero, quindi a 1 = 0; l asse z 1 si ottiene ruotando l asse z 0 attorno a x 1 di 90 (positivo), quindi α 1 = 90. 2. giunto 2 O 1 si trova già sull asse e x 2, quindi d 2 = 0; l asse x 2 forma rispetto all asse x 1 un angolo q 2, positivo se concorde con z 1 ; la minima distanza tra z 1 e z 2 è pari ad a 1 ; l asse z 2 è parallelo all asse z 1, quindi α 2 = 0. 3. giunto 3 la trasformazione dalla terna 2 alla terna 3 è sostanzialmente identica a quella dalla 1 alla 2, quindi d 3 = 0, θ 3 = q 3 la distanza tra gli assi z 2 e z 3 è pari ad a 3 e α 3 = 0. Pagina 63 di 169

Prima Precedente Avanti Ultima Vai Schermo Pieno x 3 y 3 y 2 3 q 3 x 2 z 3 z 0 y 1 a 3 3 Pagina 64 di 169 y 0 x 1 x 0 a 2 1 2 2 q 2 z 2 1 q 1 z 1

Prima Precedente Avanti Ultima Vai Schermo Pieno giunto d i θ i a i α i 1 0 q 1 0 90 2 0 q 2 a 2 0 3 0 q 3 a 3 0 Tabella 1: Tabella dei parametri di Denavit-Hartenberg per il robot antropomorfo di Fig.11 2.8. Polso sferico (roll-pitch-roll) Pagina 65 di 169 Figura 12: Polso sferico di tipo roll-pitch-roll. Il polso sferico roll-pitch-roll, mostrato in Fig. 18, è molto utilizzato nella costruzione di robot industriali. Esso possiede tre giunti rotoidali i cui assi si intersecano in un punto W detto centro del polso. Esso viene utilizzato