Sei sulla pagina 1di 176

BIOPROTESI

PARTE Prof. Ettore Pennestrì


QUESTA PAGINA È STATA LASCIATA BIANCA INTENZIONALMENTE

II
Il corso di Bioprotesi è inquadrato nel curriculum di studi del Corso di Laurea Magistrale in
Ingegneria Medica.
Il suo obiettivo è quello di fornire agli studenti conoscenze teoriche ed applicative per la
sintesi e l'analisi di sistemi protesici ed ortesici mediante metodi propri dell'ingegneria assistita
dal calcolatore.
Il corso attribuisce 6 crediti formativi ed è previsto per il primo semestre dell'anno
accademico (periodo settembre-gennaio). Per favorire l'apprendimento le lezioni sono
distribuite estensivamente nel corso di tutto il semestre.
Gli argomenti trattati nel corso saranno suddivisi per convenienza didattica in due parti. La
suddivisione delle lezioni per ciascuna parte non seguirà una divisione strettamente
temporale, ma gli argomenti verranno trattati in maniera da garantire la migliore e cacia
didattica. Il dettaglio degli argomenti in programma è riportato nella sezione seguente.
Il corso viene impartito da due docenti. Ciascun docente è responsabile dell'organizzazione e
dell'erogazione della parte di sua competenza.
Per facilitare l'individuazione degli argomenti delle lezioni, settimanalmente verrà pubblicato su
questo sito il calendario dettagliato delle lezioni e il programma della settimana successiva.

Programma
PARTE I (docente Prof. Pier Paolo Valentini)

Introduzione al corso. Introduzione alle problematiche e gli strumenti dell’ingegneria virtuale. La schematizzazione delle geometrie:
modellatori wireframe, B-Rep, CSG, Octree, poligonali. Modellazione parametrica basata su lavorazioni. I sistemi CAE commerciali
per le applicazioni biomeccaniche e la progettazione di prodotti: caratteristiche, limiti e campi di applicazione. Strategie ed
approcci alla modellazione parametrica: parti, assiemi, documentazione tecnica. Modellazione top down e bottom up. Lo schizzo
2D e 3D: entità, vincoli geometrici e dimensionali. Gli schizzi di layout e gli schizzi cinematici. Le operazioni di modellazione solida
di base e le operazioni di modellazione solida avanzate. Operatori booleani e deformatori a forma libera. Modellazione di super ci.
Con gurazioni ed equazioni di modellazione. Vincoli di assieme statici, dinamici e superiori. Assiemi essibili. Utilizzo ed
implementazione di librerie di parti e lavorazioni. Analisi di funzionalità di parti e assiemi. Metodologie di ingegneria inversa in
ambiente CAD per il settore biomedicale.

PARTE II (docente Prof. Ettore Pennestrì)

1. Analisi della struttura cinematica. Calcolo dei gradi di libertà. Analisi cinematica di sistemi piani. Centro della rotazione nita.
Cenni di sintesi cinematica. Proprietà moti in nitesimi. Polari del moto.
2. Algebra lineare: Le fattorizzazioni SVD e QR. Soluzione numerica di sistemi di equazioni lineari.
3. Sistemi spaziali Cinematica dei moti tridimensionali. Angoli e parametri di Eulero. Asse del moto elicoidale per movimenti finiti ed
infinitesimi. Formula di Rodrigues. Relazione tra parametri di Eulero e velocità angolare di un corpo. Sistemi computerizzati di
analisi del movimento umano (motion capture).
4. Principio del lavori virtuali. La formulazione lagrangiana. Vincoli olonomi e non olonomi. Equazioni della dinamica con numero
minimo di coordinate.
5. Calcolo delle matrici d’inerzia per solidi composti. Equazioni di Newton-Eulero. Applicazioni alla biomeccanica. Integrazione
numerica delle equazioni del moto.

Risultati dell’apprendimento
Il corso di carattere sia teorico, sia applicativo si pone come obiettivo quello di fornire agli studenti le conoscenza base e avanzate
per la modellazione e la simulazione di prototipi virtuali di protesi ed ortesi. Durante lo svolgimento delle lezioni, gli studenti avranno
la possibilità di prendere con denza con gli strumenti di ingegneria assistita dal calcolatore comunemente impiegati nelle realtà
industriali. Come veri ca dell'apprendimento è previsto lo svolgimento di un progetto applicativo di gruppo sulla modellazione e
simulazione e l'esecuzione di una prova scritta sui di erenti argomenti del corso.

III
fi
fi
fi
fi
ff
ffi
fl
fi
fi
IV
Indice
Programma III
Risultati dell’apprendimento III
Indice V
Indice settimana 1 8
venerdì 25 settembre 2020 9
Venerdì 25/09 - Argomenti Parte II - Prof. Ettore Pennestrì 9
Introduzione 9
Docente: 9
Organizzazione del corso: 9
Principali argomenti trattati: 10
Testi consigliati 10
Analisi della struttura cinematica dei meccanismi 11
Indice settimana 2 20
venerdì 2 ottobre 2020 21
Argomenti Parte II 21
Calcolo dei gradi di libertà 21
Nomenclatura 21
Metodi topologici 21
Formula di Grübler 21
Formula di Kutzbach 23
Criterio di Whittaker (o Hertz-Whittaker) 24
Indice settimana 3 28
venerdì 9 ottobre 2020 29
Cinematica dei moti niti 3D 29
Moto rigido di un corpo 29
Trasformazioni di coordinate 29
Trattazione 3D 30
Matrice di trasformazione/rotazione 30
Teorema di Eulero 34
Indice settimana 4 36
giovedì 15 ottobre 2020 37
Teorema di Eulero 37
Dimostrazione 37
Angoli di Eulero 40
Formula di Rodrigues 43
venerdì 16 ottobre 2020 47
Formula di Cayley 47
Parametri di Eulero 51
Indice settimana 5 54
giovedì 22 ottobre 2020 55
Cinematica dei moti in nitesimi 55
Velocità angolare 55
Classi cazione degli atti di moto 56
Velocità di un punto 59
Derivata temporale della matrice di trasformazione [A] 59
Derivata seconda della matrice di trasformazione [A] 60
Derivata di vettori espressi in diversi sistemi di riferimento 60
Derivate degli angoli di Eulero 61
Velocità e derivate parametri di Euelro 62
Integrabilità 62
Proprietà additiva 62
Accelerazioni angolari 65
Analisi delle velocità 65
Spostamenti e rotazioni virtuali 65
venerdì 23 ottobre 2020 66
Teorema del Mozzi 67
Cinematica del corpo rigido da cinematica dei punti 69
Indice settimana 6 74
giovedì 29 ottobre 2020 75
Estensione 3D teorema di Aronhold-Kennedy 75
Applicazioni 78
Composizione di atti di moto attorno ad assi sghembi 78
Libri ECCELLENTI sulla trasmissione: 83
venerdì 30 ottobre 2020 85
Applicazioni numeriche 87
V
fi
fi
fi
Ricevimento: possiamo ssarlo o alla ne della lezione del venerdì. 92
Indice settimana 7 94
giovedì 5 novembre 2020 95
Ortogonalizzazione di Gram-Schmidt 96
Algoritmo classico di Gram-Schmidt 96
Pseudocodici: 96
Decomposizione QR 97
Esempio numerico: 97
Decomposizione QR - Matrice rettangolare 98
Decomposizione SVD 99
Decomposizione QR tramite Matlab 102
Decomposizione SVD tramite Matlab 102
Metodo dei moltiplicatori di Lagrange 103
Esempio di applicazione 103
Soluzione sistemi equazioni lineari con il metodo minimi quadrati 104
Applicazione della decomposizione QR 105
giovedì 5 novembre 2020 106
Esercitazione MATLAB 106
Soluzione di sistemi di equazioni lineari sovrabbondanti con QR ed SDV 106
Ricevimento 110
Indice settimana 8 116
NO LEZIONE 116
Indice settimana 8 118
NO LEZIONE 118
Indice settimana 9 120
NO LEZIONE 120
Indice settimana 10 122
NO LEZIONE 122
Indice settimana 11 124
giovedì 3 dicembre 2020 125
DLT Method 125
Metodo di Gupta e Chutakanonta 129
Dinamica analitica 135
venerdì 4 dicembre 2020 148
Equazioni di Lagrange 148
Applicazioni 152
Indice settimana 12 156
giovedì 10 dicembre 2020 157
Moltiplicatori di Lagrange e reazioni vincolari 162
Matrice delle masse 164
Forze generalizzate 164
Esame scritto 165
Curiosità sui di analisi vibrazionale 165
venerdì 11 dicembre 2020 166
Attrito Coulombiano 171
Indice settimana 13 176
NO LEZIONE 176

VI
fi
fi
SETTIMANA 1

BIOPROTESI
Parte Prof. Pennestrì

Settimana 1

7
SETTIMANA 1

Indice settimana 1
Indice settimana 1 2
venerdì 25 settembre 2020 3
Venerdì 25/09 - Argomenti Parte II - Prof. Ettore Pennestrì 3
Introduzione 3
Docente: 3
Organizzazione del corso: 3
Principali argomenti trattati: 4
Testi consigliati 4
Analisi della struttura cinematica dei meccanismi 5

8
SETTIMANA 1
venerdì 25 settembre 2020
Venerdì 25/09 - Argomenti Parte II - Prof. Ettore Pennestrì
Introduzione
Docente:
Ettore Pennestrì

Controllare la cartella ‘Reading materials’ su Teams che contiene documenti da leggere per inquadrare meglio la teoria e
approfondire.

Organizzazione del corso:


Cinematica e bioingegneria.
STT-IWS: dispositivo con accelerometro e giroscopio utilizzato per il tracking dei
movimenti degli arti cui viene attaccato.
Per la descrizione dell’orientamento angolare del corpo i dati diventano più
complicati rispetto al considerare le sole coordinate. Esistono diversi metodi per
fare il tracking del corpo.

Questo metodo è uno dei più moderni e meno costosi per tracciare il movimento
degli arti.

Un’altra soluzione di analisi cinematica viene dalla motion capture dove vengono utilizzati dei marker posizionati sugli arti e grazie a
delle telecamere vengono acquisiti i dati e poi elaborati arrivando ad analisi cinematiche che permettono di analizzare le velocità di
varie parti del corpo.

In questo corso analizzeremo la matematica che c’è dietro il motion capture. Nato inizialmente nel campo sportivo per arrivare poi
nel settore medicale. La rivoluzione c’è stata quando è stato utilizzato dal cinema per far muovere personaggi virtuali sulla base di
movimenti tracciati dagli umani.

Altre applicazioni possono essere legate alla


realizzazione di dispositivi personalizzati sui movimenti
dei singoli individui.
Ad esempio un analisi del movimento della caviglia che
si ri ette nella progettazione di pattini personalizzati.

Vedremo anche rudimenti della progettazione di


meccanismi.

Suturatrice meccanica

9
fl
SETTIMANA 1

Nella bioingegneria meccanica si cerca sempre di riprodurre dei meccanismi che permettono
di riprodurre il movimento tra le varie parti.

Tutta l’analisi cinematica trova grande importanza ad esempio nella progettazione di protesi
articolare.

Modello di articolazione del ginocchio

Dinamica e bioingegneria

C’è anche l’importanza di avere dei modelli che permettono di schematizzare


come il corpo risponde ad un determinato ambiente.
Come ad esempio il seguente modello utilizzato per studiare la risposta del corpo
alle vibrazioni.

Interessante ad esempio per studiare come minimizzare le vibrazioni nelle


automobili al ne di ridurre i fastidi dovuti al mal d’auto e anche per la sicurezza
del conducente.

Faremo considerazioni sulla dinamica Lagrangiana e vedremo come a rontare


delle soluzioni numeriche.

Principali argomenti trattati:


1. Meccanismi
- Analisi della struttura cinematica dei meccanismi
- Algoritmi di analisi cinematica
- Cenni di sintesi cinematica dei meccanismi per assegnati moti niti
2. Cinematica
- Cinematica dei moti 3D
- Trasformazione cinematica marker —> cinematica del corpo rigido
- Algoritmi di algebra lineare (composizioni QR e SVD)
3. Dinamica
- Principio dei lavori virtuali
- Dinamica lagrangiana
- Metodi di integrazione numerica

Testi consigliati
- Fondamenti di meccanica applicata alle macchine - Casa editrice Ambrosiana Seconda edizione - Bel ore, di Benedetto,
Pennestrì
- Cinematica e Dinamica dei sistemi Multibody - Volume 1 - Casa editrice ambrosiana - Chelli, Pennestrì

10
fi
fi
ff
fi
SETTIMANA 1

Analisi della struttura cinematica dei meccanismi


Per analisi della struttura cinematica si intende lo studio delle modalità e dei collegamenti dei corpi rigidi che concorrono a formare
un meccanismo.

Un meccanismo è in pratica dato da una serie di corpi collegati tra loro che muovendosi concorrono a generare un movimento,
cioè lo scopo di un meccanismo è quello di riprodurre un moto assegnato.

Ci sono due problemi legati alla progettazione:


1. Problema topologico, quante parti devono costituire il meccanismo e come devono essere collegate tra loro
2. Dimensionamento delle parti, inteso come stabilire la geometria (non in senso di dimensionamento a resistenza) in moto tale
da riprodurre il più fedelmente possibile il moto d’interesse

Tale studio è utile sia all’analisi cinematica e dinamica sia nella fase di sintesi cinematica.

Diamo alcune de nizioni:


Dicesi elemento cinematico quella zona di un corpo sagomata in modo da consentire il collegamento di un altro e, rispetto a
questo, il moto relativo.

Dicesi coppia cinematica l’insieme di due corpi collegati attraverso elementi cinematica, che limiti i gradi di libertà del
movimento relativo tra i copri.
Parlare di collegamento nel nostro caso NON si intende saldatura in quando cerchiamo sempre moto relativo tra i corpi
introducendo però dei vincoli in modo tale da ridurre e limitare il moto relativo.
La coppia cinematica:
- Mantiene il contatto tra i corpi
- Consente il moto relativo tra i corpi
- Vincola (elimina) alcuni moto relativo

Ad esempio la coppia rotoidale,


Consente la rotazione ma blocca la traslazione.

Coppia rotoidale

Oppure la coppia prismatica, formata da due parallelepipedi che permette solo la traslazione tra i due corpi:

11
fi
SETTIMANA 1
De nizione di traslazione: tutti i punti del corpo vengono spostati della stessa distanza

Il centro di instantanea rotazione, il punto la cui velocità è nulla, è la traccia sul piano del moto
dell’asse di rotazione.

Nella seguente gura c’è rotazione o traslazione?

È una rotazione (le distanze variano) diversamente A1A2 e B1B2, ma dov’è l’asse della rotazione ?

De nizione di rotazione: In matematica, e in particolare in geometria, una rotazione è una trasformazione del piano o dello spazio
euclideo che sposta gli oggetti in modo rigido e che lascia sso almeno un punto, nel caso del piano, o una retta, nel caso dello
spazio. I punti che restano ssi nella trasformazione formano più in generale un sottospazio: quando questo insieme è un punto o
una retta, si chiama rispettivamente il centro e l'asse della rotazione.

Membro di un meccanismo:
- Membro binario, quello in cui vi sono 2 elementi cinematici
- Membro ternario, quello in cui vi sono 3 elementi cinematici
- Membro quaternario, quello in cui vi sono 4 elementi cinematici

12
fi
fi
fi
fi
fi
SETTIMANA 1
Dicesi grado di libertà di un corpo il numero di moto indipendenti che
possono essere prescritti al corpo medesimo.

Nello spazio un corpo non vincolato possiede 6 g.d.l.


Tre moti di traslazioni su direzioni ortogonali e tre rotazioni su assi tra loro
ortogonali.

Se un corpo è vincolato a muoversi su un piano allora possiede 3 g.d.l.


Vengono eliminate una traslazione e due rotazioni e questo vincolo costringe gli spostamenti dei punti del corpo ad appartenere
alla stessa giacitura di piani.

Gradi di libertà nel piano

Dicesi grado di libertà fi di una coppia cinematica il numero dei parametri indipendenti atti a caratterizzare il moto relativo tra i
due corpi della coppia cinematica.

La variabile f sta per ‘freedom’, retta di libertà, cioè grado di libertà dell’i-esima coppia cinematica.

Ad esempio:

13
SETTIMANA 1
La seguente tabella la troviamo tra i le in un articolo del prof sul calcolo dei gradi di libertà.

Nella prima riga vediamo una sfera tra due piani paralleli che quindi inibiscono un moto di traslazione in direzione ortogonale alle
direzioni delle pareti. Tuttavia alla sfera sono consentiti le traslazione con gli spostamenti parallele ai piani. Può ruotare sui tre assi
ortogonali.
Nella seconda riga vediamo una sfera del cilindro dove il moto di traslazione può essere solo quello di traslazione lungo l’asse del
cilindro (che chiaramente deve contenere il centro della sfera). La rotazioni rimangono.

In tabella manca la coppia elicoidale, ad esempio quando avvitiamo un dato su una vita. Rimane una coppia ad 1 grado di libertà
anche se il dado ruota intorno l’asse della vite ma l’avanzamento del dado è legato alla rotazione. Il passo di una vite è legato ad
una rotazione di 360° e quindi il moto di rotazione e di traslazione non sono indipendenti per cui la coppia rotoidale ha soltanto 1
grado di libertà. Ad una rotazione di 360° del dado corrisponde un avanzamento di p lungo l’asse del dado.

14
fi
SETTIMANA 1

VEDERE IL FILE DELLA PROSPETTIVA DIDATTICA SUI GRADI DI LIBERTÀ E VERIFICARE MENTALMENTE LA CORRISPONDENZA TRAI GRADI DI LIBERTÀ E I MOVIMENTI POSSIBILI.

15
SETTIMANA 1
Un altro concetto importante è il seguente:
Dicesi grado di vincolo di una coppia cinematica il numero di movimenti soppressi nel moto relativo tra i due corpi costituenti la
coppia medesima.
GdV = λ − fi
λ è il parametro di mobilità (3: moto piano, 6 moto spaziale).

Il grado di vincolo, a di erenza dei gradi di libertà, dipende dallo spazio in cui si muove il corpo.
Ad ogni grado di vincolo è associata una componente della reazione vincolare che i corpi si scambiano reciprocamente attraverso
gli elementi cinematici.

Ad esempio:
considerando due corpi liberi di muoversi nel piano il sistema possiede 6 gradi di libertà totali:

Andando a collegare i due corpi con una coppia rotoidale vengono introduttori due gradi di vincolo che daranno luogo a due
reazioni vincolari.

Nello spazio i gradi di vincoli sono in realtà 5 perchè passiamo da 6 gradi di libertà ad 1.

Mentre il grado di libertà è indipendente dallo spazio del movimento il grado di vincolo dipende dalla dimensione dello spazio.

Possiamo classi care le coppie cinematiche con diversi criteri:


- Tipologia del contatto tra gli elementi cinematici
- Tipologia dei movimenti consentiti nel moto relativo tra elementi cinematici

16
fi
ff
SETTIMANA 1
Dicesi catena cinematica un insieme di membri ciascuno dei quali sia collegato, attraverso elementi cinematici, almeno ad un
membro dell’insieme stesso.

Possono essere:
- Catene cinematiche aperte
- Catene cinematiche chiuse

l=4, Catena quadrilatera


l=6, Di Stevenson e Lat
Catene a 8 e 10 membri, ecc.

Catena cinematica aperta: robot antropomorfo

Catena cinematica chiusa come delle


piattaforme.

Piattaforme utilizzate per simulare particolari moti Robot antropomorfo

La nostra mano è un sistema a catena cinematica aperta.

Dicesi circuito quella sequenza circolare di corpi collegati in serie seguendo la


quale si riesce a far coincidere il corpo ritenuto iniziale con quello ritenuto nale.
Inoltre, ad ogni circuito è possibile associare un’equazione vettoriale di
chiusura.

I circuiti si dicono indipendenti quando lo sono anche le rispettive equazioni vettoriali di chiusura.
Il numero Lind di circuiti indipendenti in una catena cinematica può essere calcolato attraverso la formula Lind = j − l + 1,
Dove j = # coppie cinematiche ed l = # di membri.

Dicesi meccanismo una catena cinematica in cui un membro svolge il ruolo di telaio. Il telaio è quel membro la cui posizione
rimane invariata.
Dire che un membro non si muove è sempre relativo al caso che consideriamo.

In cinematica di erenziamo il telaio strutturale, quanto appena de nito, e il telaio cinematico poiché a volte utile posizionare il punto
di osservazione sul membro in movimento e si parla di telaio cinematico.
Ad esempio la ruota panoramica vista da terra vediamo la ruota che gira mentre da sopra ci sentiamo fermi e vediamo la terra che
ruota.

NELLA PROSSIMA LEZIONE AFFRONTEREMO UN ESEMPIO DI ANALISI CINEMATICA DI UN MECCANISMO, SUL CALCOLO DI GRADI DI LIBERTÀ E SULL’ANALISI CINEMATICA.

17
ff
fi
fi
SETTIMANA 1

18
SETTIMANA 2

BIOPROTESI
Parte Prof. Pennestrì

Settimana 2

Giunto cardanico

19
SETTIMANA 2

Indice settimana 2
Indice settimana 2 2
venerdì 2 ottobre 2020 3
Argomenti Parte II 3
Calcolo dei gradi di libertà 3
Nomenclatura 3
Metodi topologici 3
Formula di Grübler 3
Formula di Kutzbach 5
Criterio di Whittaker (o Hertz-Whittaker) 6

20
SETTIMANA 2
venerdì 2 ottobre 2020
Argomenti Parte II
Calcolo dei gradi di libertà
Abbiamo introdotto alcuni concetti di analisi della struttura cinematica come membri, coppie ed elementi cinematici.
Dando poi alcune de nizioni di catena cinematica e meccanismo.
Inizieremo con un approccio semplice per poi vedere come ogni metodo di calcolo abbia dei limiti che andranno ben compresi
già prima di applicarlo. Ignorando i limiti potremmo ottenere un risultato falso, e questo è vero in ogni ambito dell’ingegneria!

Per grado di libertà di un meccanismo si intende il numero di moti indipendenti che devono essere prescritti a nché sia
univocamente determinato il moto di tutti gli altri membri del meccanismo.
Esistono varie de nizioni, ognuna con punti forti e punti su cui discutere.
Il grado di libertà di un meccanismo dipende da numerosi fattori ed una sua stima attraverso formulazioni algebriche richiede delle
ipotesi sempli cative che potrebbero in ciare il risultato nale.
Si immagini di avere una cerniera in parte arrugginita quindi con un elevato coe ciente d’attrito, potrebbe essere di cile far ruotare
la porta sulle cerniere se non impossibile e quindi il grado di libertà è condizionato dalle condizioni di attrito. Si possono fare in niti
esempi analizzando fattori non geometrici e non cinematici e quindi dobbiamo introdurre delle ipotesi semplificative.
La trattazione che verrà presentata ipotizza:
- Corpi rigidi
- Assenza di giochi e tolleranze di lavorazione
- Assenza di attrito tra i corpi

Abbiamo due metodologie di calcolo dei gradi di libertà:


- Metodi topologici, fondati sulla semplice considerazione della struttura cinematica del meccanismo, senza tener conto della sua
geometria
- Analitici, fondati da proprietà notevoli del calcolo di erenziale e della geometria

Nomenclatura
- F, gradi di libertà del meccanismo (g.d.l.)
- fi, gradi di libertà della ima coppia cinematica
- ℓ, numero di membri (telaio incluso)
- Lind, numero di circuiti indipendenti
- j, numero di coppie cinematiche
- ji numero di coppie cinematiche con i g.d.l.
- λ, (parametro di mobilità), g.d.l. dello spazio in cui opera il meccanismo e.g. (=3 per spazio piano o sferico), (=6 moto spaziale)

Metodi topologici
Provengono da questa semplice relazione:
In un sistema composto da un certo numero di membri svincolati, se dai gradi di libertà dei membri svincolati sottraggo i gradi di
vincolo delle coppie cinematiche la di erenza porterà al grado di libertà del sistema:
F = (G . D . L . membri svincolati ) − (G . D . V . membri introdotti dalle coppie)

Formula di Grübler
Stima il moto dei membri in un sistema piano attraverso la relazione F = 3(ℓ − 1) − 2j1 − j2, dove si ricordi che:
- ℓ è il # di membri
- j1 è il # di coppie cinematiche ad 1 g.d.l.
- j2 è il # di coppie a 2 g.d.l
E questa relazione vale per i meccanismi piani, quindi con λ =3

Un corpo piano possiede 3 G.D.L e quindi con l membri i gradi di libertà totali saranno λl = 3l a cui dobbiamo sottrarre i gradi di
libertà del membri telaio (sempre presente) λl − λ = λ (l − 1), 3l − 3 = 3 (l − 1)

Mentre i G.D.V: introdotti da coppie cinematiche dipendono dalle dimensione dello spazio del meccanismo e in particolare il
grado di vincolo di una coppia con fi gradi di libertà è (λ − fi).

Sommando tutti i gradi di vincolo e indico con j1 le coppie con 1 G.D.L e nel piano una coppia cinematica ad 1 G.D.L. introduce
due G.D.V. se i membri hanno moto piano.
Allora 2j1 = G . D . V . introdotti dalle coppie cinematiche ad 1 G . D . L .
Invece j2 = G . D . V . introdotti dalle coppie cinematiche a 2 G . D . L .
21
fi
fi
fi
ff
fi
ff
fi
ffi
ffi
ffi
fi
SETTIMANA 2
Quindi ho il grado di libertà dei membri svincolati e sottraggo i gradi di vincolo delle coppie cinematiche ottenendo la formula di
Gruber.

Mettiamola alla prova, consideriamo questa camma in gura.

È un meccanismo a camma, quindi si consideri la piastra che ruota intorno un asse ortogonale al piano del foglio e impone un
moto alternativo allo stelo, ovvero alla punteria.
Per il calcolo dei gradi di libertà:
Contiamo il numero dei membri indicando anche il telaio 1, la piastra eccentrica 2, e 3 la punteria.
Quindi ℓ = 3
Analizziamo le coppie la loro natura cinematica. La cerniera ci dice la coppia rotoidale R mentre il
cedente traslante ci da una coppia prismatica, P. Poi c’è una coppia superiore (coppie in cui il
contatto tra membri cinematici avviene lungo una retta o un punto) tra la piastra e la punteria:
- 1 rotoidale, tra i corpi 1-2, con 1 g.d.l
- 1 prismatica, tra i corpi 1-3, con 1 g.d.l
- 1 coppia superiore, tra i corpi 2-3, con 2 g.d.l.

Cioè j1 = 2, j2 = 1
Allora la formula di Gruber ci dice che F = 3(3 − 1) − 2 ⋅ 2 − 1 = 6 − 4 − 1 = 1
C’è 1 g.d.l per cui imponendo uno spostamento Δθ il risultato è univocamente determinato.

Possiamo applicarlo anche ad un manovellismo di spinta, meccanismo che troviamo in tutti i motori a combustione interna.
Vogliamo calcolare i g.d.l. (è evidente che c’è un solo g.d.l).

La prima cosa è immaginare di disassemblare il meccanismo:


- Telaio, #1
- Manovella 8meccanismo che compie rotazioni di 360°, #2
- Biella, membro che collega movente (membro che riceve il moto) al cedente (membro che cede il moto), #3
- Pattino (o pistone), #3
ℓ=4
Tutti si muovono nel piano per cui λ = 3
Abbiamo coppie rotoidale, rotoidale, rotoidale e prismatica, per cui j1 = 4 e allora
F = 3(ℓ − 1) − 2j2 = 3(4 − 1) − 2 ⋅ 4 = 1

Abbiamo visto questa formula a S.d.C per calcolare il grado di iperstaticità della struttura.

22
fi
SETTIMANA 2
Formula di Kutzbach
(Intorno al 1920)
j j
Ipotizzando che il moto dei membri sia spaziale F = λ(ℓ − 1) −
∑ (λ − fi) = λ(ℓ − j − 1) + ∑
fi (2)
i=1 i=1

Vale anche per i meccanismi spaziali quindi con i membri nello spazio 3D.
Ci si arriva applicando sempre la di erenza tra il grado di libertà dei membri svincolati e il numero di gradi di vincolo introdotti dalle
coppie.

Gradi di libertà passivi: talvolta nei meccanismi si ritrovano dei g.d.l passivo cioè che non in uenza in alcun moto la relazione
matematica che sussiste tra il moto dei membri moventi e quelli cedenti.
Ad esempio: il meccanismo RSSR, comprende una coppia rotoidale, poi una sferica, un’altra sferica e un’altra rotoidale.
Il meccanismo comprende due manovelle e una biella.

Meccanismo RSSR

Il meccanismo possiede 4 membri.


Applicando la formula di Kutzbach
j


λ = 6, ℓ = 4, j = 4 e allora fi = 1 + 1 + 3 + 3 = 8, da cui F = 6(4 − 4 − 1) + 8 = 2. Viene fuori che il
1
meccanismo possiede 2 g.dl.
In realtà applicando una rotazione Δθ1 allora la rotazione Δθ2 è univocamente determinata.
Questo perchè il meccanismo possiede un g.d.l. passivo cioè la rotazione che la biella può avere intorno un asse passante per i
centri della cerniere sferiche (asse a in gura). Questo g.d.l non ha alcuna in uenza sul moto tra movente e cedente.

Giunto cardanico
Questo è un altro meccanismo che mette in crisi le formule topologiche.
I giunti in generale sono dispositivi che consentono di trasmettere il moto da un albero
ad un altro e se la distanza non è troppo elevata si usano giunti o ruote dentate altrimenti
trasmissioni a cinghia, catene, ecc.
Il giunto cardanico è utilizzato quando si deve trasmettere il moto tra due alberi inclinati
ed il giunto è formato da due forcelle e una crociera.
La formula di Kutzbach ci restituisce F = − 2 per cui sembrerebbe non muoversi.
In realtà il meccanismo è a vincoli sovrabbondanti e si muove solo perchè sono Giunto cardanico
rispettate alcune condizioni geometriche essenziali, cioè che gli assi delle cerniere
convergono tutti in un punto.
Si faccia attenzione che quanto si restringono le tolleranze di lavorazione i costi salgono, motivo per cui questo giunto è molto
costoso.

La formula di Kutzbach fallisce non perchè sia sbagliata ma perché il moto del meccanismo è legato ad alcuni vincoli geometrici
mentre la formula fa riferimento solo alla topologia.
Gestire queste situazioni richiede un’impostazione più generale e le formule di Grubler e Kutzbach non sono valide.

Vediamo un altro sistema, consideriamo nuovamente un manovellismo di spinta che


abbiamo visto come presenta 1 g.d.l. Immaginiamo di assegnare una rotazione Δθ il
meccanismo può evolvere in alcune diverse con gurazioni in cui il pattino può andare
a sinistra o a destra, cioè c’è incertezza sullo spostamento del cedente che può
presentare lo spostamento Δs1 o Δs2 ma noi abbiamo de nito il g.d.l come il # di
moti che dobbiamo assegnare a nché il moto sia unicamente determinato possiamo
dire quindi che questo meccanismo ha F = 2 g.d.l.

23
ffi
ff
fi
fi
fi
fl
fl
SETTIMANA 2
Si osservi invece che se assegnamo Δs considerando come movente il pattino allora la rotazione Δθ è univocamente
determinata per cui F = 1 g.d.l

Questo meccanismo mette in crisi le diverse formule e mette in luce che nei meccanismi ci sono delle con gurazioni critiche
che richiedono qualcosa di più robbusto.

Possiamo far ricorso al


Criterio di Whittaker (o Hertz-Whittaker)
Questo criterio procede nella seguente maniera:
Immaginiamo di scegliere un numero n di coordinate indichiamo con q1, q2, …, qn queste coordinate su cienti a caratterizzate la
con gurazione del sistema. Indichiamo con m il numero delle relazioni indipendenti che posso stabilire tra le variazioni
infinitesime tra δq1, δq2, …, δqn allora i gradi di libertà F = n − m .

Si faccia attenzione ad i termini in rosso dove questi termini fanno venire in mente il discorso di matrice Jacobiana, vediamo
meglio come.

Immaginiamo di prendere sempre il manovellismo di spinta dove posso individuare un circuito a cui posso associare la relativa
equazione vettoriale. r̄1 + r̄2 + r̄3 = 0. Posso anche introdurre le anomalie dei vettori θ1, θ2, θ3 e considerando le lunghezze
posso rappresentare i vettori come numeri complessi, cioè r e iθ1 + ℓe θ 2 + se θ 3 = 0 dove θ3 = π
E la relazione si sempli ca separando parte reale e immaginaria:

{f2(θ1, θ2, s) = r sin θ1 + l sin θ2 = 0


f1(θ1, θ2, s) = r cos θ1 + l cos θ2 − s

Sistema non lineare nella variabili {q1, q2, q3} = {θ1, θ2, s}
Posso allora calcolare i di erenziali, considerando

· ·
−r1 sin θ1θ1 − l sin θ2 θ2 − s· = 0
{r1 cos θ1θ· 1 + l cos θ2 θ· 2 = 0

· d θi ds
, dove θ i = , i = 1,2 e s· =
dt dt

Assegniamo la variabile θ1 ipotizzando il membro muovente e quindi assegnare lo spostamento signi care assegnare questa
velocità.
· ·
[ l cos θ2 0 ] { s· } {−r cos θ θ· }
−l sin θ2 −1 θ2 r1 sin θ1θ1
In forma matriciale avrà: =
1 1 1

24
fi
fi
ff
fi
ffi
fi
SETTIMANA 2
Questo è un sistema lineare dove gli spostamenti in nitesimi (facendo uguale riferimento alle velocità, basta dividere i vettori δq1
per il relativo δt).

[ l cos θ2 0 ]
−l sin θ2 −1
Questo sistema ammette soluzione univoca se det ≠ 0.
Questa matrice viene chiamata matrice jacobiana del sistema delle equazioni di chiusura.

∂f1 ∂f1

{f2(x1, x 2 ) = 0
f1(x1, x 2 ) = 0 ∂x1 ∂x 2
In un sistema di eq lineari è de nita la matrice Jacobiana J = .
∂f2 ∂f2
∂x1 ∂x 2
Attenzione che potrebbe non essere quadrata a seconda del sistema

Ma se questo determinate fosse nullo cosa succede? E a che con gurazione corrisponde?
π 3π
det(J ) = l cos θ2 = 0 quando o θ2 = o θ2 = .
2 2
Cioè potremmo avere le due con gurazioni seguenti:
Il fatto che il determinate nullo signi ca che il rango della matrice Jacobiana r = 1 altrimenti se il determinante è diverso da zero

diremo che il rango r = 2. In pratica questo sistema è costituito da 2 equazioni indipendenti e possiamo dire che il rango della
matrice Jacobiana ci dice quante sono le equazioni indipendenti nel sistema di equazioni lineari.
Quello che ci serviva per stabile m, cioè il numero delle relazioni indipendenti viene identi cando attraverso il rango della matrice
jacobiana. Cioè la formula di Hertz-Whittaker può essere modi cata in F = n − r, dove r = rango della matrice Jacobiana.

Attenzione che questo criterio vale anche a situazioni dove i meccanismi hanno membri con moto tridimensionale, chiaramente
potrebbe non bastare l’eq di chiusura e servono altri strumenti.
Per i sitemi piani è molto semplice scrivere le equazioni di chiusura e sono un metodo abbastanza a dabile. Accoppiando
quest’analisi al criterio di Whittaker ci consente dia avere stime più a dabili delle formule fondate su criteri topologici.

In generale un meccanismo si dirà in configurazione critica se il rango della sua matrice Jacobiana
non è piena (rango massimo).

Lo stesso meccanismo in un’altra con gurazione non sarà critica.


Le con gurazioni critiche si distinguono in istantanee e permanenti.

Esistono meccanismi che hanno costantemente il rango della matrice Jacobiana non pieno, tra cui il parallelogramma
articolato. Questo è un meccanismo in con gurazione critica permanente e scrivendo le equazioni di chiusura questo non avrà
mai rango pieno.

Vediamo un esempio, conosciamo bene dei passeggini che si richiudono ad


ombrello. Hanno un meccanismo a vincoli sovrabbondanti in forma critica
permanente, variando la lunghezza di una sola delle parti il meccanismo non si
muove. Sembra l’inventore abbia stabilito due anni a stabilire le dimensioni
delle parti a nché si chiudano facilmente ( ne anni 70) poi scoppiò una
disputa legale sul brevetto poiché nel brevetto mancavano le dimensioni delle
parti e l’invenzione gli fu so ata.

Anche la porta è un meccanismo in forma critica permanente a vincoli


sovrabbondanti e basterebbe una sola cerniera (Formula di Grubler ci direbbe Parallelogramma articolato
che il sistema è fermo) ma la sua mobilità è legata ad una condizione
geometrica, cioè al fatto che gli assi delle tre cerniere devono essere allineate.

Le formule topologiche non sanno nulla di come siano disposti geometricamente i vincoli e considera i g.d.v tutti indipendenti ma
le relazioni che traducono i g.d.v NON necessariamente sono indipendenti.

25
fi
ffi
ffi
fi
fi
fi
fi
fi
fi
fi
fi
fi
ffi
fi
ffi
SETTIMANA 2

26
SETTIMANA 3

BIOPROTESI
Parte Prof. Pennestrì

Settimana 3

27
SETTIMANA 3

Indice settimana 3
Indice settimana 3 2
venerdì 9 ottobre 2020 3
Cinematica dei moti niti 3D 3
Moto rigido di un corpo 3
Trasformazioni di coordinate 3
Trattazione 3D 4
Matrice di trasformazione/rotazione 4
Teorema di Eulero 8

28
fi
SETTIMANA 3
venerdì 9 ottobre 2020

Cinematica dei moti niti 3D


Moto rigido di un corpo
Siano {r0} e {r1} due vettori che individuano posizione iniziale e nale di un medesimo punto appartenente al corpo soggetto ad
uno spostamento rigido.
La relazione {r1} = [A]{r0} + {d} lega le coordinate iniziali e nali di tale punto, entrambe espresse nel sistema assoluto.

Ad esempio:

Immaginiamo che il corpo si sposti e i due sistemi di riferimento,


quello associato al corpo sso e quello associato al corpo mobile
non sono più sovrapposti.
Troviamo allora il sistema di coordinate associato al sistema mobile
{x1, O1, y1}
Indicando con r1x , r1y le nuove coordinate del punto R e andiamo
a sviluppare questa relazione matriciale dove è presente il vettore

(dy)
dx
che caratterizza l’origine del sistema mobile , il vettore

( r0y )
r0x
posizione e la matrice di rotazione [A].

Trasformazioni di coordinate
da O1 − x1 y1z1 a O − x 0 y0 z 0
Vado a considerare una situazione di erente, mentre prima parlavamo di spostamento rigido adesso andiamo a considerare lo
stesso punto le cui coordinate sono misurate in due sistemi di riferimento diverse:

- Siano { r} = { rx x} , le coordinate di un generico punto R, misurate nel sistema di riferimento O


T
0 0 0r 0r
y − x 0 y0 z 0

- Siano { r} = { rx x} , le coordinate del medesimo punto, misurate nel riferimento O1 − x1 y1z1


T
1 1 1r 1r
y

Attenzione alla nomenclatura, l’apice a sx signi ca che le coordinate sono misurate in quel riferimento.

Allora la relazione {1r} = [10 A] {0r} + {1d} lega le coordinate del punto R espresse nei due distinti sistemi di
riferimento.

Ad esempio:

Considerando le diverse coordinate possiamo scrivere:

{1ry} [−sin θ cos θ ] { 0ry } {1dOy}


1 1
rx
cos θ +sin θ
0
rx dOx
= +

[−sin θ cos θ ] {d y}
1
dOx dx
{ doy }
cos θ +sin θ
Dove il vettore 1
= {1O1O} = − sono le

componenti dell’origine del sistema 1.


La matrice questa volta è una matrice di trasformazione (non più di rotazione).

Si osserva dunque che le relazioni:


- {r1} = [A] {r0} + {d}
- {1r} = [10 A] {0r} + {1d}
- {0r} = [01 A] {1r} + {0d}

appaiono formalmente identiche, ma si riferiscono ad operazioni di erenti.

29
fi
ff
fi
fi
fi
fi
ff
SETTIMANA 3
Sta a noi capire a cosa si riferisce dal contesto, se ad uno spostamento (con la matrice di rotazione) o ad una trasformazione di
coordinate (con la matrice di trasformazione).

Sussiste l’uguaglianza di matrice ortogonale: [A] = [10 A] = [01 A]


T

Trattazione 3D
Per stabilire la posizione di un copro libero vengono introdotti i seguenti sistemi di riferimento destrorsi:
- R0 ≡ O − x 0 y0 z 0, associato ad un corpo immobile e per questo de ntio inerziale
- R1 ≡ O1 − x1 y1z1, solidale al copro mobile di cui si vuole determinare la posizione

Cioè studiamo sempre il moto di un corpo rispetto ad un altro che viene ritenuto sso.

Matrice di trasformazione/rotazione
a11 a12 a13
La matrice [A] = a 21 a 22 a 23 possiamo alcune notevoli proprietà.
a31 a32 a33
È una matrice 3x3 .
Nella matrice [ 01 A] le colonne rappresentano i coseni direttori dei versori misurati nel sistema di riferimento assoluto.
dove i versori: i 1⃗ , j 1⃗ , k 1⃗

Possiamo allora fare qualche esempio:

30
fi
fi
SETTIMANA 3
Possiamo vedere meglio:

Considerando invece un caso diverso:

Ovviamente si vede come i segni sono diversi tra le due matrici.

Possiamo fare anche un caso diverso (pagina seguente)

31
SETTIMANA 3
Consideriamo i tre assi e vogliamo dedurre la matrice di trasformazione [01 A].
partiamo delle componenti dei tre versori i 1⃗ , j 1⃗ , k 1⃗ rispetto x 0, y0, z 0 da cui otteniamo la matrice di trasformazione (sono le
colonne).
1
{0}
Immaginiamo poi di avere un punto P di coordinate 1 nel riferimento O1 − x1 y1z1 allora possiamo trovarle nel riferimento

sso:

Si vede come funziona in entrambi i versi!

32
fi
SETTIMANA 3
Possiamo iniziare ad introdurre delle convenzioni:
Nelle trasformazioni di coordinate:
Le colonne di [0i A] rappresentano le componenti dei versori degli assi xi, yi, zi nel riferimento assoluto.
E le righe di [i0 A] rappresentano le componenti dei versori degli assi xi, yi, zi nel riferimento assoluto.

Mentre nel moto rigido le colonne di [A] rappresentano le componenti dei versori degli assi cartesiani solidali con il corpo .

Proprio perchè queste matrici rappresentano i versori queste sono tali da avere le componenti soggette a condizione algebriche e
in particolare abbiamo le tre condizioni di ortogonalità:
- a11a12 + a 21a 22 + a31a32 = 0
- a11a13 + a 21a 23 + a31a33 = 0
- a13a12 + a 23a 22 + a33a32 = 0

E le tre condizioni di normalizzazione:


2 2 2
- a11 + a21 + a31 =1
2 2 2
- a12 + a22 + a32 = 1
2 2 2
- a13 + a23 + a33 =1
Quindi le matrici richiedono tre sole componenti per essere caratterizzati poiché abbiamo 6 condizioni.

In conclusione per caratterizzare una matrice di trasformazione sono necessari, nel caso più generali, tre parametri indipendenti.

TUTTA QUESTA TEORIA PUÒ RICONDURSI AD EULERO QUANDO IL CALCOLO MATRICIALE NON ERA ANCORA FORMALIZZATO E LE MATRICI VENIVANO CHIAMATI “QUADRATI
MAGICI” CHE DOVEVANO ESSERE COMPLETATE CON ALCUNE REGOLE, COME FOSSERO UNA SORTA DI SUDOKU DEDICATO ALL’ATTIVITÀ RICREATIVE.

Essendo i moti rigidi ci sono relazioni dirette in conseguenza, cioè:


- [A] [A] = [I ]
T

- det [A] = + 1

Proprietà di trasformazione:
In gura vediamo la rotazione di una corpo (ovale) dove i punti
R ed S appartengono al corpo. Con il pedice 0 indichiamo la
posizione iniziale e ovviamente la loro distanza rimane invariata
nel moto.

Essendo il moto rigido si ha che:


{r1} − {s1} = {r0} − {s0}
I moti che mantengono costante la loro distanza dall’origine
del sistema di riferimento (o da un qualunque punto del
sistema) sono detti moti sferici e quindi non ci sarà il
termine aggiuntivo nella relazione.

Allora:
{r1} = [A] {r0} e {s1} = [A] {s0}
E sostituendo nella condizione di rigidezza, otteniamo:

{r1 − s1} = [A] {r0} − [A] {r1} = {r0 − s0} [A] [A] {r0 − so}
T T

Da cui si deduce la condizione di ortogonalità [A]T [A] = [I ]

Se abbiamo un moto rigido piano esiste sempre, ed è unico, un punto la cui posizione rimane invariata. Nei moti in nitesimi è il
centro di instantanea rotazione mentre per i moti niti prende il nome di centro di rotazione nita.
Ma nei moti sferici esistono punti la cui posizione rimane invariata ? Essendo un moto sferico dovremo parlare di asse.
Ci si chiede quindi se esistano dei punti la cui posizione rimane invariata:
[A] {p} = {p}, cioè dopo che opero con la matrice di rotazione sul punto ottengo sempre le coordinate del punto.
Ovvero
[A] {p} = λ {p}
[A − λ I ] {p} = {0}
Quindi se questa uguaglianza è vera signi ca che λ = 1 deve essere un autovalore della matrice di rotazione.

33
fi
fi
fi
fi
fi
SETTIMANA 3
In virtù della rigidezza del modo abbiamo che [A] {r} = {r}
E per de nizione di autovalore [A] {r} = λ {r}
Ovvero, tenuto presente che λ può essere anche una quantità complessa [A] {r} = λ {r}

Abbiamo che det [−A] = − det [A] e che det [−A] = − 1


−1

Posso allora considerare det [A −1(I − A)] = det [A −1] det [−(I − A)] = det [(A − I )]
La prima uguaglianza segue dal fatto che sono quadrate.

Allora ottengo che λ = 1 è una radice dell’equazione caratteristica det [A − λ I ]

Questo mi consente di dire che λ=1 è un autovalore allora [A]{r} = {r} e dimostra l’esistenza di un numero in nito di punti
allineati lungo l’asse di rotazione.

Cioè possiamo enunciare il


Teorema di Eulero
Due sistemi di assi con origine in comune possono sovrapporsi attraverso la rotazione di uno di tali sistemi attorno ad un asse
passante per l’origine e la cui direzione è individuata dall’autovettore r 1⃗ per λ = 1

Essenzialmente questo ci dice che se abbiamo due posizioni di erenti di due sistemi di coordinate che condividono l’origine
posso sovrapporre gli assi dei due sistemi attraverso un’unica rotazione intorno ad un asse e quest’asse è un autovettore della
matrice di rotazione.

SUL TESTO TROVIAMO ANCHE UN’ALTRA DIMOSTRAZIONE RELATIVA ALL’AUTOREVOLE λ = 1 MA È UN PO PIÙ LUNGA DI QUESTA VISTA A LEZIONE.

34
fi
ff
fi
SETTIMANA 4

BIOPROTESI
Parte Prof. Pennestrì

Settimana 4

ux2Vθ + cθ ux yyVθ − uz sθ ux uzVθ + u y sθ


ux u yVθ + uz sθ u y2Vθ + cθ u yuzVθ − ux sθ
ux uzVθ − u y sθ u yuzVθ + ux sθ uz2Vθ + cθ

35
SETTIMANA 4

Indice settimana 4
Indice settimana 4 2
giovedì 15 ottobre 2020 3
Teorema di Eulero 3
Dimostrazione 3
Angoli di Eulero 6
Formula di Rodrigues 9
venerdì 16 ottobre 2020 13
Formula di Cayley 13
Parametri di Eulero 17

36
SETTIMANA 4
giovedì 15 ottobre 2020
Abbiamo già dimostrato come se abbiamo posizione iniziale e nale di un corpo e a questo corpo è associata una terna
cartesiana la cui origine rimane invariata, potevamo spostare il corpo da inizio a ne, attraverso una singola rotazione attorno un
asse.
Cioè si può dimostrare l’esistenza di un’in nità di punti del corpo allineati la cui posizione rimane invariata e il cui insieme
costituisce l’asse di rotazione.

Teorema di Eulero
SUL TESTO ABBIAMO UNA DIMOSTRAZIONE MA QUI NE AFFRONTIAMO UN’ALTRA.

Dimostrazione
Partiamo dall’uguaglianza sul determinante det[−A] = − det[A] e che det[A]−1 = 1
Inoltre det[A − I ] = det A − det I = 1 − 1 − = 0
E che det[A − I ] = det[A T − I ] = det[A T − A T A] = det[A T (I − A)] = 0
Cioè det[A −1(I − A)] = det[A −1] det[ − (I − A)] = det[(A − I )] = 0
Arriviamo a dire che risulta vera det[(A − I )] = 0
Quindi, confrontando con quella del polinomio caratteristico ( det [(A − λ I )] = 0 ), si vede come λ = 1, ci sarà sempre un
autovalore unitario il cui autovettore contiene i coseni direttori dell’asse di rotazione.

Avendo una matrice di rotazione e volendo determinare i coseni direttori della rotazione associata alla matrice è su ciente
determinare l’autovettore associato all’autovalore unitario.

Possiamo anche stabilire un parallelismo tra moti piani e moti niti: nei moti piani esiste sempre un punto del corpo la cui posizione
rimane invariata (i.e a velocità nulla) e in questo moto sferico vale la stessa proprietà solo che invece di punti parliamo di assi.

Avevamo visto che la de nizione dell’orientamento del corpo, cioè della posizione angolare degli assi del sistema di riferimento
associato al corpo. Volendo de nire matematicamente orientamento del corpo dobbiamo associargli una terna cartesiana e
caratterizzate la loro posizione rispetto un sistema di assi inerziali (assi sso).
Abbiamo i due corpi C0 e C1, la matrice che trasforma il vettore da sso a mobile [10 A].
Quindi dobbiamo capire come il vettore espresso nel riferimento {0r} viene espresso nel riferimento 1, {1r}.

Abbiamo dato una regola empirica, dove nella matrice dal riferimento 1 a 0 le colonne saranno i coseni direttori degli assi del
riferimento 1 rispetto al riferimento 0 (l’abbiamo veri cata nel caso piano).
Vediamola meglio nel caso tridimensionale.
Abbiamo la relazione che trasforma le coordinate dal riferimento 0 a 1: {1r} = [10 A] {0r}

r ⃗ = {rx , ry, tz} in un riferimento cartesiano signi ca farne la proiezione sugli assi:
T
Ma esprimere le componenti di un vettore
0
rx = r ⃗ ⋅ i 0⃗
0
ry = r ⃗ ⋅ j 0⃗
0
rz = r ⃗ ⋅ k 0⃗

Cioè il vettore nella base vettoriale dei versori i 0⃗ , j 0⃗ , k 0⃗ è r ⃗ = 0rx i 0⃗ + 0ry j 0⃗ + 0rz k 0⃗

Discorso analogo se esprimo il vettore r ⃗ nel riferimento associato al corpo 1 cioè di base i 1⃗ , j 1⃗ , k 1⃗ , avremmo
r ⃗ = 1rx i 1⃗ + 1ry j 1⃗ + 1rz k 1⃗
Con
1
rx = r ⃗ ⋅ i 1⃗
1
ry = r ⃗ ⋅ j 1⃗
1
rz = r ⃗ ⋅ k 1⃗

Svolgendo il prodotto della precedente relazione {1r} = [10 A] {0r}, e indicando le componenti di [10 A] con a′ij possiamo
mettere in evidenza r ⃗ e confrontare le relazioni dei versori su 1 espressi come combinazione lineare dei versori 0.
a′11 ( r ⃗ ⋅ i 0⃗ ) + a′12 ( r ⃗ ⋅ j 0⃗ ) + a′13 ( r ⃗ ⋅ k 0⃗ ) = ( r ⃗ ⋅ i 1⃗ )
a′21 ( r ⃗ ⋅ i 0⃗ ) + a′22 ( r ⃗ ⋅ j 0⃗ ) + a′23 ( r ⃗ ⋅ k 0⃗ ) = ( r ⃗ ⋅ j 1⃗ )
a′31 ( r ⃗ ⋅ i 0⃗ ) + a′32 ( r ⃗ ⋅ j 0⃗ ) + a′33 ( r ⃗ ⋅ k 0⃗ ) = ( r ⃗ ⋅ k 1⃗ )

Confrontando queste relazioni si vede come:


37










fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
ffi
SETTIMANA 4
i 1⃗ = a11 i 0⃗ + a12 j 0⃗ + a13 k 0⃗
j 1⃗ = a 21 i 0⃗ + a 22 j 0⃗ + a 23 k ⃗
k 1⃗ = a31 i 0⃗ + a32 j 0⃗ + a33 k ⃗
E chiaro che essendo le due matrici l’una la trasposta dell’altra posso esprimere:
{i1}T = {a′11, a′12, a′13}
{j1}T = {a′21, a′22, a′23}
{k1}T = {a′31, a′32, a′33}

Cioè la matrice [10 A] ha la seguente forma:


a′11 a′12 a′13 T
a11 a12 a13
[0 A] = a′21 a′22 a′23 = [1 A] = a 21 a 22 a 23
1 0

a′31 a′32 a′33 a31 a32 a33

Si osservi quindi come le righe di [10 A] sono le componenti dei versori associati agli assi di riferimento o1 − x1 y1z1

Quello era solo un’intuizione nel caso 2D adesso ha una dimostrazione precisa.

Una proprietà da tener presente quando si parla di spostamenti spaziali è la non commutatività degli spostamenti niti.

Vediamo il seguente esempio: consideriamo due sequenze di tre rotazioni.


La prima ruota intorno a y, poi x.
Nella seconda invece partendo dalla stessa posizione ruoto prima intorno a x e poi y.
Si vede come le posizioni nali sono diverse.

Quindi l’ordine secondo il quale avvengono le rotazioni nite è importante ai ni della determinazione della posizione nale.

Inoltre quando parliamo di rotazioni intorno un asse è importante considerare sia il sistema di riferimento associato al corpo sso
sia quello associato al corpo mobile. Quindi dicendo ad esempio ”ruota intorno l’asse x” bisogna speci care se quello del
riferimento sso o del mobile e come rappresentare analiticamente questa situazione.
Ruotando il corpo intorno gli assi mobili ottengono una con gurazione diversa da quelli del riferimento sso.






38












fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
SETTIMANA 4
Consideriamo sempre rotazioni di 90° positive antiorarie.

Ruotare intorno assi ssi o mobili è diverso.

Nel caso di rotazioni intorno ad assi ssi sarà:


{r1} = [1 A] {r0}
0

{r2} = [ 2 A] {r1}
1

{r3} = [3 A] {r2}
2

Cioè il vettore nale si ottiene premoltiplicando tutte le matrici{r3} = [Ar f] {r0} dove [Ar f] = [23 A] [ 12 A] [01 A]

Nel caso di rotazioni intorno gli assi coordinati mobili, si ha


{ r} = [0 A] { r}
1 1 0

{ r} = [1 A] { r}
2 2 1

{ r} = [ 2 A] { r}
2 3 2

Cioè {3r} = [Arm] {0 r} con la matrice di trasformazione [Arm] = [ 32 A] [21 A] [10 A] = [30 A]
Oppure [Arm] = [ 23 A] [ 12 A] [01 A] = [ 03 A]
T T T T

39
fi
fi
fi
SETTIMANA 4
Dopo aver raggruppato queste proprietà tra cui la più importante è quella del teorema di Eulero e poi l’interpretazione sica degli
elementi delle matrici di rotazione. Queste contengono 9 elementi ma abbiamo visto che esistono 6 relazioni, le prime 3 relative
alle equazioni del modulo unitario dei versori e le altre 3 legate all’ortogonalità dei versori. Quindi rimangono 3 parametri liberi e per
determinare l’orientamento di un copro nello spazio necessito di tre parametri liberi.
Il primo a occuparsi di questo argomento fu Eulero anche se esistono varie convenzioni per misurarle e questo spesso genera
confusione ma dovremmo essere in grado di capire di quale convenzione si tratta semplicemente guardando la matrice.

Angoli di Eulero
É vero che possiamo sempre sovrapporre due sistemi di riferimento con origine in comune con un’unica rotazione (ce lo dice il
teorema) ma questo ci dice anche che se parliamo di moto sferico (le origini dei sistemi di riferimento associati ai corpi coincidono
sempre, ecco perchè moto sferico) possiamo avere l’idea di sovrapporre due sitemi di riferimento attraverso una sequenza di
tre moti niti attorno a tre assi cartesiani associati al corpo. Quindi gli angoli di rotazione costituiscono la terna che
caratterizza il moto nito del corpo.

Illustriamo la convenzione originaria degli angoli di Eulero, quella più in voga, la zxz o 313.
I tre angoli di rotazione de niranno l’orientamento di un riferimento rispetto ad un altro.

In maiuscolo il riferimento inerziale XYZ e in minuscolo il riferimento mobile xyz. C’è una prima rotazione intorno l’asse z, moto di
precessione, di un angolo ψ: gli assi si saranno spostati in x1, y1, z1 ≡ Z. Poi c’è il moto di nutazione, rotazione intorno x1 di un
angolo θ dell’asse delle ascisse dove z1 si sposta in z2 ed y1 in y2. Poi c’è una terza rotazione, rotazione propria, intorno l’asse z
mobile dove z2 ≡ z3 mentre variano x 2 si porta in x3 e y2 si porta in y3.

È completamente arbitraria la scelta dei versori e delle tre rotazioni.

Stiamo quindi imponendo tre rotazioni in moto tale da sovrapporre la terna cartesiana inizialmente nella con gurazione iniziale (assi
coincidenti) alla posizione nale del corpo, caratterizzando l’orientamento del corpo nello spazio.

Vediamo meglio le tre rotazioni:

cos ψ sin ψ 0
Rotazione 1 intorno alle z con la matrice di trasformazione da 0 a 1: [10 A] = −sin ψ cos ψ 0
0 0 1

ROTAZIONE I, PRECESSIONE

40
fi
fi
fi
fi
fi
fi
SETTIMANA 4

1 0 0
Poi c’è la rotazione 2, intorno l’asse x: [21 A] = 0 cos θ sin θ
0 −sin θ cos θ

ROTAZIONE II, NUTAZIONE

cos ϕ sin ϕ 0
Poi c’è la rotazione 3, nuovamente sull’asse z: [ 32 A] = −sin ϕ cos ϕ 0
0 0 1

ROTAZIONE III, ROTAZIONE PROPRIA

Alla ne avremmo la matrice ottenute premoltiplicando le tre matrici, cioè:


cϕ cψ − sϕ cθ sψ cϕ sψ + sϕ cθ cψ sϕ sθ
[0 A] = [ 2 A] [1 A] [0 A] = −sϕ cψ − cϕ cθ sψ −sϕ sψ + cϕ cθ cψ cϕ sθ
3 3 2 1

sθ sψ −sθ cψ cθ

Dove cα = cos α e sα = sin α,

Spesso questa matrice è nota numericamente ma viene richiesto di risalire agli angoli, operazione per niente semplice. Volendo
calcolare gli angoli è chiaro si parte dal termine a 33 ma anche l’angolo θ potrà essere positivo o negativo e il problema diventa
molto complesso.

A volte questi vengono chiamati angoli di Cardano che possono essere rappresentati con diverse convenzioni, ad esempio:

A seconda dell’ambito applicativo si usa una convenzione piuttosto che


un’altra. Nel settore automotive l’orientamento a secco di un auto spesso si
descrive con gli angoli roll, pitch e yaw.

Anche questi vengono chiamati angoli di Eulero o di Cardano.

41
fi
SETTIMANA 4
Rispetto la tabella di prima:

E le matrici di rotazione:

Abbiamo allora stabilito che bastano tre parametri indipendenti per individuare l’orientamento di un corpo e abbiamo anche
scelto questi tre parametri osservano come la scelta non è univoca e a seconda della convenzione cambia la matrice ma dal
punto di vista numerico la matrice di rotazione che porta il corpo dalla posizione iniziale a quella nale e ettiva è sempre la stessa.
I valori numerici poi posso essere associati a vari set degli angoli di Eulero a seconda della convenzione, cambiando convenzione
cambieranno i valori degli angoli.

SI TENGA PRESENTE CHE AI TEMPI DI EULERO NON ESISTEVANO NE MATRICI NE CALCOLO VETTORIALE.
IL CALCOLO VETTORIALE FU SVILUPPATO DA GRASSMAN.
PIÙ AVANTI HAMILTON INTRODUSSE I DUE VOLUMI SUL CALCOLO CON I QUATERNIONI CHE TUTTAVIA NON PRESE PIEDE POICHÉ HANNO UN USO
PIÙ COMPLICATO E VENNERO STUDIATI DA MENO PERSONE.
NELLA COMPUTER GRAPHICS HANNO TROVATO GRANDE APPLICAZIONI, PER ESPRIMERE ROTAZIONI SONO MOLTO PIÙ COMODI DELLE MATRICI.

VEDERE IL CAPITO SUL TESTO CINEMATICA E DINAMICA DEI SISTEMI MULTIBODY.


OPPURE PER APPROFONDIRE FAR RIFERIMENTO AL TESTO “FELIX KLEIN - ARITHMETIC ALGEBRA ANALYSIS”

42
fi
ff
SETTIMANA 4
Abbiamo visto che possiamo descrivere un qualsiasi moto sferico intorno un asse e a partire da questa idea un matematico
francese (Rodrigues) intorno al 1850 scrisse un lavoro in cui esprime la rotazione di un copro in funzione dei parametri come i
coseni direttori dell’asse di rotazione e dell’angolo di rotazione.

Noi vedremo una dimostrazione moderna, diversa da quella originale.

Potremmo de nire questo modo di caratterizzare il moto intrinseco al corpo


stesso nel senso che i parametri, a di erenza degli angoli di Eulero, non
variano al variare della convenzione.
Dedurremo anche la versione matriciale di questa formula.

Formula di Rodrigues
Prima di procedere nel dimostrare la formula impostiamo geometricamente il problema:

Abbiamo l’asse di rotazione u ⃗ e immaginiamo che ci sia associato al corpo un vettore r 0⃗ di posizionale iniziale con un angolo α
con l’asse di rotazione (stiamo parlando di moti rigidi). Possiamo proiettare l’estremità di r 0⃗ . Consideriamo poi una rotazione di un
angolo pari a θ del corpo intorno l’asse.

In corrispondenza a questa rotazione il vettore si sposta in una nuova posizione r 1⃗ . Individuiamo poi il vettore q 0⃗ . Possiamo
allora individuare un piano ortognale all’asse di rotazione che contiene q 0⃗ e q 1⃗ i vettori che formano un angolo di 90° con l’asse
di rotazione e in virtù del moto rigido, i due angoli saranno rispettivamente uguali:
- ∠ r 0⃗ u ⃗ = α
- ∠ r 1⃗ u ⃗ = α
- ∠ q 0⃗ u ⃗ = 90∘
- ∠ q 1⃗ u ⃗ = 90∘

43
fi
ff
SETTIMANA 4

Abbiamo il centro del moto sferico O e la posizione iniziale R0 e nale R1. Da quest’ultima tracciamo (sempre sul piano
individuato) il piede di una perpendicolare a q 0⃗ individuando il punto Q.
Il punto P è l’equivalente della rotazione nita, considerando il moto di Q come fosse nel piano e allora il punto P comune non è
altro che la traccia dell’asse di rotazione sul piano individuato.

Si osservi che il vettore OR1 ⃗ = OP ⃗ + PQ ⃗ + Q R1 ⃗ e questi tre vettori sono tutti e tre ortogonali! Questa è proprio la proprietà
che ci condurrà nella formula di Rodrigues.

appena scritta, cioè r 1⃗ = OP ⃗ + PQ ⃗ + Q R1 .⃗


Ritornando alla dimostrazione della formula e seguendo la gura vale l’uguaglianza

OP ⃗ come un vettore di modulo incognito parallelo a u ,⃗


discorso analogo per PQ ,⃗ parallelo a q 0⃗ . Il vettore Q R1 ⃗ è ortogonale ad entrambi,
Allora posso riscrivere

quindi multiplo del loro prodotto vettoriale.


Cioè: r 1⃗ = m1 u ⃗ + m 2 q 0⃗ + m 3 u ⃗ × q 0⃗
Si tenga presente che a noi servono tre quantità indipendenti per caratterizzare il moto
sferico e noi abbiamo proprio tre incognite m1, m 2, m 3.
Adesso non rimane che cercare di esprimere questi coe cienti in funzione dei
parametri che riteniamo essenziali per la descrizione del moto rigido considerato, cioè
la direzione dell’asse di rotazione e l’angolo di rotazione. Si osservi che in realtà le
componenti del versore dell’asse sarebbero tre ma legate dalla relazione che il
modulo della loro somma è unitario.

L’idea è quella di moltiplicare scalarmente r 1⃗ ⋅ u ⃗ dove u ⃗ è ortogonale sia


a q 0⃗ che al prodotto vettoriale per cui queste quantità danno valore nullo.
Inoltre u ⃗ ⋅ u ⃗ = 1 poiché versore.
r 1⃗ ⋅ u ⃗ = r 0⃗ ⋅ u ⃗ = m1

Passiamo ad un secondo passaggio e moltiplichiamo r 1⃗ per il coe ciente


m incognito. Quindi per m 2 moltiplichiamo per q 0⃗ e, tolti i prodotti nulli, si
ha che r 1⃗ ⋅ q 0⃗ = m 2∥ q 0⃗ ∥2
Inoltre abbiamo che r 1⃗ = OP ⃗ + PR1 ⃗ = ( r 1⃗ ⋅ u )⃗ u ⃗ + q 1⃗ e
44
fi
ffi
fi
fi
ffi
SETTIMANA 4
sostituendo queste due relazioni otteniamo che r 1⃗ ⋅ q 0⃗ = ( r 1⃗ ⋅ u )
⃗ u ⃗ ⋅ q 0⃗ + q 1⃗ ⋅ q 0⃗ = ∥ q 1⃗ ∥ ⋅ ∥ q 0⃗ ∥ cos θ
Si ricordi che i moduli dei due vettori q sono di fatto uguali e che θ è un dato del problema, allora si ha che
∥ q 1⃗ ∥
m2 = cos θ = cos θ
∥ q 0⃗ ∥

Per il coe ciente m 3 eseguiamo il prodotto scalare con il vettore u ⃗ × q 0⃗ e cancellando i prodotti nulli rimane:
r 1⃗ ⋅ ( u ⃗ × q 0⃗ ) = m 3 ( u ⃗ × q 0⃗ ) ⋅ ( u ⃗ × q 0⃗ ) = m 3∥ q 0⃗ ∥ perchè essendo ortogonali il sin θ = 1 e inoltre il modulo di u ⃗
2

= OP ⃗ + PR1 ⃗ = ( r 1⃗ ⋅ u )⃗ u ⃗ + q 1⃗
è unitario.
Esprimiamo nuovamente il vettore r 1⃗ come r 1⃗

(2 )
π
E sostituendo: q 1⃗ ⋅ ( u ⃗ × q 0⃗ ) = ∥ q 1⃗ ∥ ⋅ ∥ q 0⃗ ∥ cos − θ = ∥ q 1⃗ ∥ ⋅ ∥ q 0⃗ ∥ sin θ = ∥ q 0⃗ ∥2 sin θ
Alla ne dei conti si trova m 3 = sin θ

Abbiamo allora trovato tutti e tre i coe cienti in funzione dei dati del problema in particolare:
- m1 = r 0⃗ ⋅ u ⃗
- m 2 = cos θ
- m 3 = sin θ

E sostituendo nella relazione iniziale r 1⃗= m1 u ⃗ + m 2 q 0⃗ + m 3 u ⃗ × q 0⃗ si ottiene la formula di Rodrigues, ovvero


r 1⃗ = ( r 0⃗ ⋅ u )⃗ u ⃗ + cos θ q 0⃗ + sin θ ( u ⃗ × q 0⃗ ).

Si osservi che questa formula è invariante rispetto al sistema di riferimento adottato.


Mentre le matrici di rotazione o gli angoli di Eulero variano al variare del sistema di riferimento questa formula vale sempre,
qualsiasi sia il sistema di riferimento in cui esprimiamo le quantità vettoriali presenti.

ESEGUENDO IL PRODOTTO MATRICIALE PER CONOSCERE LA POSIZIONE FINALE DI UN VETTORE DOPO LA ROTAZIONE OPPURE SE UTILIZZO LA FORMULA DI RODRIGUES
QUAL È PIÙ VANTAGGIOSO COMPUTAZIONALMENTE? QUANTE SOMME E MOLTIPLICAZIONE DEVO FARE CON UNO E QUANTE CON L’ALTRO?

La stessa formula si può manipolare e tenendo conto del fatto che q 0⃗ = r 0⃗ − ( u ⋅)


⃗ u ⃗ si ottiene un’altra formulazione (un po più
⃗ (1 − cos θ ) u ⃗ + sin θ ( u ⃗ × r 0⃗ ).
comune) r 1⃗ = cos θ r 0⃗ + ( r 0⃗ ⋅ u )

A partire da questa possiamo esprimere queste operazioni come delle operazione matriciali equivalenti.
In particolare consideriamo la matrice [ũ ], cioè la matrice antisimmetrica (skw, [u]T=—[u]T) associata al vettore

Andando a sostituire si ottiene la formula di Rodrigues in forma matriciale:


{r1} = ({u}{u}T + ([I ] − {u}{u}T ) cos θ − [ũ ]sin θ){r0} = ([I ]cos θ + (1 − cos θ ){u}{u}T − sin θ[ũ ]){r0}

E, dovendo essere, {r1}= [A]{r0}, sviluppando in un’unica matrice si ha che


[A] = [I ]cos θ + (1 − cos θ ){u}{u}T − sin θ[ũ ]

ux2Vθ + cθ ux yyVθ − uz sθ ux uzVθ + u y sθ


Cioè [A] = ux u yVθ + uz sθ u y2Vθ + cθ u yuzVθ − ux sθ
ux uzVθ − u y sθ u yuzVθ + ux sθ uz2Vθ + cθ

Dove Vθ = 1 − cos θ, prende il nome di “versine” , sθ = sin θ, cθ = cos θ.

45
fi
ffi
ffi
SETTIMANA 4
Questa è la formula più generale di una matrice di rotazione che può essere poi particolarizzata per tutti i moti di rotazione visti
nella lezione precedente.

46
SETTIMANA 4
venerdì 16 ottobre 2020

ABBIAMO DEFINITO GLI ANGOLI DI EULERO E LA MATRICE DI TRASFORMAZIONE IN FUNZIONE DI QUESTI PARAMETRI E POI ABBIAMO DEDOTTO LA FORMULA DI RODRIGUES
DANDONE UNA FORMULA VETTORIALE E ANCHE UN’INTERPRETAZIONE MATRICIALE. GRAZIE A QUESTA FORMULA SIAMO STATI IN GRADO DI ESPRIMERE GLI ELEMENTI
DELLA MATRICE DI ROTAZIONE IN FUNZIONE DI PARAMETRI INTRINSECI AL MOTO CHE VOGLIAMO DESCRIVERE CIOÈ L’ASSE DI ROTAZIONE (I.E LE SUE COMPONENTI) E
L’ANGOLO DI ROTAZIONE.

Continuiamo su questa strada e cerchiamo di dedurre la

Formula di Cayley
Con riferimento alla gura è possibile stabilire la seguente condizione:
{r1 − r0} {r1 + r0} = 0
T

Dove r0 è la posizione iniziale del vettore r mentre r1 è la posizione a seguito del moto sferico. I due
vettori avranno la stessa lunghezza (per la rigidità del moto) e un punto in comune, l’origine del moto
sferico. formano quindi un triangolo isoscele la cui base è il vettore di erenza.
Posso individuare (con la regola del parallelogramma) il vettore somma individuando il rombo di diagonale
r1 + r0 e r1 − r0. Essendo le diagonali del rombo ortogonali si identi ca la relazione appena scritta.

A partire da questa condizione possiamo riscrivere il vettore di erenza e il vettore somma come:
{r1 − r0} = [A − I ]{r0}
{r1 + r0} = [A + I ]{r0}
= [A − I ] [A + I ]
−1
E introduco la matrice [B] e ne segue che quanto questa opera su {r1 + r0} restituisce un vettore
ortogonale: {r1 − r0} = [B]{r1 + r0}.
Vediamolo meglio:

0 −b3 b2
È chiaro quindi che [B] = − [B]T e che quindi sarà del tipo [B] = b3 0 −b1 funzione si soli 3 parametri
−b2 b1 0
indipendenti.

Con un po di passaggi algebrici: [B] = [A − I ][A + I ]−1 vado a mettere in evidenza la matrice [A]
[B][A + 1] = [A − 1]
[B][A] + [B] = [A − I ]
[B − I ][A] = − [I + B]
[I − B][A] = [I + B]
[A] = [I − B]−1[I + B], dove quest’ultima è la formula di Cayley.

Ne esiste anche un’altra formulazione algebrica ma algebricamente equivalente:


[A1] = [I − B]−1[I + B] e [A2 ] = [I + B][I − B]−1
DIMOSTRAZIONE CHE LE DUE FORMULAZIONI SONO EQUIVALENTI

47
fi
ff
ff
fi
SETTIMANA 4
Abbiamo visto come possiamo esprimere [A] mediante una matrice antisimmetrica che richiede proprio solo 3 parametri
indipendenti cioè le componenti di un vettore b .⃗
Vogliamo esprimere questi tre elementi in funzione delle quantità che de niscono la rotazione:
- Versore u ⃗ dell’asse di rotazione
- Angolo θ di rotazione del corpo intorno al suddetto asse

Ritornando alla gura iniziale introduciamo i parametri di Rodrigues.


Osserviamo innanzitutto che la rotazione matriciale {r1 − r0} = [B]{r1 + r0} è equivalente ad una
relazione in forma vettoriale ( r 1⃗ − r 0⃗ ) = b ⃗ × ( r 1⃗ + r 0⃗ ) dove i tre vettori, di erenza, somma e b ⃗
saranno tutti e tre ortogonali tra loro.

Dalla gura utilizzata per i parametri di Rodriguez andiamo a scegliere i vettori sul piano ortogonale
all’asse di rotazione.
Questa scelta ci fa comodo e infatti prendiamo q 1⃗ e q 0⃗ che appartengono al piano ortogonale all’asse
di rotazione. Particolarizzando la formula di prima per questo caso otteniamo la relazione in gura:

Dalla relazione appena menzionata in gura:

∥ q 1⃗ − q 0⃗ ∥/ 2
Quindi tan
θ
= ⃗ = tan θ .
e quindi, confrontando anche con la relazione precedente, si ha che ∥ b ∥
2 ∥ q 1⃗ + q 0⃗ ∥/ 2 2

b1
In de nita resta il vettore b ⃗ =
θ
b2 = tan u ⃗ e prende il nome di vettore di Rodrigues e contiene tutti gli elementi
2
b3
necessari a descrivere la rotazione.

Cioè i parametri di Rodrigues sono alternativi agli angoli di Eulero.


Oltre agli angoli di Eulero ci preoccupiamo di queste altre rappresentazioni poiché nella letteratura scienti ca si presentano diverse
rappresentazioni.

Se andiamo a sostituire nella formula di Cayley la matrice [B] con gli elementi del vettore di Rodrigues ritroviamo una formula simile
alla versione matriciale della formula di Rodrigues:

[ 2 ] [ 2 ]
−1
−1 θ θ
[A] = [I − B] [I + B] = I − tan [ũ ] I + tan [ũ ] = [I ] + sin θ[ũ ] + (1 + cos θ )[ũ ][ũ ]

48
fi
fi
fi
fi
fi
ff
fi
fi
SETTIMANA 4
C’è anche una variante con cui possiamo de nire i Parametri di Rodrigues, cioè a partire dalla formula posso sostituire seno/
θ
coseno in funzione della tan =t
2
Questo perchè se riesco a calcolare la tangente di un angolo posso calcolare seno e coseno come
1 − t2
cos θ =
1 + t2
2t
sin θ =
1 + t2
2t 2
1 − cos θ =
1 + t2

Θ ⃗ = 2 tan
θ
Dopo diversi passaggi algebrici si arriva alla ne dove di introduce il vettore rotazione nita u ⃗ = 2t u ⃗ pari a 2
3
Θ⃗ Θ⃗
1 + 4 Θ⃗ ( )
volte il vettore di Rodrigues e allora la formula di Rodrigues può riscriversi nella forma: r 1⃗ = r 0⃗ + × r ⃗
0 + × r 0⃗
1 2

Questo vettore rotazione nita lo posso utilizzare per dedurre una formula algebrica molto compatta per esprimere la composizione
di due moti niti, una cosa molto interessante:

VEDERE IL FILE “RODRIGUES” IN CUI SONO PRESENTI TUTTI I PASSAGGI ALGEBRICI

Θ 1⃗ = 2 u 1⃗ tan
θ1
Consideriamo i due vettori spostamenti
2
Θ 2⃗ = 2 u 2⃗ tan
θ2
e , cioè voglio comporre una rotazione
2
intorno l’asse u 1⃗ di un angolo θ1 e una rotazione intorno
l’asse u 2⃗ di angolo θ2.

Considerando u ⃗ come l’asse di rotazione nale dobbiamo


tener presente che i punti ABC siano su una sfera in quanto
stiamo considerando un moto sferico (i tre assi hanno un
punto in comune). I moti niti non si sommano come i moti
in nitesimi (vettorialmente)

Applicando varie formule di trigonometria sferica

cos c = cos a cos b + sin a sin b cos Ĉ


sin a sin b sin c
= =
sin  sin B̂ sin B̂

cos Ĉ = − cos  cos B̂ + sin  sin B̂ cos c

Dopo diversi passaggi algebrici (che qui saltiamo) si arriva alla formula vettoriale per la composizione di moti niti:

Θ 1⃗ ⋅ Θ 2⃗ ( )
Θ 1⃗ = Θ 1⃗ + Θ 2⃗ +
1 ⃗
Θ × Θ 1⃗
1
1− 1 2 2
4
Conoscendo i vettori rotazione nita che de niscono le due rotazioni sappiamo calcolare la rotazione nale.

Questa formula può essere estesa anche ai moti elicoidali.

49
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
SETTIMANA 4
In questa presentazione viene considerato il problema della
composizione dei moti ma rimane da considerare anche il
problema della scomposizione dei moti cioè di come posso
scomporre un movimento in due altri movimenti. Questo
problema è stato trattato da Davenport :

Se abbiamo un movimento come possiamo scomporlo in altri


due movimenti?

Questo problema può essere risolto, in queste dispense c’è


una soluzione del professore che utilizza la matematica
appena trattata.
Queste immagini sono slide di un seminario del 2019. Questo
seminario si tiene ogni due anni “Multibody Dynamics
Workshop” a Parma.

Il problema è che se ho una rotazione caratterizzata da un asse n e un angolo ϕ e conosco i tre assi n1, n 2, n 3 come calcolo gli
angoli di rotazione su questi assi in modo da avere la rotazione nita? Cioè come scomporre una rotazione in tre moti niti. Questo
è il problema di Davenport, l’inverso del problema della composizione che abbiamo risolto.

Per ricapitolare abbiamo dimostrato la formula di Cayley e de nito una forma algebrica della matrice antisimmetrica [B] e de nito i
parametri di Rodrigues arrivando alla formula per la composizione dei moti niti tramite i vettori di Rodrigues (moltiplicati per 2).

Si è a ermato che le rotazioni non sono commutative. Tale a ermazione,


tuttavia, richiede che gli assi di rotazione non ruotino assieme al corpo mobile.
Se tale ipotesi viene abbandonata, si dimostra che le rotazioni nite sono
commutative
C’è anche una dimostrazione analitica contenuta sempre nel le condiviso ma
facciamo un ragionamento sulla gura di anco:
Abbiamo un parallelepipedo soggetto a due rotazioni intorno gli assi u 1⃗ e u 2⃗ .
Si osservi come nel primo caso al gura tratteggia è il prima rotazione mentre a
tratto continuo è dopo la rotazione. Facendo prima ruotare intorno u 1⃗ poi su
u 2⃗ l’oggetto si sposta nella con gurazione nale.
Eseguendo gli stessi moti ma nell’ordine opposto, cioè prima su u 2⃗ (e u 1⃗ si
porta in u ′1⃗ ) poi facciamo ruotare intorno il nuovo asse u ′1⃗ e il corpo si porta
in una con gurazione uguale a quella nale.

Se gli assi si muovono insieme al corpo le rotazioni possono essere


commutate.

50


ff
fi
fi
fi
fi
fi
fi
fi
ff
fi
fi
fi
fi
fi
fi
fi
SETTIMANA 4
Lo stesso Eulero, non soddisfatto della soluzione degli angoli, ragiona cercando di utilizzare 4 parametri e non più 3 ed è chiaro
che questi non saranno indipendenti tra loro:

Parametri di Eulero
La de nizione dell’orientamento di un corpo nello spazio richiede minimo 3 parametri indipendenti (angoli di Eulero, angoli di
Cardano, ecc).
I parametri di Eulero {p}T ≡ {e0 e1 e2 e3} svolgono anche la funzione di de nire l’orientamento di un corpo.
Sia allora:
- {u} ≡ {ux u y uz} il versore dell’asse di rotazione che porta il corpo da una posizione iniziale, in cui il riferimento
T

cartesiano locale è sovrapposto al riferimento assoluto, alla sua posizione nale


- θ l’angolo di rotazione
Posso partire dalla formula di Cayley

[ 2 ] [ 2 ]
−1
θ θ
[A] = I − tan [ũ ] I + tan [ũ ]

[ 2 ] [ 2 ]
−1
θ θ θ θ θ
E riscriverla moltiplicando e dividendo per il cos , cioè: [A] = cos [I ] − sin [ũ ] cos [I ] + sin [ũ ]
2 2 2
Introduco:
θ
e0 = cos
2
θ
e1 = ux sin
2
θ
e2 = u y sin
2
θ
e3 = uz sin
2
Considero anche la relazione di normalizzazione: e02 + e12 + e22 + e32 =1
1
e02 + e12 − 2
e1e2 − e0 e3 e1e3 + e0 e2
1
E sviluppo il prodotto della relazione di prima ottenendo: [A] =2 e1e2 + e0 e3 e02 + e22 − 2
e2 e3 − e0 e1
1
e1e3 − e0 e2 e2 e3 + e0 e1 e02 + e32 − 2
Questa matrice è importantissima poiché consente di estrarre i parametri molto più facilmente.
Può essere fattorizzata:

Inoltre queste due matrici possono essere scritte in forma partizionata ed hanno degli elementi comuni il che le rende più
facilmente risolvibili dal punto di vista computazionale:
[E ] = [ −{e} | − [ẽ ] + e0[I ] ]
[G ] = [ −{e} | − [− ẽ ] + e0[I ] ]

Le valutazioni di funzioni trigonometriche sono circa una decina di operazioni algebriche di somma ed impegna molto il
processore.

Formule inverse per angoli di Euelro:


Inoltre la de nizione degli angoli di Eulero a partire dagli elementi della matrice [A] si ottiene tramite le formule:
cos θ = a33
sin θ = ± 1 − cos2 θ
a
cos ψ = − 32
sin θ
a31
sin ψ =
sin θ
a
cos ϕ = 23
sin θ

51
fi
fi
fi
fi
SETTIMANA 4
a
sin ϕ = 13
sin θ
Ci sono delle indecisioni relative ai segni “±” che scompaiono nelle formule inverse per i parametri di Eulero:
a11 + a 22 + a33 = 2 (3e02 + e12 + e22 + e32) − 3 = 4e02 − 1
a11 + a 22 + a33 + 1 θ
Da cui si ricava: e02 = cioè cos2
4 2
Gli altri parametri seguono con delle semplici operazioni:
a − a 23
e1 = 32
4e0
a13 − a31
e2 =
4e0
a 21 − a12
e3 =
4e0
π
C’è una situazione che mette in crisi queste formule, cioè quando θ = π per cui cos = 0 e in questi casi ci sono delle
2
formule alternative che troviamo nei capitoli accennati in precedenza. Tuttavia non ci sarà mai una situazione di indeterminazione
nel risalire dalla matrice di rotazione ai parametri di Eulero.
Negli angoli di Eulero invece il problema si pone ed è quasi insolubile, se θ = 0 oppure θ = π non riusciamo più a risalire agli
altri angoli di eulero e questo è un problema e crea una soluzione di indeterminatezza che non favorisce l’uso degli angoli di
Eulero. Si potrebbe pensare di utilizzare un’altra convenzione al posto di x,y,z ma questo problema si presenta costantemente.

VEDERE IL SEGUENTE VIDEO CORRELATO AGLI ANGOLI DI EULERO: EULER (GIMBAL LOCK) EXPLAINED

PER ALCUNE APPLICAZIONI I QUATERNIONI SONO MOLTO PIÙ EFFICIENTI DEI PARAMETRI DI EULERO.

SOLIDWORKS UTILIZZA UNA DESCRIZIONE MATEMATICA CON I PARAMETRI DI EULERO ANCHE SE POI CI
MOSTRA GLI ANGOLI DI EULERO. AD ESEMPIO SUI PARAMETRI SI RIESCE AD INTERPOLARE, COSA CHE NON
È POSSIBILE FARE SUGLI ANGOLI.

AD ESEMPIO NEI CARTONI ANIMATI SI UTILIZZANO DUE FOTOGRAMMI CHIAVE PER INTERPOLARLI
CREANDONE UNO INTERMEDIO PER AUMENTARE IL FRAME RATE (SI CERCA SEMPRE DI AVERLO SOPRA I 30
FPS PER VEDERE IMMAGINI FLUIDE).

52
SETTIMANA 5

BIOPROTESI
Parte Prof. Pennestrì

Settimana 5

Figure 2.1-24. IMU Gimbal Assembly

53
SETTIMANA 5

Indice settimana 5
Indice settimana 5 2
giovedì 22 ottobre 2020 3
Cinematica dei moti in nitesimi 3
Velocità angolare 3
Classi cazione degli atti di moto 4
Velocità di un punto 7
Derivata temporale della matrice di trasformazione [A] 7
Derivata seconda della matrice di trasformazione [A] 8
Derivata di vettori espressi in diversi sistemi di riferimento 8
Derivate degli angoli di Eulero 9
Velocità e derivate parametri di Euelro 10
Integrabilità 10
Proprietà additiva 10
Accelerazioni angolari 13
Analisi delle velocità 13
Spostamenti e rotazioni virtuali 13
venerdì 23 ottobre 2020 14
Teorema del Mozzi 15
Cinematica del corpo rigido da cinematica dei punti 17

54
fi
fi
SETTIMANA 5
giovedì 22 ottobre 2020

CONTROLLARE I FILE PER DIVERSI DOCUMENTI DA LEGGERE

RITORNEREMO PIÙ AVANTI SUL DISCORSO DEI MOTI FINITI. PER ORA CI SIAMO LIMITATI A DEFINIRE I PARAMETRI NECESSARI A DEFINIRE I MOTI.

Passiamo a trattare i moti in nitesimi:

Cinematica dei moti in nitesimi

Ci concentreremo sul concetto di velocità angolare.


Nonostante il nome di velocità non si ottiene derivando un vettore e che tra le varie proprietà una delle più importanti è quella di
non essere integrabile (a meno di particolari considerazioni).

Velocità angolare
Ammettiamo che il nostro corpo sia rappresentato dal piano in gura che si appoggia all’asse h ⃗ e ci
ruota intorno di un angolo θ. Scegliamo, arbitrariamente, un verso positivo per l’asse e per l’angolo,
tipicamente l’angolo si considera positivo se ha senso antiorario rispetto ad un osservatore posto dalla
parte di h ⃗.


Diremo modulo velocità angolare del corpo la derivata ω (1) =
dt
dθ ⃗ · ⃗
Mentre il vettore velocità angolare è de nito come segue : ω ⃗ = h =θh
dt

quindi il vettore OP ⃗che ruota di un angolo θ intorno l’asse


Ci rifacciamo al caso utilizzato nel trattare l’eq di Rodrigues,
h ⃗. Questo vettore R ⃗ lo
proiettiamo su un piano ortogonale all’asse di rotazione. Poi andiamo a proiettare OP ⃗
su questo piano ottenendo R (t)⃗ che dopo un tempo Δt si sarà portato in
R ⃗ (t + Δt). Essendo il sistema rigido il modulo di questo vettore rimane costante.
Sicuramente posso dire che: OP ⃗ = OS ⃗ + SP ⃗ = z h ⃗ + R .⃗
Se r ⃗ = OP ⃗
Per determinare la velocità derivo rispetto al tempo il vettore posizione ovvero ne
d r⃗ r ⃗ (t + Δt) − r ⃗ (t)
calcolo il limite del rapporto incrementale: v⃗= = lim =
dt Δt
R ⃗ (t + Δt) − R (t)

Δt→0

= lim
Δt→0 Δt

dR⃗
La di erenza non è altro che Δ R ⃗ e allora v⃗= .
dt
Tenuto conto che abbiamo ΔR = Δθ R
ΔR ⃗
= θ h ⃗ × R ⃗ = ω ⃗ × R ,⃗ questo prodotto vettoriale lo possiamo giusti care
v ⃗ = lim
·
E dell’equazione di prima (1) si ha

osservando la gura dove Δ R ⃗ ha come verso il verso del prodotto vettoriale tra h ⃗ ed SP ⃗. Cioè possiamo dire che il vettore
Δt→0 Δt

velocità è proprio v ⃗ = ω ⃗ × R .⃗ Una delle più importanti equazioni della cinematica dei corpi rigidi.

55
ff
fi
fi
fi
fi
fi
fi
SETTIMANA 5
Il termine atto di moto designa un movimento che avviene istantaneamente.

Questo signi ca che ho un vettore R ⃗ che derivato rispetto al tempo il risultato è un prodotto vettoriale, della velocità angolare del
corpo su cui si trova il vettore per il vettore stesso.
Posso particolarizzare nel caso dei versori ottenendo le famose relazioni di Poisson:
di ⃗
= ω⃗ × i⃗
dt
dj⃗
= ω⃗ × j⃗
dt
dk⃗
= ω⃗ × k ⃗
dt
Un’altra importante relazione è quella che lega le velocità di due punti appartenenti

OM ⃗ come la somma di
allo stesso corpo rigido. Si parte dal corpo rigido e sia O1 che M appartengono al

Oo1 ⃗ con o1M ⃗, cioè OM ⃗ = Oo1 ⃗ + o1M ⃗


corpo. Individuati i due vettori posizione posso considerare

d OM ⃗ d Oo1 ⃗ d o1M ⃗
Volendone la derivata derivo la somma.

⃗ =
vM = +
dt dt dt

d Oo1 ⃗
Essendo:

v o⃗ 1 =
dt

d o1M ⃗
= ω ⃗ × o1M ⃗
dt

Quindi questo diventa: ⃗ = v o⃗ 1 + ω ⃗ × o1M ,⃗ cioè lega le velocità assolute di due punti appartenenti allo stesso corpo
vM
rigido, il secondo termine è spesso indicato come la velocità relativa di M rispetto o1.

Classificazione degli atti di moto


Consideriamo un punto Q che giace su un asse h avente la medesima direzione della velocità angolare e A un generico punto

⃗ + ω × QA⃗
che non appartiene ad h.
Tra A e Q sussiste la seguente relazione v A⃗ = v Q

A seconda delle relazione possiamo classi care:


1. ω ⃗ = 0, v Q⃗ ≠ 0, l’atto di moto è traslatorio, tutti i punti posseggono la medesima velocità e possono tracciare traiettorie
anche curvilinee
2. ω ⃗ ≠ 0, v Q ⃗ ≠ 0 e ω ⃗ ⋅ v A⃗ = 0, l’atto di moto è rotatorio, se l’orientamento del versore h ⃗ è variabile nel tempo l’atto di
moto sarà rotatorio sferico.
3. ω ⃗ ≠ 0, v Q ⃗ ≠ 0 e ω ⃗ × v Q⃗ ≠ 0 ω ⃗ ≠ 0, v Q⃗ ≠ 0 e ω ⃗ × v Q⃗ ≠ 0, l’atto di moto è elicoidale.

Cioè per un moto traslatorio se i punti A e Q posseggono la stessa velocità si ha che ω = 0.


Per un moto rotatorio, individuati il punto A e omega si ha che ω ⃗ ⋅ v A⃗ = 0, cioè tutte le velocità sono ortogonali all’asse di
rotazione.

56
fi
fi
SETTIMANA 5
Il più generale è il moto elicoidale.

DIMOSTREREMO LE STESSE RELAZIONI MA CON UN APPROCCIO MATRICIALE CHE CI AIUTA AD ENTRARE IN ARGOMENTO.

Consideriamo una rotazione di un angolo in nitesimo del corpo intorno un asso, sia quest’angolo Δθ → 0, cioè è ragionevole
assumere:
cos Δθ ≈ 1
sin Δθ ≈ Δθ

Consideriamo tre rotazioni attorno gli assi:


Δθ1 intorno a x, Δθ2 intorno a y e Δθ3 intorno a z.

1 0 0
Allora la matrice sarà A1 = 0 cos Δθ1 −sin Δθ1 ma
0 sin Δθ1 cos Δθ1
essendo gli angoli in nitesimi potremmo dire che
1 0 0
[A1 (Δθ1)] =
0 1 −Δθ1
0 Δθ1 1

Questo discorso vale anche per le altre matrici di rotazione su gli


altri due assi, cioè
1 0 Δθ2
[A2 (Δθ2)] = 0 1 0
−Δθ2 0 1
1 −Δθ3 0
[A3 (Δθ3)] = Δθ3 1 0
0 0 1

Essendo interessato alla rotazione risultante devo moltiplicare le matrici. Per i moti in nitesimi è indi erente se pre o post
moltiplichiamo.

57
fi
fi
fi
ff
SETTIMANA 5
Se premoltiplichiamo:
1 −Δθ3 + Δθ1Δθ2 Δθ1Δθ3 + Δθ2
[A (Δθ )] = [A1 (Δθ1)] [A2 (Δθ2)] [A3 (Δθ3)] = Δθ3 1 + Δθ1Δθ2Δθ3 −Δθ1 + Δθ2Δθ3 , compaiono degli
−Δθ2 +Δθ1 1
in nitesimi di ordine superiore che possiamo eliminare.
1 −Δθ3 Δθ2
E alla ne rimane la matrice di trasformazione risultante [A (Δθ )] = Δθ3 1 −Δθ1
−Δθ2 Δθ1 1

Utilizzando un altro ordine di moltiplicazione il risultato sarebbe stato sempre lo stesso e questa matrice A, proprio perchè sto
trattando moti in nitesimi, non dipende dall’ordine di moltiplicazione delle matrici.
Si osservi che c’è una certa somiglianza con la matrice di rotazione antisimmetrica, non è un caso.

⃗ dopo una rotazione Δθ, cioè:


Posso applicare la matrice per determinare la posizione del versore i m
{im (t + Δt)} = [A (Δθ )] {im(t)}
Calcolandone il limite del rapporto incrementale (in quanto sono sempre interessato alla velocità) si ottiene
Δ i m⃗ i m⃗ (t + Δt) − i m⃗ (t) [A (Δθ )] − [I ]
Δt→0 { Δt } Δt→0 { } Δt→0
lim = lim = lim {im(t)}
Δt Δt
d
Cioè gli elementi sulla diagonale diventano zero e ho {r} = [ω̃]{r}
dt
0 −ωz ωy
Con [ω̃] indico la matrice antisimmetrica associata al vettore ω ,⃗ cioè [ω̃] = ωz 0 −ωx
−ωy ωx 0
Situazione analoga a:

Osservazione:
Non sia può calcolare la quantità Δθ3 moltiplicando per Δt la quantità ωz
Cioè ωz per l’intervallo di tempo non restituisce l’angolo Δθ3 ma ωz è solo la componente di ω ⃗ su z.
Qualcuno lo fa ma solitamente è ben consapevole di violare delle regole dell’analisi.

Cioè abbiamo visto come la derivata del vettore r ⃗ non è altro che il prodotto matriciale tra il vettore antisimmetrico [ω̃] e il vettore
r ⃗ stesso. Ci siamo arrivati ragionando sulle matrici di rotazione.

58
fi
fi
fi
SETTIMANA 5
Velocità di un punto
Finora non ci siamo curati del sistema di riferimento e quando si tratta di vettori bisogna speci care il sistema di riferimento in cui
sono espresse le componenti del vettore.
Sono riportate la relazione che abbiamo appena dedotto {0 v} = [0ω̃] {0r} (17) con l’apice sinistro ”0” che rappresenta il
sistema di riferimento inerziale intendendo che tutti i vettori sono tutti espressi nel riferimento assoluto.
Oppure posso esprimere questa relazione con tutti i vettori espressi nel riferimento locale, quello mobile associo al corpo
{ v} = [ ω̃] { r} (18)
i i i

Se vado a considerare le relazioni di trasformazione tra vettori nel rifermento locale e quelli espressi nel riferimento assoluto
{ v} = [i A] { v}
0 0 i

{ r} = [i A] { r}
0 0 i

E vado a sostituire nella (17), viene fuori la seguente relazione [0i A] {i v} = [0ω̃] [0i A] {ir}
Dalla quale si ottiene {i v} = [0i A] [ ω̃] [0i A] {ir}, la relazione tra la matrice antisimmetrica associata alla velocità angolare
T 0

espressa nel riferimento assoluto alla velocità angolare espressa nel riferimento locale.

Dal confronto tra {i v} = [iω̃] {ir} e {i v} = [0i A] [0ω̃] [0i A] {ir}


T

Seguono proprio le relazioni:


[ ω̃] = [i A] [ ω̃] [i A]
i 0 T
0 0

Considerando le proprietà di ortogonalità delle matrici di trasformazione si arriva anche a


[ ω̃] = [i A] [ ω̃] [i A]
0 0 i 0 T

Derivata temporale della matrice di trasformazione [A]


Partiamo dalla relazione di trasformazione delle componenti di un vettore dal riferimento locale a quello assoluto
{ s} = [i A] { s} (26)
0 0 i
·
E derivando il prodotto si ha {0s·} = [0i A] {is} + [0i A] {is·}
Ma se le componenti del vettore {i s} · che rappresenta la distanza tra l’origine del riferimento mobile e un generico punto S di un
corpo rigido cui il suddetto riferimento è associato, si può dire che {is·} = {0} e allora la precedente relazione si sempli ca e
rimane:
0 ·
{ s} = [i A] { s}
0· i

Relazione che ci consente di calcolare le componenti del vettore velocità di S nel riferimento inerziale.

d s⃗
Ses ⃗ è un vettore posizione possiamo derivarlo e = ω ⃗ × s⃗
dt
Oppure in notazione matricole {0s·} = [0ω̃] {0s} (30), immaginando che tutte le componenti siano espresse nel riferimento
assoluto.

Possiamo allora confrontare questa relazione con quella di prima che hanno un membro uguale, per cui sostituendo la (26) nella
·
(30) otteniamo {0s·} = [0ω̃] {0s} = [0ω̃] [0i A] {is} e dal confronto con quest’ultima {0s·} = [0i A] {i s} si ha:
0 ·
[i A] = [ ω̃] [i A] (31), la derivata della matrice di trasformazione in funzione del prodotto della matrice antisimmetrica e matrice
0 0

di trasformazione.
Posso avvalermi delle proprietà della matrice di trasformazione e calcolare la matrice antisimmetrica in funzione della derivata,
·
ovvero [0ω̃] = [0i A] [0i A] (32)
T

·
Si può anche esprimere come riferimento locale [0i A]= [0i A] [iω̃] (33) (in questo caso basta postmoltiplicare) e basta ricordarsi
·
della relazione [0ω̃] = [0i A] [0i A] ⟷ [iω̃] = [0i A] [0ω̃] [0i A].
T T

·
Si ottiene allora anche: [iω̃] = [0i A] [0i A] (34)
T

Esistono quindi due modi per esprimere la derivata della matrice di trasformazione, uno che fa riferimento alla matrice
antisimmetrica della velocità angolare espressa nel riferimento assoluto e un altro che fa riferimento alla matrice antisimmetrica del
vettore velocità angolare ma del riferimento locale.

Dal punto di vista mnemonico nel primo caso si premoltiplica mentre nel secondo si postmoltiplica.

59
fi
fi
SETTIMANA 5
Cioè riassumendo le relazioni notevoli dedotte:

AD ESEMPIO SE VOLESSIMO DEDURRE LE VELOCITÀ ANGOLARI DI UN BRACCIO ROBOTICO TIPICAMENTE ABBIAMO LE MATRICI DI TRASFORMAZIONE CHE VALGONO PER LE
POSIZIONI MA POI PER TROVARE LE VELOCITÀ ANDIAMO A DERIVARE LE MATRICI DI TRASFORMAZIONE. PER LE 3X3 ABBIAMO VISTO COSA SUCCEDE MENTRE PER MATRICI
4X4 SI PUÒ FARE UN DISCORSO PIÙ RAFFINATO CHE VEDREMO PIÙ AVANTI.

Derivata seconda della matrice di trasformazione [A]


·· ·
Per dedurre un’espressione algebrica della A si comincia ricordando la relazione (31), cioè [0i A] = [0ω̃] [0i A]
[d ω̃]
0
Si pone [α̃] =
dt
E, derivando la precedente rispetto al tempo otteniamo
d 0
([ ω̃] [i A]) + [i ω̃] [i A] = [ α̃ ] [i A] + [ ω̃] [ ω̃] [i A] (41)
0 ·· 0 ·
[i A ] =
0 0 0 0 0 0 0
dt

Derivata di vettori espressi in diversi sistemi di riferimento


Quanto detto può essere generalizzato considerando due sistemi di riferimento a e b che sono chiaramente solidali a due corpi
di erenti . Partiamo dalla relazione tra le componenti del vettore espresso nei due sistemi {ar} = [ ab A] {br}(42)
d a · d b
E derivando rispetto al tempo { r} = [ ab A] {br} + [ ab A] { r}
dt dt
Questa formula dedotta semplicemente richiede l’utilizzo del risultato precedente relativo alla derivata della matrice di
trasformazione di b rispetto ad a che andiamo esprimere in funzione della velocità relativa tra a e b, cioè
d a d b
{ r} = [aω̃b] [ ab A] {br} + [ ab A] { r}
dt dt
dove con questa notazione si intende che [aω̃b]è la velocità angolare del corpo b espressa nel riferimento solidale con a.

Cioè le derivate di vettori r espresse in sitemi di riferimento queste sono legate da un’espressione del tipo
d a d b
{ r} = [aω̃b] {ar} + [ ab A] { r}
dt dt
Derivando in sistemi di riferimento diversi bisogna stare attenti.

AD ESEMPI CON UN BRACCIO ROBOTICO IN SISTEMI DI RIFERIMENTO SOLIDALI TRATTO PER TRATTO POSSO APPLICARE QUESTA EQUAZIONE IN MODO RICORSIVO FINCHÉ
NON ARRIVO AL RIFERIMENTO FISSO.

È opportuno tenere sempre presente che le componenti della velocità angolare ωx , ωy e ωz non posso essere integrate.
Viceversa è possibile integrare le derivate degli angoli di Eulero o dei parametri di Eulero.

60
ff
SETTIMANA 5
Derivate degli angoli di Eulero
È utile disporre di una relazione tra le componenti della velocità angolare espresse nel riferimento locale, vettore {iω}, e le
· θ, ϕ· ·
derivate ψ,

Abbiamo ottenuto ma matrice di trasformazione andando a premoltiplicare le tre rotazioni intorno gli assi del riferito mobile
[0 A] = [ 2 A] [1 A] [0 A] (43) con ψ intorno a z, θ intorno a x e poi nuovamente ϕ intorno z, cioè con la convenzione
i i 2 1

Z X Z o 313.

Considerando le tre rotazioni in nitesime e quindi con angoli in nitesimi si vede come si vanno a sommare tre velocità angolare:
0 · 0
θ
{ ω} = [ 2 A] [1 A] [ 2 A] 0
i i 2 i
0 + 0 + (44)
ψ· ·
0 ϕ

Ma devo sommare componenti tutte nello stesso riferimento quindi devo trasformare i vettori dalla posizione in cui sono espressi
alla posizione i-esima.
La somma di queste tre fornisce il vettore velocità angolare espresso nel riferimento locale.

SVILUPPARE PER ESERCIZIO IL PRODOTTO

sin θ sin ϕ cos ϕ 0 ψ·


·
Sviluppando il prodotto, ottengo { ω} = sin θ cos ϕ −sin ϕ 0
i
θ (45), cioè conoscendo le derivate degli angoli di
·
cos θ 0 1 ϕ
Euelro ottengo la matrice che fornisce le componenti della velocità angolare.

Posso anche fare il discorso opposto e calcolare le derivate degli angoli di Eulero conoscendo la velocità angolare nel riferimento
ψ· sin ϕ cos ϕ 0
· 1
{ ω} (46)
i
locale: θ = cos ϕ sin θ −sin ϕ cos θ 0
· sin θ
ϕ −sin ϕ cos θ −cos ϕ cos θ sin θ

1
Si vede come con con θ = 0 compare il discorso del gimbal lock.
sin θ
Per eliminare questa situazione si utilizzano i parametri di Eulero e le loro derivate.

Conoscendo la relazione {0ω} = [0i A] {iω} (47)


Posso trasformare ulteriormente le precedenti relazioni e calcolare la matrice che trasforma le derivate degli angoli di eulero nel
0 cos ψ sin θ sin ψ ψ·
·
vettore rotazione angolare nel riferimento assoluto { ω} = 0 sin ψ −sin θ cos ψ
0
θ (48)
·
1 0 cos θ ϕ
sin ψ cos ψ
ψ· − tan θ tan θ
0
· 1
E vale un discorso analogo per il passaggio opposto θ = cos ψ sin ψ 0 {0ω}(49)
· sin θ
ϕ sin ψ cos ψ
− sin θ 0
sin θ
con il solito problema (gimbal-lock) per θ =π

0 · 0
θ
Si osservi come l’equazione (44) { ω} i
= [ 2 A] [1 A]
i 2
0 + [ 2 A]
i
0 + 0 è la somma di tre rotazione in nitesime,
ψ· ·
0 ϕ
cioè la rotazione di tre atti di moto intorno gli assi x, y e z. Mentre il terzo era già espresso nella rotazione nale per gli altri due
siamo stati costretti a trasformare dalla posizione intermedia (da posizione 2 a i-esima nel secondo termine e da 1 a 2, poi da 2 a i
nel primo termine).

61
fi
fi
fi
fi
SETTIMANA 5
Velocità e derivate parametri di Euelro
ACCENNEREMO MA SENZA DIMOSTRARE, LE DIMOSTRAZIONI LE TROVEREMO A PG 43 DEL LIBRO “CINEMATICA E DINAMICA DEI SISTEMI MULTIBODY”.
Sia {p} ≡ {e0 e1 e2 e3}
Il tutto su gioca nella fattorizzazione della matrice [A] in due matrici [A]
= [E ] [G ]
T

· · · T
Derivando rispetto al tempo si vede (dopo molti passaggi) come [A] = [E ] [G ] + [E ] [G ]
T

· ·
E quindi [A] = 2 [E ] [G ]
T

Cioè seguono una serie di uguaglianza


· T
] {p} = − [E ] [E ]
[E˜
·
[ ω̃] = 2 [E ] [E ]
0 T

∴ [0ω̃] = 2[E˜
] {p· }
SI VEDANO PG 44 E 46 (NON È OBBLIGATORIO)

Quindi la velocità angolare nel riferimento assoluto {0ω}


= 2 [E ] {p· }
O in modo analogo nel riferimento locale {iω} = 2 [G ] {p· }

Integrabilità
Si inizia con ricordare che il di erenziale d z = A d x + B d y (52) è integrabile (di erenziale esatto) solo se è veri cata
∂A ∂B
l’uguaglianza = (53).
∂y ∂x
Andiamo allora ad applicarla a questa relazione tra velocità angolare e derivate degli angoli di Eulero
ωx sin θ sin ϕ cos ϕ 0 ψ·
ωy ·
= sin θ cos ϕ −sin ϕ 0 = θ
ωz ·
cos θ 0 1 ϕ
∂ sin ϕ sin θ ∂ cos ϕ
Cioè ωx dt = sin ϕ sin θ d ψ + cos ϕd θ e si vede che non è integrabile in quanto ≠
∂θ ∂ψ
Allora non è un di erenziale esatto e il vettore velocità angolare non può essere integrato.

Come si fa allora a conoscere come varia l’assetto di un veicolo? Bisogna passare dagli angoli di Euelro.
Si trovano gli angoli di Eulero e dalle loro derivate si possono si determinare le rotazioni in nitesime mentre dalla velocità
angolare assolutamente no.
Si possono integrare e derivare gli angoli di euelro ma non la velocità angolare.

Proprietà additiva
I vettori velocità angolare possono essere sommati. Si osserva che con le accelerazioni angolari questo non è possibile tranne
che nei moti piani.
LA DIMOSTRAZIONE SI TROVA SUL TESTO DI RIFERIMENTO.
Considerano tutti vettori nello stesso sistema di riferimento. Quindi consideriamo quella del corpo j, del corpo i e assoluta di j
rispetto a i.

Il caso tipico lo ritrovo nella sospensione giroscopica o


sospensione cardanica dove sono presenti tre assi e la
rapidità con cui ruota intorno l’asse z da l’angolo ψ, e gli altri
due danno θ e ϕ.
Esistono vari modi per raccogliere questi moti come encoder
(molto più precisi), resistenze rotative, ecc e raccolti questi
segnali elettrici proporzionali alla rapidità con cui gli angoli
cambiano si può risalire alle velocità angolari e alle
componenti delle velocità angolari relative potendole
sommare, tutte nello stesso riferimento:

62
ff
ff
ff
fi
fi
SETTIMANA 5

Si osservi che il corpo 3 è il cilindro (rotore), il corpo 2 è il telaio interno mentre il corpo 1 è il
telaio esterno. Il telaio vero è proprio è dove è collegata la sospensione cardanica. Va tutto
bene nché l’angolo θ ≠ 0 dove si ha il fenomeno del gimbal-lock e non si ottiene nessun
dato.

Questo è il famoso problema nel lm Apollo 13 in cui un astronauta ad un certo punto dice che
c’è un problema proprio con il giroscopio. La navicella deve seguire una certa traiettoria ma
non si può usare una bussola ma per avere un sistema di riferimento è necessario avere un
giroscopio (nient'altro che una sospensione cardiaca) e una delle preoccupazioni è che questo
vada in blocco nel caso in l’angolo va a zero e non si riescono più ad avere dati a dabili
sull’orientamento del veicolo.
Con i parametri di Eulero si risolve questo problema.
63
fi
fi
ffi
SETTIMANA 5
ACQUISTARE UN GIROSCOPIO ELETTRONICO! GENERALMENTE HANNO DUE OPZIONI PER L’USCITA ANGOLI O PARAMETRI DI EUELRO MA GENERALMENTE NON INDICANO
LA CONVENZIONE UTILIZZATA.

Esistono anche alte convenzioni che troviamo sia sul testo che sul report nasa nei documenti.

Unità giroscopica di una navicella spaziale

64
SETTIMANA 5
Accelerazioni angolari
C’è una relazione tra le accelerazioni angolari nei diversi sistemi di riferimento ma devo sommare anche un termine quadratico.
d 0 d0 d 0
{ j} {ωi} +
dt i { ji}
[ A] ω
i
Questo si giusti ca derivando la (54) ω =
dt dt
Ovvero {0αj} = {0αi} + [0i A] {iαji} + [0ω̃i] [0i A] {iωji} (55).

Analisi delle velocità


Abbiamo un punto P che appartiene ad un corpo rigido che ha un sistema di riferimento
solidale Oi − x yz
I vettori posizione solo legati da {0rP} = {0rOi} + [0i A] {isP}
E derivando
{ rP} = { rOi} + [0 A] { sP} = { rOi} + [ ω̃] [i A] { sP} = { rOi} + [ ω̃] { sP}
0· 0· i · i 0· 0 0 i 0· 0 0

··
Ricordiamo che [0o A ] = [0α̃ ] [0i A] + [0ω̃] [0ω̃] [0i A]
Allora:
{ r P} = { r Oi} + [i A ] { sP} = { r O1} + [ α̃ ] [i A] { sP} + [ ω̃] [ ω̃] [i A] { sP} (59)
0 ·· 0 ·· 0 ·· i 0 ·· 0 0 i 0 0 0 i

Dove abbiamo accelerazione di trascinamento, componente tangenziale dell’accelerazione relativa e componente normale
dell’accelerazione relativa e la loro somma da l’accelerazione assoluta del punto P.

Spostamenti e rotazioni virtuali


È su ciente cambiare il concetto di velocità con spostamento virtuale e l’argomento
rimane lo stesso.

Originariamente Lagrange lo aveva chiamato principio delle velocità virtuali


La scorsa settimana una casa editrice Cambridge University Press ha inviato al
professore un testo di meccanica applicata in cui c’era un capito dedicato al principio
dei lavori virtuali e lo chiamava principio delle potenze virtuali. Ancora più importante è
il fatto che parlavano di “virtuale” senza averne capito il senso.
Il termine “virtuale” implica che sia in nitesimo e compatibile con i vincoli del sistema.
Ne facevano di erenza tra vincoli bilaterali e unilaterali. Ne spiegavano perchè le forze
interne non compiono lavoro.

Il principio dei lavori virtuali vale per un sistema di corpi e da una condizione necessaria e su ciente a nché un sistema di
corpi sia in equilibrio
Se i vincoli sono bilaterali e perfetti (senza attrito) allora la condizione necessaria e suf ciente per l’equilibrio è che il
lavoro virtuale delle forze esterne sia uguale a zero.
Il lavoro virtuale è il lavoro compiuto da una forza in corrispondenza ad uno spostamento virtuale.
Uno spostamento virtuale è uno spostamento compatibile con i vincoli del sistema.

NON È UN TEOREMA MA UN PRINCIPIO

65
ffi
ff
fi
fi
fi
ffi
ffi
SETTIMANA 5
venerdì 23 ottobre 2020

Abbiamo visto come parlare di spostamenti o velocità virtuali è sostanzialmente la


stessa cosa.
{ rP} = { r} + [i A] { sP}
0 0 0 i

Di erenziamo questa relazione


{ δrP} = { δr} + [i δ A] { sP}
0 0 0 i

Il simbolo “δ” ricorda che questo è un di erenziale particolare proprio per gli
spostamenti virtuali.
Il primo termine rappresenta lo spostamento virtuale dell’origine.

Partendo dalle matrici già introdotte


−e1 e0 −e3 e2
[E ] = −e2 e3 e0 −e1
−e3 −e2 e1 e0
−e1 e0 e3 −e2
[G ] = −e 2 −e 3 e0 e1
−e3 e2 −e1 e0
(Si osservi che la prima colonna è uguale mentre il secondo blocco è una sorta di matrice antisimmetrica con e0 in diagonale).

Ricordiamo anche che il loro prodotto ci restituisce la matrice [A] = [E ] [G ] (63).


T

Ai ni pratici è opportuno disporre di una relazione che leghi [0i δ A] al vettore {δp} della variazione in nitesima dei parametri di
Euelro.
·
Posto [0i δ A] = [0i A] dt (64)
Ed introdotto il vettore {δπ} il vettore della rotazione in nitesimo le componenti di tale vettore nel riferimento sso e locale risultano
rispettivamente:
{ δπ} = { ω} dt = 2 [i E ] {δp} (65a)
0 0 0

{ δπ} = { ω} dt = 2 [i G ] {δp} (65b)


i i 0

Queste quantità ci serviranno per impostare le equazioni della dinamica Multibody applicando il principio dei lavori virtuali in 3D e ci
serviranno gli spostamenti angolari virtuali per calcolare le rotazioni virtuali e questi sono rappresentati da questi due vettori.

·
e· 0 − 2θ sin θ

{{e}· }=
Allora ricordiamo le uguaglianze {p· } =
2
· (74) in cui possiamo derivare rispetto al
·
{u}sin
θ
+
θ θ
cos 2 {u}
2 2
tempo il vettore dei parametri di Eulero
E per ottenere {0 ω} possiamo moltiplicare [0i E ] {p· }, cioè
· ·

( ) 2( )
· = − 2 {e} − [ẽ ] − e [I ] p· = θ· sin2 θ {u} + 2 [ẽ ] sin θ {u}
· + θ cos θ {u} = 2 cos θ {u}sin θ θ θ
{ } [i ] { } [ ]{ }
0
ω = 2 0
E p · + cos {u}
0
2 2 2 2 2 2 2
· θ
Cioè {0ω} = θ {u} + 2 sin2 [ũ ] {u} · + sin θ {u} ·
2
Dove compare la derivata dell’angolo di rotazione e la derivata del versore dell’asse di rotazione.
·
E allora {0ω} = θ {u} + (1 − cos θ ) [ũ ] {u} · + sin θ {u} · (75)
Dove le componenti del versore {u} sono da intendersi espresse nel riferimento inerziale.
66
ff
fi
ff
fi
fi
fi
SETTIMANA 5
Teorema del Mozzi
Il moto più generale di un corpo è il moto elicoidale ma dobbiamo de nire l’asse del moto elicoidale.

Vedremo prima il teorema e poi alcune modalità per de nire quest’asse.

Partiamo dalla relazione fondamentale della cinematica {vP}


= {vO} + [ω̃] {rP − rO} (76)
Dove P e O sonoO due punti del corpo e ω è la velocità angolare mentre [ω̃] la matrice antisimmetrica. I vettori rP{rP} ed
{rO} sono i vettori posizione.

Partiamo da un sistema piano e ci chiediamo se esiste un punto P0 la cui velocità sia nulla ,ovvero {0 vP
O}
=0
Sostituisco questa relazione nella relazione generale {0 vO} + [0ω̃] {0rP −0 rO} = {0}, dove il vettore{0rP0} è la quantità
O
incognita.
Ovvero mettendo in evidenza, {0rP
O}
= {0rO} − [0ω̃] { vO} (77)
−1 0

È funzione del vettore arbitrario più il prodotto dell’inversa di [ω̃] con l’altro vettore.

Allora considero la matrice antisimmetrica associata al vettore velocità angolare


1
· 0
[ ] [·
θ 0]
·
0 −θ
[ ω̃]
0 0 −1 θ
ω̃ = = 1
− · 0
θ

r d 0
XPO + r
{ YPo }
Ox dθ O y
Dopo alcuni passaggi si ottiene = d 0
r
Oy − r
dθ Ox
Si osservi che in realtà questo sistema è un sistema lineare che quindi se la matrice dei coe cienti è non singolare avrà un’unica
·
soluzione, quindi se θ ≠ 0, cioè il corpo non sta traslando, posso determinare il punto a velocità nulla.

{yPO}
XPO xPO
{YPO}
Cioè = {0rO} + [0i A] (78)

[ sin θ cos θ ]
cos θ −sin θ
Dove [0i A] =
Quest’equazione rappresenta l’equazione parametrica cartesiana della polare ssa, cioè il luogo dei punto del piano sso che
sono occupati dal punto P0.
Possiamo anche determinare la polare mobile, cioè il luogo dei punti del piano mobile che diventeranno centri di istantanea
rotazione. Prendo la relazione di trasformazione e vado a determinare
d 0rOx d 0rO y
XPO sin θ − cos θ
{ rPO} = { yPO }
i dθ dθ
= (79).
d 0rOx d 0rO y

cos θ − dθ
sin θ

AD ESEMPIO, NELLA PROGETTAZIONE DI PROTESI DI GINOCCHIO SI FA IN MODO CHE IL MECCANISMO DI PROTESI RIPRODUCA LE POLARI DEL MOTO CHE SI RIESCONO A
MISURARE NEL GINOCCHIO FISIOLOGICO ANCHE SE IL MOTO TRA TIBIA E GINOCCHIO È UN MOTO ROTATIVO MA IL CENTRO DI INSTANTANEA ROTAZIONE NON RIMANE
COSTANTE. AD ESEMPIO FAR RIFERIMENTO AL FILE “FREUDENSTEIN_1969_KINEMATICS_OF_HUMAN_JOINT” DOVE SI VEDE L’ANDAMENTO DELLE POLARI DETERMINATO
SPERIMENTALMENTE E SI CERCA DI UTILIZZARE UN QUADRILATERO ARTICOLATO O ALTRI MECCANISMI PER RIPRODURRE QUESTO ANDAMENTO.

Quindi la polare ssa è il luogo dei punti del piano sso occupati dal centro di instantanea rotazione mentre la polare mobile è il
luogo dei punti del piano mobile che svolgeranno il ruolo di centro di instantanea rotazione. Si tenga a mente che stiamo
ragionando nel piano e quindi il centro di istantanea rotazione non è altro che la traccia su un piano della giacitura dell’asse di
rotazione che ottengo se vado a considerare il corpo nella sua tridimensionalità e i punti a velocità nulla sono un’in nità (allineati a
formare l’asse di instantanea rotazione). Se il moto non è rotatorio ma traslatorio o elicoidale allora l’asse di rotazione NON esiste.

A nché esista un punto P0 a velocità nulla deve essere rispettata la condizione {0ω} {0 vO} = 0 (80) cioè le velocità dei punti
T

del corpo devono essere tutte ortogonali al vettore velocità angolare, allora ci sarà un atto di moto rotatorio e diremo che esiste un
punto a velocità nulla (sarà un punto per un moto piano e un asse per un moto tridimensionale).

67
ffi
fi
fi
fi
fi
fi
ffi
fi
fi
SETTIMANA 5
Andiamo a considerare una situazione diversa, ovvero un punto E sull’asse del vettore
velocità angolare.
il vettore velocità angolare è libero e quindi potrei prenderne un qualsiasi altro vettore
parallelo e prenderne un qualunque punto su questa direzione tuttavia cerchiamo i
punti E la cui velocità è parallela al vettore velocità angolare.

Qui sto cercando quei punti E la cui velocità è parallela al vettore velocità angolare.
In gura sono indicate anche le velocità di due punti qualsiasi A e B che posso
scomporre in una componente parallela alla direzione dell’asse della velocità angolare
indicate con il simbolo || e in una componete ortogonale, individuata proiettando il
vettore su un piano ortogonale al vettore velocità angolare ω .⃗

È importante osservare che la componente delle velocità sull’asse della velocità angolare sono tutte uguali tra loro, questo viene
fuori direttamente dell’equazione fondamentale della cinematica.

Vediamo come impostare la determinazione del punto E e a questo scopo considero un punto O arbitrario di posizione r O
⃗ e

velocità v O
Appartenendo al corpo mobile sia E che O le loro velocità sono legate dalla relazione
{vE} = {vO} + [ω̃] {vE − rO} = c {ω}
Per cui cerco un vettore proporzionale al vettore omega, con c quantità scalare non nulla.

Cioè [ω̃]({vO} + [ω̃] {vE − rO} − c {ω}) = 0

Moltiplico ambo i membri per il vettore velocità omega ( il termine omega quadro si elide).

Si osservi che il prodotto matriciale [ω̃] ([ω̃] {rE − rO}) equivale in notazione vettoriale a

( )
ω⃗ × ω ⃗ ( r E⃗ − R O⃗ ) = ω ⃗ × ( r E⃗ − r O⃗ ) ⋅ ω ⃗ − ω 2 ( r E⃗ − r O⃗ ), dove il primo termine è nullo (per l’ortogonalità tra il primo
termine del prodotto scalare (a sua volta ortogonale a ω) e ω).
[ω̃] {vO}
Tenendo conto da questo risultato otteniamo {rE − rO} = (81)
ω2
Cioè ottengo le coordinate di E in funzione del punto arbitrario O, della sua velocità e delle componenti della velocità angolare.
ωy vOz − ωz vOy
xE = xO +
ω2
ωz vOx − ωx vOz
yE = yO +
ω2
ωx vOy − ωy vOx
zE = zO +
ω2
Cioè per individuare un punto con velocità parallela la vettore velocità angolare necessito di tre cose:
- Posizione di un punto arbitrario
- Velocità di un punto arbitrario
- Velocità angolare

Dimostrato che sappiamo calcolare la posizione del punto E con le proprietà viste possiamo dimostrare che se esiste questo
punto con questo caratteristiche ne esistono un numero in nito. Infatti se prendo un punto S che ha velocità parallela all’asse del
moto elicoidale sarà {vS} = k {ω} = {vE} + [ω̃] {rS − RE} (82)
Dove {vE} = c {ω}
Per il il vettore {rS − rE} sarà parallelo a {ω}

In conclusione, il teorema del Mozzi ha il seguente enunciato:


In un atto di moto rigido esiste sempre ed è unico un asse i cui punti hanno velocità parallela all’asse stesso. In generale
dunque un atto di moto può considerarsi come una combinazione di una traslazione lungo l’asse (caratterizzata dalla velocità
dei punti sull’asse) e da una rotazione intorno l’asse stesso, cioè equivale ad un moto istantaneo elicoidale.

È quindi vero che posso sempre trasformare un moto tridimensionale nella somma di un moto rotatorio e traslatorio e posso farlo
in in niti modi ma esiste un unico modo per farlo in modo che la traslazione avvenga lungo la direzione del vettore velocità
angolare.
Si chiama moto elicoidale proprio per questo.
68
fi
fi
fi
SETTIMANA 5

Ricordando il teorema di Poinsot.


Sappiamo che un sistema di forze può essere ridotto.
Sappiamo che due sistemi di dicono equivalenti quando hanno la stessa risultante e lo stesso momento risultante.
Ma se ho un sistema di forze quanti sono i sistemi di forze equivalenti? Sono in niti, perchè quando calcoliamo il momento
risultante possiamo scegliere un punto qualsiasi in quanto non speci chiamo il punto rispetto al quale calcolare i momenti e quindi
p chiaro che ne esistono in niti.
Ma ne esiste solo uno equivalente rispetto al quale la risultante delle forze e dei momenti sono allineate. Questo è il teorema di
Poinsot.
Stiamo facendo un discorso statico e si vede quindi un parallelismo tra cinematica e statica: per la statica ragioniamo su forze e
momenti mentre per la cinematica ragioniamo sulla velocità e sulle velocità angolari e in particolare abbiamo visto che in un atto di
moto rigido possiamo individuare una serie di punti allineati la cui velocità è parallela al vettore velocità angolare che individuano
l’asse del moto elicoidale. Questa cosa fa il paio con il caso statico per cui si possono ridurre le forze andando a calcolare i
momenti lungo un asse in maniera tale da avere la risultante dei momenti parallela alla forza risultante quindi c’è un parallelismo e
questo parallelismo fa si che sono state introdotte delle strutture matematiche chiamate screw o torsori e quindi c’è il torsore
delle forze e il torsore delle velocità dove il torsore delle forze è composto da forza a momento tra loro paralleli mentre il torsore
delle velocità è composto dalla velocità angolare e dalla velocità di un punto.

Quindi conoscendo il torsore delle velocità siamo in grado di individuare la velocità di qualsiasi punto di un corpo, cioè avrei sia ω⃗
{ω}
che v E⃗ in un unico vettore di 6 componenti _ _ _ che individua completamente il campo di velocità in un corpo rigido.
{vE}

É opportuno osservare che i punti sull’asse del moto in nitesimo elicoidale sono quelli che posseggono la velocità con modulo
= {vE} {vE} (84)
T
minimo (rispetto tutti gli altri punti del corpo rigido). Infatti, introdotta la funzione Φ

Per dimostrarlo calcoliamo questa norma e calandone il gradiente imponiamo sua nullo:
∂ {vE}
[ ∂ {rE} ]
∂Φ
Allora =2 {vE} = 0 (85)
∂ {rE}
Per cui tenendo conto che è {vE} − {vO} = [ω̃] {rE − rO} (86)
Avremo [ω̃] {0 vE} = 0 (87)
Cioè abbiamo dimostrato come tutti i punti sull’asse elicoidale hanno velocità minime e che sono parallele al vettore velocità
angolare del corpo medesimo.

Altre proprietà notevoli:


1. Sono uguali tra loro le proiezioni delle velocità dei punti di un corpo rigido sull’asse del moto elicoidale.
2. La di erenza tra le velocità di due punti del corpo rigido è ortogonale all’asse del moto elicoidale
3. Se è nulla la proiezione di un generico vettore velocità nella direzione della velocità angolare, l’atto di moto sarà una rotazione
istantanea
4. Se sono identiche le velocità di tre punti A, B e C non allineati allora l’atto di moto sarà traslatorio.

Cinematica del corpo rigido da cinematica dei punti


IN QUESTI ANNI SI È SVILUPPATA LA BRANCA DELL’ANALISI COMPUTERIZZATA DEL MOTO DEL CORPO UMANO CHE SPAZIA IN VARI SETTORI DAL SETTORE MEDICO A QUELLO
SPORTIVO. CIOÈ CERCARE DI ANALIZZARE CON LE IMMAGINI VELOCITÀ E POSIZIONI DI PUNTI DEL CORPO PER CARATTERIZZARE IL MOTO DI ATLETI E/O PAZIENTI. QUINDI
FACCIAMO UN’ANALISI NON SOLO QUALITATIVA MA QUANTITATIVA DEL MOTO.
PIÙ RECENTEMENTE QUESTO È STATO APPLICATO NEI FILM DI ANIMAZIONE DOVE DEI PUPAZZI COMPIONO DEI MOTI PERFETTAMENTE ANTROPOMORFI E VIENE SFRUTTATO
IL MOTION TRACKING CON DEI TRACKER SU PUNTI NOTEVOLI MA C’È SEMPRE UNA LETTURA E ANALISI CINEMATICA.

Prima però partiamo dal seguente problema e immaginiamo di conoscere le componenti di velocità di tre punti non allineati (nella
realtà si utilizzano più punti per avere una ridondanza di informazione per controllare gli errori):

{Pi} = {Pix Pi y Piz}


· · · · T
(i = 1, 2, 3)
Si inizia introducendo le seguenti quantità:
1
{P } (88a)
3∑ i
Vettore baricentro: {G} =
· 1 ·
Velocità: {G} {Pi}
3∑
=
Poiché G è un punto del corpo possono stabilire, con la relazione fondamentale della cinematica, le tre relazioni vettoriali:
· ·
{Pi} = {G} + [ω̃] {GPi} i = 1, 2, 3

69
ff
fi
fi
fi
fi
SETTIMANA 5
E da qui posso introdurre le seguenti matrici :
GP1x GP2 x GP3x
[Q] = GP1x y GP2y GP3y (90)
GP1z GP2z GP3z
· · · · · ·
P1x − Gx P2 x − Gx P3x − Gx
· · · · · · ·
[Q] = P1y − Gy P2y − Gy P3y − Gy (91)
· · · · · ·
P1z − Gz P2z − Gz P3z − Gz

·
Legate dalla relazione [Q] = [ω̃] [Q]

Quindi il nostro scopo è determinare ω⃗


a11 a12 a13
Allora considerando una generica matrice [A] = a 21 a 22 a 23 introduciamo i due operatori vect [A] e tr [A] che
a31 a32 a33
svolgono le seguenti operazioni:
a32 − a 23
1
vect [A] = a13 − a31 (93), cioè che restituisce un vettore de nito a partire dagli elementi di A con queste sottrazioni.
2 a 21 − a12
tr [A] = a11 + a 22 + a33 (94)

1
Allora si può dimostrare che se [ω̃] è antisimmetrica sussiste vect ([ω̃][A]) = [tr(A)[I ] − [A]] vect [ω̃] (95)
· 2
vect ai due termini di [Q] = − [Q] [ω̃] (96)
E quindi vado ad applicare
−2ωx

2( ( ) )
1
vect ([Q]) = − vect ([Q] [ω̃]) =
·
tr [Q] − [I ] −2ωy
−2ωz

E allora posto q = tr [Q] (97)


1
[V ] = [q [I ] − Q] (98)
2

Si ottiene [V ] {ω} = vect [Q] (99) cioè abbiamo un sistema di equazioni di incognita ω .⃗
·

[ω̃] {P1}
Il vettore posizione di un punto R sull’asse del moto elicoidale discende dalla (81) ovvero {R} = {P1} + (100)
· · ω2
Mentre la sua velocità vale {R} = {P1} + [ω̃] {P1R} (101)

Quindi, utilizzando questa procedura, siamo in grado di descrivere l’asse del moto elicoidale a partire dalla velocità di tre
punti: si trova prima la velocità angolare e poi applichiamo le seguenti relazioni (viste prima) per calcolare un punto sull’asse del
moto elicoidale.

SI FACCIA L’ESERCIZIO A PAGINA 106.

70
fi
SETTIMANA 5
I sistemi di motion capture si basano sul monitorare di tracker.

Un tesista del professore, Alessandro Timmi, ha sviluppato un sistema


per il tracciamento dei movimenti sportivi nel Karate sviluppando un
primo sistema di analisi del movimento in Matlab per poi sviluppare
Virtual Sensei.

Il sistema sfrutta il calcolo dell’energia cinetica e delle proprietà inerziali


con i dati analizzati da telecamere ad alti fps (100 Hz).

Si è visto poi come gli atleti migliori sono quelli che sviluppano
un’energia cinetica maggiore.

71
SETTIMANA 5

72
SETTIMANA 6

BIOPROTESI
Parte Prof. Pennestrì

Settimana 6

Geometry principle for spherical cage centering

73
SETTIMANA 6

Indice settimana 6
Indice settimana 6 2
giovedì 29 ottobre 2020 3
Estensione 3D teorema di Aronhold-Kennedy 3
Applicazioni 6
Composizione di atti di moto attorno ad assi sghembi 6
Libri ECCELLENTI sulla trasmissione: 11
venerdì 30 ottobre 2020 13
Applicazioni numeriche 15
Ricevimento: possiamo ssarlo o alla ne della lezione del venerdì. 20

74
fi
fi
SETTIMANA 6
giovedì 29 ottobre 2020

Accelerometro giroscopico. Collegabile tramite Bluetooth o tramite cavo con orientamento x,y,z

A ronteremo l’estensione del teorema di Aronhold-Kennedy allo spazio.

Estensione 3D teorema di Aronhold-Kennedy


Se abbiamo tre corpi i centri di istantanea rotazione dei 3 corpi devono essere allineati.

Per dimostrato si prende un centro di istantanee rotazione ad esempio Pij e si esprimono le velocità una volta considerandolo
apparente ad un corpo e un’altra appartenente all’altro. iv P⃗ ij = j v P⃗ ij
⃗ × Pik Pij ⃗ = ω jk⃗ × Pjk Pij ⃗ e allora a nché sia valida devono essere
Poi esprimiamo le velocità come prodotti vettoriali: ω ik
allineati.

CHIAMATO ANCHE TEOREMA DEI TRE CENTRI.


IL TEOREMA È PERÒ DI KENNEDY POICHÉ KENNEDY SCRISSE UN INTERO LIBRO INTERAMENTE DEDICATO ALL’APPLICAZIONE DI QUESTO TEOREMA ALL’ANALISI CINEMATICA
DEI MECCANISMI. TUTTAVIA IL VERO SCOPRITORE È ARONHOLD.

Questo si applica al caso piano mentre nel caso tridimensionale non è più vero che gli assi delle velocità angolari relative sono
perpendicolari al piano e parallele tra loro.

Se però parliamo di corpi che non si muovono nel piano vediamo cosa succede:

75
ff
ffi
SETTIMANA 6
In gura un corpo 1 su cui sono incernierati (coppie cilindriche) altri due corpi 2 e 3.
Conosco quindi l’asse del moto elicoidale relativo del corpo 2 rispetto a 1 z12 e quindi il torsore del moto relativo S12 è diretto
verso z1, quindi c’è il sistema x1 y1z1.
Poi la seconda coppia cilindrica collega il corpo 1 (tramite il perno) al corpo 3 e quindi l’asse del moto elicoidale relativo tra corpo
3 e corpo 1 è z3 e posso individuare un sistema di assi x3 y3 z3 sempre destrorso.

Si ipotizzi di associare ai corpi i riferimenti cartesiani cosi come disposti nella gura.
Si individuano gli angoli θ13 e la minima distanza d13 tra gli assi delle coppie cilindriche.

Siano allora 1P2 ≡ {x1 y1 z1} e 3P3 ≡ {x3 y3 z3}


T T

I punti dei due corpi che giacciono sull’asse del moto elicoidale relativo la cui posizione per il momento è incognita.

Sappiamo gli assi dei moti relativi sono S12 e S13 ma vogliamo calcolare dove si trova l’asse del moto elicoidale relativo di 2
rispetto a 3. Inoltre P2 e P3 devono appartenere a questo asse.

È evidente che se ho due assi posso sempre trovare una retta su cui questi assi si appoggiano e misuro la minima distanza.
Andremo a dimostrare come l’asse del moto relativo di 2 rispetto a 3 anche lui si appoggia alla retta di minima distanza tra gli assi
S12 e S13 e quindi alla ne se ho tre corpi soggetti ad un moto relativo gli assi dei moti elicoidali si appoggiano tutti alla stessa
retta. Se i corpi hanno tutti lo stesso moto pianoS12, S13 e S23 sono paralleli ma dimostreremo come anche nel caso in cui non
sono paralleli gli assi dei moti elicoidali si appoggiano tutti alla stessa retta.

Dobbiamo quindi mostrare che l’asse del moto elicoidale si appoggia alla retta di minima distanza.
Indichiamo quindi con P2 e P3 due punti coincidenti appartenenti a quest’asse del moto relativo e quindi consideriamo il punto 2
appartenente al corpo 2 e il punto 3 appartenente al corpo 3 e applichiamo la legge dei moti relativi per calcolarne la velocità
assoluta
0 0 −ω12 0 x1
{ vP2} = { 0 } + ω12 { z1 }
1
0 0 y1 , quindi la velocità assoluta del punto P2
v12 0 0 0
considerato appartenente al corpo 2 espressa nel riferimento 1

0 0 −ω13 0 x3
{ vP3} =
3
0 + ω13 0 0 y3 , la velocità del punto P3, sovrapposto, ma
v13 0 0 0 z3
considerato appartenente al corpo 3
È lo stesso discorso che facciamo con due punti a contatto che consideriamo istantaneamente sovrapposti.

76
fi
fi
fi
SETTIMANA 6
Esprimiamo P2 come appartenente al corpo 2 e esprimiamo la velocità nel riferimento x1 y1z1 cioè la velocità di trascinamento del
moto lungo l’asse cilindrico del corpo 2 (velocità del punto 2 sull’asse del moto elicoidale), ω12 è la velocità angolare del corpo 2
per la distanza.
Stessa cosa l’abbiamo fatta per il punto 3 considerato appartenente al corpo 3.

Questi vettori sono espressi in due riferimenti e per calcolare la di erenza dobbiamo trasformare il secondo vettore nel riferimento
1, cioè il vettore velocità relativa: {1vP P } = {1vP2} − [13 A] {3vP3}
2 3
Questo sarà diretto proprio come S23.

cos θ13 0 −sin θ13


Con la matrice di trasformazione [ 13 A] = 0 1 0
sin θ13 0 cos θ13

Sappiamo che se ho una velocità e questa ha modulo minimo questa deve rappresentare l’asse del moto relativo.

Poi vado a imporre che la velocità sia minima cioè calcolo il modulo e derivo rispetto x1,y1 e z1
v P⃗ 2 P3 v P⃗ 2 P3 v P⃗ 2 P3
2 2 2
∂ ∂ ∂
= 0, = 0, = 0 (109)
∂x1 ∂y1 ∂z1
ottenendo 3 equazioni nelle tre incognite x1, y1 e z1:
v P⃗ 2 P3
2

= [ω13 (x1 cos θ13 − z1 sin θ13) − ω12 x1] (ω13 cos θ13 − ω12) = 0
∂x1
v P⃗ 2 P3
2

= [−ω13 (d13 + y1) + ω12 y1 cos θ13 + v12 sin θ13] (ω12 cos θ13 − ω13+ ) + (v13 + ω12 y1 sin θ13 − v12 cos θ13) ω12 sin θ13 = 0
∂y1
v P⃗ 2 P3
2

= [ω13 (x1 cos θ13 − z1 sin θ13) − ω12 x1] (ω13 cos θ13 − ω12) = 0
∂z1

x3 x1 0

{z }
y3 [1 A] y1 +
3 d13 , dove d13 è la distanza orientata
Dovrò però tenere conto della trasformazione di coordinate =
z3 1 0
tra O3O1 da considerarsi positiva quando diretta lungo l’asse di y3

Purtroppo due equazioni sono identiche e questo signi ca che ho 2 equazioni indipendenti in 3 incognite e quindi ho in nite
(∞ ) soluzioni e cioè esistono in nti punti con le caratteristiche richieste, quindi sono in niti i punti con le velocità relative minime
1

La soluzione che si ottiene con parametro z1


ω13 sin θ13
x1 = z (110a)
ω12 − ω13 cos θ13 1
2
−ω13 d13 + ω12 ω13d13 cos θ13 + sin θ13 (ω13v12 − ω12 v12)
y1 = (110b)
ω13
2 + 2ω ω cos θ + ω 2
12 13 13 12

Quindi la conclusione è che in realtà tutti questi punti sono tutti allineati e questo conferma che
Estensione 3D del teorema di Aronhold-Kennedy
L’asse del torsore S23 associato al moto elicoidale del corpo 2 rispetto al copro 3 coincide con la retta di intersezione dei piani di
equazione (110) ed interseca ortogonalmente la retta di minima distanza tra S12 e S13.

Questo teorema è stato scoperto anche piuttosto recentemente. Negli anni 50 c’è stata anche della polemica poiché sembra
questo teorema fosse stato enunciato da due Australiani Philips e Hunt (?) tuttavia sembrerebbe che il teorema si trovava nella tesi
di dottorato di un americano Joseph Becks il quale aveva fatto la tesi in Germania ad Hannover.

Può essere anche annunciato come: gli assi dei torsori cinematici degli atti di moto relativi tra tre corpi rigidi si appoggiano
perpendicolarmente ad una stessa retta.

77
fi
fi
ff
fi
fi
SETTIMANA 6

Applicazioni
Composizione di atti di moto attorno ad assi sghembi
Si osservi come ammesso di avere due atti di moto rotatorio intorno a due assi sghembi generalmente il risultato non sarà una
rotazione ma un moto elicoidale.
Cioè la somma di due rotazioni, attorno ad assi sghembi, non è una rotazione ma un atto di moto elicoidale.

Considero un punto M appartenente all’asse a1 cioè vM⃗ 1 è la velocità del punto M (che si trova sulla retta di minima distanza tra
⃗ 2 è la velocità in virtù della rotazione intorno l’asse a 2.
due assi) e v M

Essendo interessato alla composizione dei moti, la velocità per punto M sarà ⃗ 1+ vM
vM ⃗ 2e vM
⃗ si dovrà trovare
necessariamente su un piano ortogonale alla retta di minima distanza. Se vado a proiettare su questo piano ortogonale i vettori
velocità angolare posso sommare i due vettori (ultimo disegno in basso). Ragionando sul parallelogramma (si ricordi che M è un
punto della retta di minima distanza) possiamo dire che il campo vettoriale di velocità del moto risultante verrà caratterizzato tramite
i seguenti:
- Velocità angolare ω ⃗ = ω 1⃗ + ω 2⃗

⃗ = ω ⃗ 1 × A1M ⃗ + ω 2⃗ × A2 M ⃗ = v M
- Posizione del rispettivo asse del moto risultante
- Velocità v M ⃗ + vM
1
⃗ (113), di un punto M dell’asse.
2
Allora questo posso tradurlo nelle due seguenti relazioni:

- Gli angoli γ1 e γ2 che l’asse del moto risultante forma con a1 e a 2 discendono dalle relazioni:
- γ1 + γ2 = γ (114a)
ω1 ω2
- sin γ = sin γ (114b)
2 1
⃗ × ω ⃗ = 0 ovvero
⃗ ⃗
- La condizione di appartenenza di M all’asse del moto elicoidale risultante conduce alla relazione v M
( ω 1⃗ + ω 2⃗ ) × ( ω 1⃗ × A1M + ω 2⃗ × A2 M ) = 0

Dove le prime due vengono fuori dal teorema dei seni applicato al triangolo in gura mentre l’altra relazione risulta dal fatto che ω si
appoggia alla retta di minima distanza e dovrà essere parallelo a v M ⃗ quindi il prodotto vettoriale sarà nullo. Questo perchè le
velocità dei punti sull’asse del moto elicoidale sono parallele alla velocità angolare ed M è un punto sull’asse del moto elicoidale.

78
fi
SETTIMANA 6
Posso allora sviluppare le condizioni:
A1M tan γ2
=− (115a)
A2 M tan γ1

Da utilizzare unitamente alla A1 M + M A2 = d (115b) dove d è la minima distanza tra a1 e a2,


cioè con incognita la posizione M.

Allora questo sistema in due incognite ci permette di trovare A1 M e A2 M trovando la posizione di


M, quindi dell’asse del moto elicoidale, ω lo conosco e posso calcolare v M ⃗ quindi caratterizzare
completamente l’atto di moto.
Quindi trovo la posizione dell’asse del moto elicoidale e alla ne riesco a caratterizzare l’atto del
moto risultante.

Questa è una proprietà importante soprattutto nelle applicazioni della trasmissione del moto tra assi
sghembi attraverso ruote dentate, e questa dimostrazione è quello che si utilizza per le ruote
elicoidi.
Cioè nelle ruote dentate si cerca di trovare delle super ci per trasmettere il moto tra questi due
assi, un problema classico di costruzioni di macchine. Ruote elicoidi

Un’altra applicazione di questa teoria la si trova nel caso di scelta tra dispositivi per trasmettere il moto tra i quali troviamo cinghie,
ruote dentate e giunti.
Tra le proprietà dei giunti si trova che devono essere omocinetici (o quasi omocinetici) e questa teoria ci aiuta a capire quando la
trasmissione tra gli assi è omocinetica.
SI TENGA A MENTE CHE IN ALCUNI COLLOQUI TECNICI MOSTRANO UN GIUNTO E CHIEDONO SE È OMOCINETICO O MENO.

Un giunto di trasmissione è un apparato che trasmette il moto tra due assi generalmente sghembi, si immagini ad esempio l’albero
motore e le ruote e bisogna garantire che siano omocinetici altrimenti se fossero a velocità variabile questo non ci piace poiché
implica accelerazioni angolari e oscillazioni torsionali che quindi implicano rumore e fatica che è sempre meglio evitarli.

Per giudicare la condizione di omocinecità richiamiamo la relazione γ2 + γ2 = γ (4a)


ω1 ω2
(con γ quantità costante) e applicando il teorema dei seni = (4b)
sin γ2 sin γ1
Quindi la condizione di omocinecità è che γ1 = γ 2 cioè l’asse del moto relativo dei
corpi si deve trovare allineato con la bisettrice degli assi, cioè ω deve bisecare
l’angolo formato tra ω 1⃗ e ω 2⃗
Quindi se voglio trasmettere il moto omocineticamente tra due assi l’asse del moto
relativo dei moti attorno questi assi dvorà essere parallelo alla bisettrice degli assi
stessi <— condizione di omocinecità.

Si immagini in realtà di comporre ω 1⃗ e − ω 2⃗ per cui si parla dell’asse del moto


relativo ( e non dell’asse del moto composto).
Cioè considerando la gura si imagini di voler trasmettere il moto da ω 1⃗ a ω 2⃗ e
allora devo far in modo che l’asse del moto ω r⃗ bisechi l’angolo tra ω 1⃗ e ω 2⃗ .
In gura si vede il piano omocinetico e devo far in modo oche il vettore velocità
relativa appartenga a questo piano che biseca gli assi a1 e a 2.

Nel giunto Rzeppa ci sono due parti (una sfera piena e una sfera cava) su cui sono
scavate delle scanalature, cioè delle piste.
Sulle piste ci sono delle sfere e vogliamo che il centro della sfera si mantenga nel piano
omocinetico in maniera tale che il moto relativo appartenga al piano omocinetico. Se
questa condizione è rispettata avremmo la trasmissione omocinetica.
Le sfere a loro volta sono tenute insieme da una gabbia inserita tra i due elementi. C’è
quinti un giunto Rzeppa a 6 sfere e questo giunto consente agli assi a cui sono collegati
questi due elementi di avere un moto relativo angolare tra loro, i due assi possono
assumere un angolo qualsiasi anche se tipicamente l’angolo massimo è nell’ordine dei 30°.
Questo serve soprattutto per trasmettere tra l’asse motore e la ruota che cambia

79
fi
fi
fi
fi
SETTIMANA 6

Giunto RZeppa

angolazione.
Per far in modo che le velocità angolare si mantengano costanti consideriamo i due assi e la traccia del piano omocinetico si vede
che qualsiasi posizione assuma l’asse a1 il piano omocinetico deve sempre bisecare l’angolo.

Se il sistema cambia il piano si deve sempre mantenere nel piano che biseca i due assi.

Possiamo individuare il triangolo o ABC’ e se è isoscele quindi AB=AC’ gli angoli alla base sono sempre uguali e la somma di due
angoli è uguale all’angolo esterno non adiacente.

Per ottenere questo e etto i centri delle super ci sferiche dell’elemento interno e di quello esterno del giunto si trovano nei punti C
e B e il centro del giunto invece è A e le distanze AC e AB sono uguali.
Quindi quando C si muove e si porta in C’ il centro della sfera si muoverà sempre sul piano omocinetico e questa è la condizione

che fa si che il giunto Rzeppa sia un giunto esattamente omocinetico.

80
ff
fi
SETTIMANA 6
VEDI NEL READING MATERIALS:
Articolo di Review sulle varie tipologie di giunti RZeppa con le piste
rettilinee incrociate. Guardando un giunto Rzeppa si vede come le
forze si trasmettono con le sfere e maggiore è il numero delle sfere
maggiore sarà la potenza in grado di trasmettere attualmente.

Con macchine con elevate prestazioni 300cv in su necessitano di


giunti particolari e attualmente la migliore tecnologia per questi giunti
è stata sviluppata da ingegneri dell’audi negli anni 70 che
inventarono i giunti Rzeppa a tracce rettilinee incrociate e riuscivano
ad avere anche 12 sfere e quindi a trasmettere potenze molto
elevate.

Nell’articolo si analizza come errori di costruzione vanno ad incidere


sulla cinematica del giunto.

La valutazione di queste situazioni in fase di progetto è molto


importante anche perchè variazioni di velocità

81
SETTIMANA 6
Tra i le c’è anche un altro lavoro di revisione del primo giunto Rzeppa che si vede non essere esattamente omocinetico.

Il professo ha iniziato con uno studio su un giunto tripode per conto di un


azienda (GKN) per risolvere un problema con una serie di alfa 33 dove il
giunto andava in crisi e si rompeva. Quindi fu richiesta un’analisi dinamica.
Questo giunto non è omocinetico ma ogni giro introduce una frequenza del
terzo ordine.
Fu sviluppato un modello multibody 3D con un tesista:
Kinematic and Dynamic Analyses of the Tripode Joint

Giunto Tripode

Si osservò che il problema era legato all’angolo di lavoro troppo elevato.

Dal punto di vista accademico ci si occupa poco di giunti e se ne occupano molto di più le aziende.

Con i software multibody quando si simulano questi oggetti bisogna essere attenti a considerare i parametri corretti sia per le
dimensioni che per i materiali così come per l’integratore numerico utilizzato, non è a atto semplice e viene molto apprezzato dalle
aziende.

82
fi
ff
SETTIMANA 6

Libri ECCELLENTI sulla trasmissione:

Mentre per libri più moderni sui giunti:


“Joints and cardan shafts. Calculation, design, applications”

83
SETTIMANA 6

Abbiamo dimostrato il teorema del Mozzi per i moti in nitesimi mostrando come il moto più generale tridimensionale possa essere
ridotto ad un moto di rotazione intorno un asse e traslatorio intorno lo stesso asse ragionando però in termini di moti in nitesimi.

Si può però dimostrare che anche i moti niti possono essere ridotti a moti elicoidale e possiamo de nire un asse del moto
elicoidale anche ragionando su moti niti e non su atti di moti.

Abbiamo utilizzato una gura simile con il teorema di Eulero in cui abbiamo dimostrato che se abbiamo uno spostamento nito di
un corpo questo spostamento sferico poteva essere ridotto ad una rotazione attorno un asse passante per il centro del moto
sferico. In quel caso avevamo indicato con P1R1 la posizione iniziale del segmento mentre con P2 R2 quella nale ma le distanze
dei punti R e P dal centro si mantenevano costanti, trattando un moto sferico.

Qui a rontiamo un moto GENERALE e quindi l’ipotesi di costanza dei moduli P1R1 , P2 R2 viene meno.

Cioè l’unica cosa che possiamo scrivere sono le relazioni che descrivono gli spostamenti rigidi.
Cioè {p2} lo ottengo trasformando {p1} con una relazione che rappresenta il moto tridimensionale.
{p2} = [A] {p1} + {d}
{r2} = [A] {r1} + {d}
Essendo che {p} ed {r} appartengono allo stesso sistema rigido e utilizziamo la stessa matrice di rotazione e lo stesso vettore
traslazione. Rimane allora solo la condizione di rigidezza p2 − r2 = p1 − r1

C’è quindi una situazione leggermente diversa ed eliminando il vettore {d} dalla relazione rimane
{p2} = [A] {p1 − r1} + {r2} (1).
Adesso cerchiamo un asse del moto elicoidale:

Cioè ci chiediamo se esiste un asse del moto elicoidale per lo spostamento nito e se
esiste come faccio a determinarlo conoscendo posizione iniziale e nale oppure
conoscendo la matrice di trasformazione e lo spostamento d come faccio a determinare
gli spostamenti, la posizione dell’asse, l’angolo di rotazione del corpo? Lo spostamento
dei punti sull’asse sarà sempre minimo rispetto i moti di spostamento di altri punti?

La risposta è SI.

L’estensione del teorema di Mozzi al caso nito non è del tutto scontata.
SUL LIBRO DEL PROF. LA TROVIAMO MA SOLITAMENTE SI TROVA SOLO LA DIMOSTRAZIONE PER IL CASO
INFINITESIMO E RARAMENTE PER I MOTI FINITI.

ABBIAMO VISTO CINEMATICA DEI MOTI INFINITESIMI E DEI MOTI FINITI E VEDREMO COME DETERMINARE L’ASSE DEL
MOTO ELICOIDALE. POI FAREMO UN BACKGROUND SULL’ALGEBRA LINEARE NUMERICA (PROSSIMA SETTIMANA)
ESSENZIALMENTE SULLE FATTORIZZAZIONI CHE VEDREMO AVERE UNA VALENZA IN TANTI ALTRI SETTORI.

84
ff
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
SETTIMANA 6
venerdì 30 ottobre 2020

PER L’ACQUISIZIONE DI INFORMAZIONI SUL MOVIMENTO DEL CORPO UMANO POSSONO ESSERE SUFFICIENTI 30 HZ PER AZIONI NORMALE MI SPESSO SI DEVE ARRIVARE A
100 HZ PER GESTI SPORTIVI.

Abbiamo visto la geometria cui facciamo riferimento, con un corpo rappresentato


dal punto rigido di cui monitoriamo la posizione dei punti P ed R. Applichiamo le
formule relative agli spostamenti niti e abbiamo le due posizioni, di P ed R, alla ne
del moto nito:
{p2} = [A] {p1} + {d}
{r2} = [A] {r1} + {d}
Eliminando d:
{p2} = [A] {p1 − r1} + {r2} (1)
Stiamo quindi cercando un asse che appartiene al corpo rigido dove i punti sono
soggetti ad uno spostamento con la norma più bassa possibile.
Ragioniamo come i moti in nitesimi solo che questa volta ragioniamo su spostamenti niti.

Allora calciamo il vettore spostamento {p2} = [A] {p1 − r1} + {r2} (2)
E il vettore {Δp} = {p2} − {p1}, descrive lo spostamento nito di P per cui,

{Δp} = [A] {p2 − p1} + {r2} − {p1}


possiamo manipolare quest’espressione e scrivere
{Δp} = {r2} + [A − I ] {p1} − [A] {r1} (3)

Alla ne arriviamo al vettore {Δp} che descrivere lo spostamento nito di P :


{Δp} = {p2} − {p1} = [A] {p2 − p1} + {r2} − {p1} =
= {r2} + [A − I ] {p1} − [A] {r1} (4)

Quindi richiamiamo che la normale euclidea si minima (calcolando la norma euclidea come
il trasposto per se stesso) e ho una derivata di uno scalare rispetto un vettore e voglio sia nullo.
d {Δp} {Δp}
T

= {0}T
d {p1}

Sviluppo prima il prodotto vettoriale

{Δp} {Δp} = ((({r2} − [A] {r1}) + {p1} [A − I ] ) ⋅ ((({r2} − [A] {r1}) + [A − I ] {p1}) =
T T T T

= ({r2} − [A] {r1}) ({r2} − [A] {r1}) + {p1} [A − I ] ({r2} − [A] {r1}) + ({r2} − [A] {r1}) [A − I ] {p1} + {p1} [A − I ] [A − I ] {p1}
T T T T t T T

{Δp} {Δp} = {p1} [A − I ] [A − I ] {p1} + 2 ({r2} − [A]{r1}) [A − I ] {p1} + ({r2} − [A] {r1}) ({r2} − [A] {r1}) (6)
T T T T T

d {Δp} {Δp}
T

= 2 {p1} [A − I ] [A − I ] + 2 ({r2} − [A]{r1}) [A − I ] = {0}T(7)


T T T
Alla ne si arriva
d {p1}
Allora posiamo trovare il vettore spostamento minimo {Δp0} e posso riscrivere l’equazione (4) come
{r2} − [A] {r1} = {Δp0} − [A − I ] {p1} (8)
[A − I ] [A − I ] + ({Δp0} − [A − I ] {p1}) [A − I ] = {0}
T
Sostituendo poi nella (7), {p1}
T T T

{p1} [A − I ] [A − I ] + {Δp0} [A − I ] − {p1} [A − I ] [A − I ] = {0}


T T T T
T T

Cioè {Δp0} [A − I ] = {0}


T T

Questo risultato ci dice che il vettore con norma minima è allineato all’autovettore della matrice A quindi la direzione dell’asse del
moto elicoidale si determina esattamente come si determina l’asse del moto di rotazione nel moto sferico, cioè basta calcolare
l’autovettore della matrice A.
Attenzione che questa operazione non ci dice dove i trova ma ci fornisce solo la direzione dell’asse moto elicoidale.
85
fi
fi
fi
fi
fi
fi
fi
fi
fi
SETTIMANA 6
In de nitiva:
{Δp0} [A − I ] = {0} (9), il vettore {Δp0} di minimo spostamento dovrà essere parallelo all’asse u ⃗ di rotazione associato
T T

alla matrice [A] che descrive la variazione dell’orientamento del corpo in seguito al moto rigido finito.

Dobbiamo continuare e capire dove è posizionato nello spazio l’asse del moto elicoidale e indichiamo con {p0} il generico punto
dell’asse.
Sappiamo che {Δp} = {r2} + [A − I ] {p1} − [A] {r1} (10)

Moltiplicando ambo i membri per [A − I ] e posto {p1}


= {p0} segue che:
T

[A − I ] {Δp0} = [A − I ] [A − I ] {p0} − [A − I ] [A] {r1} = {0}


T T T

Alla ne arriviamo a [A − I ] [A − I ] {p0} = [A − I ] ([A] {r1} − {r2}) (11),


T T

che ci fornisce {p0} in funzioni delle posizioni iniziali e nali di un qualsiasi punto e della matrice [A].
Possiamo interpretare questa equazione come un sistema di equazioni lineari dove l’incognita è un vettore che contiene le
componenti cartesiane del vettore {p0}, il vettore posizione del punto sull’asse del moto elicoidale.

Si pone però un problema poichè la matrice dei coe cienti non ha rango pieno ma rango 2 e quindi non esiste un unico punto
{p0} ma in niti.
Ci troviamo quindi a dover risolvere un problema in modo tale da non incorrere in instabilità numerica e quindi tra tutte le in nite
soluzioni scegliamo quella che possiede la norma minima, quindi scegliamo le coordinate di {p0} in maniera tale che sia il più
vicino all’origine. Cioè scegliamo le coordinate dell’asse del moto elicoidale sotto la forma appartenente alla retta di equazione
parametrica: {m 0} = {p0} + k {u} (12), dove k è un numero e u ⃗ l’asse del moto elicoidale.

Sostituendo la (12) nella (11) risulta: [A − I ] [A − I ] {m 0} = [A − I ] ([A] {r1} − {r2}) − k [A − I ] [A − I ] {u}


T T T

E poiché [A] {u} = {u} si ha:


[A − I ] [A − I ] {m 0} = [A − I ] ([A] {r1} − {r2}) (13)
T T

Poi, indicando con_


- [H ] la matrice 2x3 ottenuta cancellando una riga di [A − I ] [A − I ]
T

- {c} il vettore 2x1 ottenuto eliminando la medesima riga da [A − I ] ([A] {r1} − {r2})
t

= [H ]T ([H ] [H ]T)
−1
Si avrà {p0} {c} (14)

Si risale allora a tutte le informazioni necessarie per de nire la posizione dell’asse del moto elicoidale.

86
fi
fi
fi
ffi
fi
fi
fi
SETTIMANA 6
Applicazioni numeriche
Immaginiamo la matrice A e il vettore spostamento per un generico moto rigido: {r2} = [A] {r1} + {d} (15)
1 2 1 2 1
2
+ 4 2
− 4 2

{d} = {1,0,1}T e [A] = 1



2 1
+
2 1
−2
2 4 2 4
2
− 12 1
2 2

Allora si determini:
- La direzione dell’asse del moto elicoidale
- Le coordinate {s0} del punto dell’asse suddetto più vicino all’origine del riferimento assoluto O − XYZ
- Il minimo valore dello spostamento Δs0 cui sono soggetti i punti del corpo
- La matrice [D] 4x4 che caratterizza il moto rigido

La prima cosa è da estrarre dalla matrice [A] i parametri di Eulero:

θ
E calcolare l’angolo di rotazione = arccos e0 e quindi l’asse del moto elicoidale
2
Devo quindi determinare la posizione dell’asse del moto elicoidale nello spazio e allora vado a calcolare la matrice:
(VEDI PG SEGUENTE)

87
SETTIMANA 6
Si vede che ha due righe uguali e devo eliminare una riga (elimino la 2) e ritrovo la matrice [H ] e del vettore {c} elimino la
rispettiva riga.

= [H ]T ([H ][H ]T)


−1
Applico poi la relazione di prima {p0} {c}
1.013553387
= [H ]T ([H ] [H ]T)
−1
E fornisce la soluzione {s0} {c} = −1.103443387 ,
−0.3535533898
ovvero la posizione del punto {s0} più vicino all’origine.

Esistono in niti modi per spostare un corpo rigido da una posizione ad un’altra. Tuttavia, appare conveniente descrivere un
generico spostamento nito nei termini elementari. Esiste un solo moto in cui l’asse di rotazione e lo spostamento sono paralleli.
Il teorema del Mozzi riduce un qualsivoglia moto una traslazione di modulo Δs0 parallelamente ad un asse la cui direzione è
de nita dal versore u ⃗ e ad una rotazione all’asse medesimo.

Molte volte ci sono vari modi per cercare di descrivere il moto elicoidale di un corpo. Considerando la gura seguente:

Spesso si è interessati a conoscere una matrice che de nisca il moto rigido in funzione di questi parametri.
Consideriamo quindi, solidale al corpo, un vettore di estremi s0 e a. Dopo lo spostamento tali estremi si porteranno in s1 e a1,
rispettivamente. Sia s0 che s1 apparterranno all’asse di rotazione del corpo e la distanza tra gli stessi sarà pari a Δs0.

Quindi abbiamo le coordinate di {s1} ovvero le coordinate di {s0} per e etto della traslazione e la rotazione del vettore {a − s}
u :⃗
intorno l’asse
{s1} = {s0} + Δso {u}
{a1 − s1} = [A] {a − s0}

Posso combinare le due relazioni e ottengono la posizione nale del punto a in funzione di quantità invarianti:
{a1} = [A] {a − s0} + {s1} = [A] {a − s0} + {s0} + Δs0 {u} = [A] {a} + {s0} − [A] {s0} + Δs0 {u}

Cioè {s0} è un punto qualsiasi dell’asse del moto elicoidale, [A] è la matrice che descrive la rotazione, Δs0 è lo spostamento
minimo del punto {s0} sull’asse del moto elicoidale e {u} il verso dell’asse del moto di rotazione.

88
fi
fi
fi
fi
fi
ff
fi
SETTIMANA 6
Quindi queste relazioni le posso combinare in un unico prodotto matriciale .
Posso scrivere i vettori come:
{a} = {ax a y az}T
{a1} = {a1x a1y a1z}
T

E considerando il seguente disegno e le coordinate dei punti a e a1, posso porre

[ 0 ]
[D] = [ ] { 0} [ ] { 0}
A s − A s + Δs0 {u}
(16), matrice 4x4.
1

a1x ax
a1y ay
Ovvero arrivare alla relazione:
a1z = [D] az (17)

1 1

Abbiamo visto come per caratterizzare uno spostamento rigido è necessario conoscere lo spostamento di tre punti non allineati
ma adesso dobbiamo essere espliciti e proporre un metodo che note le posizioni del corpo ci consenta di calcolare i parametri
del movimento, In particolare:
- Il versore {u} dell’asse del moto elicoidale
- Un punto {s0} dell’asse medesimo, l’angolo di rotazione ψ
- Il modulo Δs0 dello spostamento dei punti sull’asse u ⃗
- La matrice 4x4 [D] del moto elicoidale.

Siano quindi i vettori posizioni di {a}, {b}, {c} e {a1}, {b1}, {c1}i vettori degli stessi punti dopo che il corpo si è spostato,
di tre punti A, B e C.
Implicitamente sto facendo l’ipotesi che tra AB e AC e BC la distanza rimanga invariata altrimenti il moto non sarebbe rigido e le
relazioni utilizzate non sarebbero valide, è un’ipotesi molto forte che nella realtà l’ipotesi di rigidità viene meno.

Ci interessa però ragionare immaginando dei dati ideali perfetti, vedremo più avanti come ragionare con i dati a etti da errore.

IN INGEGNERIA TROVEREMO SEMPRE DEI DATI AFFETTI DA ERRORE E IL MIGLIOR MODO PER CONTRASTARE QUESTA SITUAZIONE È CERCARE DI AVERE TANTI DATI (ES IN
QUESTO CASO SI POTREBBE PENSARE DI AVERE 5-6 PUNTI). È VERO CHE AUMENTANO GLI ERRORI MA SE C’È UNA RIDONDANZA DELLA MISURA POSSO IMMAGINARE DI
APPLICARE TECNICHE MATEMATICHE PER CERCARE DI CONTRASTARE LE DEVIAZIONI DELLA MISURA DAL VALORE IDEALE.
QUESTO È UNO DEI MOTIVI PER CUI IL METODO DEI MINIMI QUADRATI FA IL SUO DOVERE.

Abbiamo quindi queste posizioni iniziale e nale di tre punti A, B e C e dobbiamo determinare tuto ciò che ci interessa.
Sicuramente valgono le 9 condizioni scalari:
{a1} = [A] {a 0} + {d} (20a)
{b1} = [A] {b0} + {d} (20b)
{c1} = [A] {c0} + {d} (20c)
89
fi
ff
SETTIMANA 6
Che risultano sovrabbondanti se si considera che sono necessari solo 6 parametri per de nire un moto rigido. Quindi ho già 3
equazioni in più. Questo perchè considerando l’ipotesi di rigidità i dati del problema dovranno soddisfare anche
{a1 − b1} {a1 − b1} = {a 0 − b0} {a 0 − b0}
T T

{c1 − b1} {c1 − b1} = {c0 − b0} {c0 − b0}


T T

{a1 − c1} {a1 − c1} = {a 0 − c0} {a 0 − c0}


T T

Utilizziamo la proprietà notevole dell’asse del mozzi: la proiezione di un qualsivoglia vettore spostamento sull’asse medesimo è pari
al vettore Δs0 {u}.

Quindi sviluppando i tre prodotti scalari si perviene al sistema

{a1 − a 0} {u} = Δs0


T

{b1 − b0} {u} = Δs0


T

{c1 − c0} {u} = Δs0


T

−1
ux Δax Δa y Δaz Δs0
La cui soluzione può porsi nella forma uy = Δbx Δby Δbz Δs0 (21)
uz Δcx Δcy Δcz Δs0
Dove si pone {Δa} = {a1 − a 0}, {Δb} = {b1 − b0}, {Δc} = {c1 − c0}

Attenzione che la matrice potrebbe essere singolare. In particolare i possibili casi sono:
- Se il moto è una traslazioni e quindi tutte le righe sono uguali
- Se l’asse u ⃗ del moto nito elicoidale è parallelo sia ad {a 0 − b0} che a {a1 − b1} (o relazione simile tra gli altri vettori) allora
saranno uguali la prima e la seconda riga
- Se risultano allineate le estremità dei vettori spostamento {a1 − a 0}, {b1 − b0}, {c1 − c0} (situazione che si registra
quando i tre punti A, B e C giacciono inizialmente si un piano parallelo all’asse u ,⃗ per cui {Δa}, {Δb}, {Δc} sono
linearmente indipendenti)

−1
ux Δax Δa y Δaz
1
{1}
Ammesso che il vettore esiste possiamo calcolare il vettore e risolvere il sistema uy = Δbx Δby Δbz 1 (22)
uz Δcx Δcy Δcz
con un vettore qualsiasi
{u}
E la soluzione può essere normalizzata in quanto siamo interessati al versore {u} = (23)
ux2 + u y2 + ux2
E poi andiamo a calcolare gli spostamenti di due vettori apparenti al corpo
{h1} = [ũ ] {a 0 − b0} (24a)
{h 2} = [ũ ] {a1 − b1} (24b)
{h1} {h 2}
T

Poi calcoliamo il prodotto scalare, normalizziamo e abbiamo il coseno dell’angolo di rotazione cos θ = (25)
h1 ⋅ h2
C’è un’indeterminazione legata al coseno e allora si esegue anche il prodotto vettoriale e quindi

[h1] {h 2}
˜
sin θ {u} = (26)
h1 ⋅ h2
Giusti cata dal fatto che la rotazione θ attorno ad u ⃗ porta il vettore {h1} a sovrapporsi ad {h 2}

Una volta che ho questi dati posso cloacale la matrice [A]con l’espressione
ux2Vθ + cθ ux u yVθ − uz sθ ux uzVθ + u y sθ
[A] = ux u yVθ + uz sθ u y2Vθ + cθ u yuzVθ − ux sθ (27)

ux uzVθ − u y sθ u yuzVθ + ux sθ uz2Vθ + cθ

90
fi
fi
fi
SETTIMANA 6

= [H ]T ([H ] [H ]T)
−1
E allora posso calcolare il punto dell’asse più vicino all’origine {s0} {c} (28),
dove [H ] è una matrice 2x3 e {c} un vettore 2x1 che discendono dalla [A − I ] [A − I ] e da
T

[A − I ] ([A]{a 0} − {a1}) eliminando la medesima riga.


T

[A] {s0} − [A] {s0} + Δs0 {u}


[{0}T ]
E ottengo facilmente la matrice [D] = (29)
1

Applicazione numerica

[Continua...]

91
SETTIMANA 6

Questo è un esempio costruito ad hoc dove tutto funzione ma con dati sperimentali questo procedimento non può essere
applicato poiché spesso la matrice risulta singolare e quindi si usa qualcosa di più robusto che vedremo meglio più avanti.

Ad esempio nell’analisi del movimento (motion capture), si collegano ad un segmento


articolare almeno tre marker spesso non allineati per far in modo che i dati non siano
indipendenti. I sistemi di analisi catturano le coordinate spaziali dei marker rispetto un
riferimento per poi stabilire la matrice di spostamento 4x4, l’asse del moto elicoidale e
varie informazioni.

Ad esempio quanto fatto nel progetto Virtual Sensei

Virtual Sensei e la nazionale italiana di Karate - meccanicaweb.it

NELLE PROSSIME LEZIONI VEDREMO L’ALGEBRA LINEARE NUMERICA E IN PARTICOLARE PARLEREMO DELLA FATTORIZZAZIONE DELLE MATRICI E L’APPLICAZIONE A TUTTA
UNA SERIE DI SITUAZIONI. PER NOI ING. MEDICI VEDREMO DELLE APPLICAZIONI PER L’ANALISI DEL CORPO UMANO.

Ricevimento: possiamo ssarlo o alla ne della lezione del venerdì.

92
fi
fi
SETTIMANA 7

BIOPROTESI
Parte Prof. Pennestrì

Settimana 7

93
SETTIMANA 7

Indice settimana 7
Indice settimana 7 2
giovedì 5 novembre 2020 3
Ortogonalizzazione di Gram-Schmidt 4
Algoritmo classico di Gram-Schmidt 4
Pseudocodici: 4
Decomposizione QR 5
Esempio numerico: 5
Decomposizione QR - Matrice rettangolare 6
Decomposizione SVD 7
Decomposizione QR tramite Matlab 10
Decomposizione SVD tramite Matlab 10
Metodo dei moltiplicatori di Lagrange 11
Esempio di applicazione 11
Soluzione sistemi equazioni lineari con il metodo minimi quadrati 12
Applicazione della decomposizione QR 13
giovedì 5 novembre 2020 14
Esercitazione MATLAB 14
Soluzione di sistemi di equazioni lineari sovrabbondanti con QR ed SDV 14
Ricevimento 18

94
SETTIMANA 7
giovedì 5 novembre 2020

Ci concentreremo su alcuni algoritmi dell’algebra lineare molto importanti in ingegneria. Già in diversi corsi abbiamo visto algoritmi
per risolvere sistemi di equazioni lineari occupandoci principalmente di sistemi quadrati e tralasciando sistemi di equazioni
sovrabbondanti in cui il numero delle equazioni è maggiore del numero delle variabili in cui la situazione si fa più delicata poiché
dobbiamo cercare delle strategie di risoluzione che ci assicurino un risultato ottimale, ovvero quello che minimizza la norma
quadratica dei residui dell’equazioni stesse.
C’è però anche il caso in cui il numero delle equazioni è inferiore a quello delle incognite ed esistono in nite soluzioni ma noi
siamo comunque interessati alla soluzione a norma minima.
Vedremo diversi metodi di soluzione di sistemi lineari sovrabbondanti e non.

QUESTI ARGOMENTI LI TROVEREMO IN UN’APPENDICE COMPLETAMENTE DEDICATA NEL LIBRO DI “CINEMATICA E DINAMICA DEI SISTEMI MULTIBODY”. QUALSIASI ALTRO
TESTO DI ALGEBRA LINEARE AVANZATA RIPORTA QUESTI ARGOMENTI.

PREPARARSI CON MATLAB PER L’ESERCITAZIONE DI DOMANI.

QUESTI ALGORITMI CHE VEDREMO VENGONO PENSATI PER RISOLVERE SISTEMI DI MIGLIAIA DI INCOGNITE E QUANDO LA TAGLIA DEL PROBLEMA AUMENTA BISOGNA
PRENDERE DELLE PRECAUZIONI È C’È UNA GRANDE BRANCA DELL’ANALISI NUMERICA CHE SI OCCUPA DI SVILUPPARE ALGORITMI DI ALGEBRA LINEARE, FAR RIFERIMENTO AD
ESEMPIO ALLA LIBRERIA LAPAC DISPONIBILE GRATUITAMENTE ED È LO STATO DELL’ARTE NELLA SOLUZIONE DI PROBLEMI DELL’ALGEBRA LINEARE FORNENDO ALGORITMI
VERAMENTE ROBUSTI UTILIZZATI ANCHE E SOPRATTUTTO NEL SETTORE INDUSTRIALE.

L’ortogonalizzazione di Gram-Schmidt non è il massimo computazionalmente ma l’idea di partire da un set di vettori ed ottenere un
set di versori unitari linearmente indipendenti è notevole e molto importante dal punto di vista teorico.
Ci sono poi due fattorizzazioni che andremo ad analizzare poiché ci servono per alcuni algoritmi per l'analisi del movimento che
vedremo e anche per risolvere diversi problemi nell’analisi multibody.
Sicuramente dentro Solidworks questi algoritmi sono più che impiegati nella simulazione.
Introdurremo il metodo dei moltiplicatori di Lagrange, molto elegante, che ci permetti di trasformare un problema di ottimizzazione
vincolata in un problema di ottimizzazione non vincolata.
Dedicheremo una lezione alla dinamica variazionale, ovvero la banca della meccanica che si occupa della minimizzazione degli
integrali, con tutta una serie di problemi classici che vedremo come poter risolvere.
Analizzeremo la soluzione di sistemi di equazioni lineari secondo il criterio dei minimi quadrati e avremo a che fare anche con
matrici con rango non pieno. Si immaginino matrici con migliaia di elementi con un determinante molto piccolo ma non nullo si
iniziano ad avere molti problemi e per ogni errore di troncamento sulle cifre decimali dovremmo tenerne conto perchè potrebbero
avere un impatto devastante sul risultato.
Poi esamineremo un operazione molto importante ovvero la pseudoinversa di Moore-Penrose e per concludere l’algoritmo di
Householder per la fattorizzazione QR.
Vedremo come esistono diversi algoritmi per eseguire queste fattorizzazioni e ognuno è in competizione con l’altro.

95
fi
SETTIMANA 7

Ortogonalizzazione di Gram-Schmidt
Abbiamo già visto questo procedimento nel corso di geometria.
Dato un insieme di vettori a1, a 2, …, an linearmente indipendenti nello spazio vettoriale V, è possibile costruire un insieme
ortonormale (ogni elemento è ortogonale all’altro). Quindi otteniamo un nuovo set di vettori tali che il prodotto scalare tra due
qualsiasi elementi è nullo.
Algoritmo classico di Gram-Schmidt
a1
Si de nisce il versore b1 = , ovvero si normalizza il primo vettore
- a1
- Si calcola il vettore b′2 ortogonale sia a b1 che ad a1, utilizzando l’espressione b′2 = a 2 − (a2T b1) b1. Quindi se ne ottiene il
b′2
relativo versore b2 =
b′2
- Si va a compiere la stessa operazione sui rimanenti vettori. Si calcola il vettore b′3 , ortogonale a b1, b2 utilizzando l’espressione
b′
b′3 = a3 − (a3T b1) b1 − (a3T b2) b2. Quindi se ne ottiene il relativo versore b3 = 3 . Si osservi come nel terzo termine
b′3
stiamo sommando tre elementi.

Generalizzando.
Si calcolare il generico vettore b′k ( con k
= 1,…, n ) ortogonale a b1, b2, …, bk−1 utilizzando l’espressione
k−1
b′
b′k = ak −
∑ (akT bi) bi. Quindi se ne ottiene il relativo versore bk = k
i=1 b′k

Pseudocodici:

L’algoritmo “Modi ed Gram-Schmidt” è più robusto ma anche qui ci saranno diversi problemi in cui “si annida il diavolo”, questo
perchè andando avanti a causa dell’errore di arrotondamento quando applichiamo queste operazioni decine di migliaia di volte e la
condizione di ortogonalità potrebbe non essere veri cata con la precisione desiderata.

Dal punto di vista numerico questa operazione non è il massimo e volendo determinare il set di vettori ortonormali su grandi
dimensioni questo non è il massimo. Su set con un numero di elementi limitato allora questo è una valida opzione.

PSEUDOCODICI DISPONIBILI A: HTTPS://WWW.MATH.UCI.EDU/~TTROGDON/105A/HTML/LECTURE23.HTML

FAR RIFERIMENTO AI FILE MATLAB SCRITTI - DOVREBBERO FUNZIONARE

Si osservi come la
prima parte serve a
generare una matrice le
cui colonne sono i
vettori di interessi.
Per conferma si può
provare:
q’*q
E si ottiene la matrice
unità



96









fi
fi
fi
SETTIMANA 7

Decomposizione QR
Consideriamo una matrice [A] che voglio fattorizzare in due matrici [Q] ed [R] tali che:
- [A] = [Q] [R]
[Q] [Q] = [I ], ovvero [Q] ortogonale
T
-
- [R] sia una matrice triangolare

Vediamo come utilizzare l’operazione di Gram-Schmidt per ottenere questa fattorizzazione.


Andiamo a considerare una matrice composta da un serie di colonne che formano il set di vettori di cui voglio determinare il set
ortonormale.

LA DECOMPOSIZIONE QR CONSENTE ANCHE DI RISALIRE AL RANGO E SE I VETTORI SONO LINEARMENTE DIPENDENTI VEDREMO DEGLI ZERI.

1. Si opera l’ortogonalizzazione di Gram-Schmidt sui vettori a1, a 2, …, an ottenendo il set [b1, b2, …, bn]
2. Questo set costituisce la matrice ortonormale [Q] adottando i vettori come colonna, ovvero [Q] = [b1 b2 … bn]
3. Si costruisce la matrice triangolare superiore [R] di ordine m non singolare e de nita da:
b1T a1 b1T a 2 ⋯ b1T an
0 b2T a 2 ⋯ b2T an
[R] =
⋮ ⋮ ⋱ ⋮
T
0 0 ⋯ bm an

Esempio numerico:
In MATLAB:

97
fi
SETTIMANA 7
Decomposizione QR - Matrice rettangolare
Se abbiamo a che fare con una matrice m × n, con m ≥ n che non ha rango pieno vado a determinare una matrice [Q]
costituita da due blocchi:
[R1]n×n = Q R
[ 0 ]
[A]m×n = [[Q1]m×n [Q2]m×(m−n)] [ 1] [ 1]

La matrice [R] sarà composta da due blocchi m × n e m × (m − n) dove n rappresenta il rango della matrice [A].
Sviluppando il prodotto si vedere come Q2 non ha in uenza e contano solo [Q1] e [R1].

C’è allora un altro algoritmo :

98
fl
SETTIMANA 7

Decomposizione SVD
L’acronimo sta per singular value decompositon, questa decomposizione è molto simile al calcolo degli autovalori e permette
anche di eseguirlo in maniera generalizzata.
Consideriamo una matrice [A] di rango r che può essere fattorizzata nella forma di tre matrici:
m×n

[A] = [V ]m×r[Λ]r×r[U ]r×n (1)


T

Dove queste matrici:

λ1 ⋯ 0
[Λ] = ⋮ ⋱ ⋮ (2), è una matrice quadrata diagonale e il numero di colonne/righe è esattamente pari al rango.
0 ⋯ λr

Le matrici [U ] e [V ] sono ortonormali per le quali

[U ] [U ] = [V ] [V ] = [Ir×r ] (3)
T T

E [V ][V ] = [Im×m ](4)


T

Ovviamente per [V ]essendo triangolare il prodotto [U ][U ] e [U ] [U ]danno risultati di dimensioni diverse.
T T

Per [U ] l’ortogonalità vale sono in un senso, ovvero [U ] [U ] = [Ir×r ], [U ] [U ]T ≠ [Ir×r ]


T

I λi sono detti valori singolari di [A].

Queste tre matrici ci consentono di risolvere una serie di problemi legati alla soluzione di sistemi lineari, anche sovrabbondanti.

Per capire come si arriva alla decomposizione SVD partiamo dal prodotto [A] [A] della nostra matrice rettangolare (senza
T

alcuna ipotesi sopra). Questo risultato è sicuramente de nito semipositivo e quindi avrà almeno m autovettori ortonormali.
Vi saranno quindi r autovettori, costituenti una base dello spazio R n , che corrisponderanno agli r autovalori positivi λi, calcolati
tramite le
[A] [A] {vi} = λi {vi}(5) con i = 1, 2,…, n
T 2

Vi saranno inoltre (m − r) autovalori nulli cui corrisponderanno gli autovettori {vj} per i quali è [A] [A] {vj} = {0} (6), con
T

j = , r + 1, r + 2, …, m

Un’utile uguaglianza
[A] [A] {vj} = {0}
T

{vj} [A] [A] {vj} = {0}


T T
È anche

({ j} [ ]) ({ j} [ ] )
T T T
ovvero v A v A = {0}

Da cui per ( j = r + 1, r + 2,…, m), si ha [A] {vj} = {0}


T

Vale anche la proprietà di ortonormalità tra gli autovettori della matrice ortonormale corrispondenti agli autovalori non nulli
m

∑ { k} { k}
T
formeranno una base ortonormale: {v1 v2 ⋯ vm} {v1 v2 ⋯ vm}T = v v = [I ].
k=1

[∑ ]
Pertanto [A] {vk} {vk} [A](7)
T
=
k=1

99
fi
SETTIMANA 7
1
Introduciamo i vettori {ui} = [A] {vi} (8) con (i = 1,2,…, r) quindi che corrispondono ad autovettori non nulli e
T
λi
appartenenti ad R n , sarà allora λi {ui} = {vi} [A] (9).
T T

Queste uguaglianze ci serviranno più avanti.

[ k=1 ]
Tornando alla relazione (7) sviluppiamo i prodotto: [A]
∑ { k} { k} [A] = {v1} {v1} [A]+⋯ + {vm} {vm} [A]
T T t
= v v

Ovvero, ricordandoci della precedente relazione, possiamo sostituire: [A] = λ1 {v1} {u1} +⋯ + λr {vr} {ur} (10)
T T

Otteniamo la matrice [A] come somma di questi prodotto e questa è la chiave della decomposizione SVD.

Allora possiamo scriver questa relazione in notazione matriciale [A] = [V ][Λ][U ]


T

Ad esempio:
Si voglia eseguire la decomposizione SVD della seguente matrice che, come si vede non ha rango pieno e infatti l’ultima riga si
1 3 2 4
ottiene moltiplicando la prima riga per 2. [A] = 2 1 3 5
2 6 4 8
Questo è fatto apposta per vedere come si può applicare l’algoritmo anche a matrici vicino la singolarità, si ricordi che il rango
pieno è teorico e nel calcolo numerico, con un numero nito di cifre decimali, le cose cambiano!

Risolviamo il problema agli autovalori: [A] [A]


T
{v} = λ 2 {v}

In questo codice utilizziamo il comando eig( ) di Matlab che opera sulla matrice AA restituendo una matrice [V ] di colonne
corrispondenti agli autovettori e un vettore lambda2 che contiene i quadrati degli autovettori.

Trovo quindi [A], [A A] e lambda

Vado allora a formare i vettori

1
Faccio la radice quadrata di lambda e vado a calcolare le colonne di [U ] come {ui} [A] {vi}
T
= (i = 1,2,3) (11)
λi
Allora formo la matrice [U ] inserendo i vettori nelle sue colonne.
Volendo si può fare il TEST e ottenere la matrice di partenza.

Ovvero il codice a pagina seguente.

100
fi
SETTIMANA 7

Questo è un algoritmo banale che spiega passo passo come si è arrivati a questa decomposizione che si trova ovunque (insieme
a QR) si deve risolvere sistemi di equazioni in maniera e ciente. È l’operazione vincente anche se applicata con algoritmi di erenti
e specializzati, esistono testi interamente dedicati ad una o l’altra decomposizione a partire da come è fatta la matrice su cui si
opera (es matrici simmetriche, matrici bandate, ecc).
Ad esempio con metodi di di erenze nite si ottengono matrici bandate con tutti gli elementi diversi da zero vicino la diagonale
principale.

Suggerimento:
Quando dovremmo operare e applicare queste operazioni si suggerisce di eseguire le decomposizioni QR ed SVD avvalendosi
delle funzioni di libreria disponibili in vari ambienti di programmazione quali Ch, Matlab, Maple, etc.

Per scrivere questi programmi servono degli analisti numerici!


SI OSSERVI COME MATLAB È NATO PER OPERARE SU MATRICI E NASCE DALLE LIBRERIE DI LAPAC. TUTTAVIA LAPAC UTILIZZA LIBRERIE DI ANCOR PIÙ BASSO LIVELLO: BLAS.
QUESTO PERCHÈ PERMETTONO DI UTILIZZARE DIRETTAMENTE L’ARCHITETTURA DEL PROCESSORE CHE STA FACENDO I CALCOLI PERCHÈ LAVORANO IN FORTRAN E QUINDI
SPESSO LE LIBRERIE VANNO COMPILATE PER OTTENERE UN FILE RILOCABILE .OBJ E QUINDI NELLE OPZIONI DI COMPILAZIONI SI SPECIFICA IL PROCESSORE IN MODO DA
SFRUTTARNE LE PECULIARITÀ DEL PROCESSORE STESSO E OTTENERE IL MASSIMO DALLE LIBRERIE. DISCORSO ANALOGO PER DIVIDERE IL CALCOLO TRA PIÙ PROCESSORI
CHE OVVIAMENTE RICHIEDE UNA PROGRAMMAZIONE EXTRA PER DIVIDERE IL LAVORO.

101
ff
fi
ffi
ff
SETTIMANA 7

Decomposizione QR tramite Matlab

C’è l'operatore qr( ) che ci restituisce la matrice A

Decomposizione SVD tramite Matlab


Discorso analogo.
’econ’ ci permette di avere anche la parte di matrice con gli zeri (altrimenti la matrice S verrebbe tagliata alla 2x2)

102
SETTIMANA 7

Metodo dei moltiplicatori di Lagrange


ANDREMO AD UTILIZZARE QUESTE FATTORIZZAZIONI PER RISOLVERE SISTEMI DI EQUAZIONI LINEARI, UNA DELLE OPERAZIONI PIÙ IMPORTANTI PER L’INGEGNERIA E QUINDI
L’EFFICIENZA IN QUESTA OPERAZIONE È IMPORTANTISSIMA.
È STATO STIMATO CHE QUASI IL 40% DEL TEMPO MACCHINA DEI CALCOLATORI È UTILIZZATO PER RISOLVERE SISTEMI LINEARI.

Prima di procedere alla estensione delle equazioni di Lagrange ai sistemi non olonomi è necessario premettere alcune nozioni
sulla minimizzazione di una funzione soggetta a vincoli.
il metodo che andremo ad esporre, dovuto a Lagrange, è noto come metodo dei moltiplicatori di Lagrange e consente di
ricondurre un problema di ottimizzazione vincolata ad uno di ottimizzazione senza vincoli.
(UTILIZZATO DA LAGRANGE PER INSERIRE NELLE SUE EQUAZIONI DELLA DINAMICA DEI VINCOLI SULLE VELOCITÀ) NOI NON AFFRONTEREMO QUESTIONI DINAMICHE MA
SOLO LA QUESTIONE ALGEBRICA.

Immaginiamo di dover calcolare i valori delle variabili q1 e q2 che rendano stazionaria una funzione L (q1, q2) senza vincoli su
questi valori. Allora calcoliamo le derivate parziali e ne imponiamo la nullità. Quindi senza vincoli la soluzione sarebbe molto
semplice tuttavia noi vogliamo risolvere un problema leggermente diverso ovvero vogliamo sempre i valori che rendono stazionaria
questa funzione ma vogliamo che q1 e q2 rispettino una relazione di vincolo espressa da Φ (q1, q2) = 0

Quindi non abbiamo un problema di ottimizzazione libera ma di ottimizzazione vincolata. Si parla di “ottimizzazione” perchè quando
andiamo a calcolare il punto di stazionarietà di occupiamo della ricerca di un minimo o di un massimo e quindi associato ad un
problema di ottimizzazione.

Esistono varie possibilità come ad esempio risolvere q1 in funzione di q2 procedendo a derivare ma spesse le funzioni sono
complesse e non è sempre possibile.
Lagrange ci fornisce una guida dettagliata a come impostare questo problema:
Lagrange va ad introdurre una nuova funzione obiettivo costruita considerando la funzione L che si vuole rendere stazionaria e se
la somma all’equazione di vicolo moltiplicato per λ, ovvero: L * = L − λΨ (12)
Allora questa nuova funzione obiettivo viene trattata come una funzione di tre variabili q1, q2 e λ arrivando ad un problema di
ottimizzazione libera su tre variabili.
Allora le condizioni di stazionarietà per la uova funzione risultano essere:

∂L * ∂L ∂Φ
≡ −λ = 0 (13)
∂q1 ∂q1 ∂q1
∂L * ∂L ∂Φ
≡ −λ = 0 (14)
∂q2 ∂q2 ∂q2
∂L *
≡ Φ = 0 (15)
∂λ
Ho quindi un sistema di tre equazioni in tre incognite. Rimane bloccata l’equaizone di vincolo e quindi la soluzione di tale sistema
di equazioni coinciderà necessariamente con quella del problema di ottimizzazione vincolata.
La nuova funzione obiettivo è una combinazione della funzione obiettivo originale con l’equaizone di vincolo e quindi trasformo un
problema di ottimizzazione vincolata in un problema di ottimizzazione di vincolo dove i parametri da determinare sono, oltre le
variabili q anche i moltiplicatori di Lagrange.

Esempio di applicazione
Consideriamo un sistema [A] {x} = {b} (16) ,
in cui [A] è una matrice rettangolare con numero di righe inferiore a quello delle colonne. Quindi dove il numero di equazioni è
inferiore a quello delle variabili. Il problema possiede in nite soluzioni ma tra le in nite soluzioni cerchiamo la soluzione con norma
minima euclidea.

Il problema può quindi formularsi come segue: minimizza la norma euclidea min {x}
T
{x} con il vincolo [A] {x} = {b}, ovvero
quelle presenti nel sistema di equazioni.

Allora formeremo in primo luogo la funzione lagrangiana estesa (o funzione obiettivo estesa)
L = {x}T {x} − {λ}T ([A] {x} − {b}) (17) dove essenzialmente andiamo a determinare la combinazione lineare della
funzione obiettivo primitiva combinata con le equazioni del sistema moltiplicate per {λ}, ovvero il vettore dei moltiplicatori di
Lagrange.

103
fi
fi
SETTIMANA 7
∂L
= 2 {x} − [A] {λ} = {0} e quindi si ha
T
Allora dobbiamo eseguire le derivate di L su x1, …, xn ovvero
∂ {x}
1
{x} = [A] {λ} (18)
T
2
∂L
= [A] {x} − {b} = {0} (19) e combinando con il risultato (18) discende che {λ} = 2 ([A] [A] ) {b}
T −1
Imponendo
∂ {λ}

= [A] ([A] [A] )


T T −1
Ovvero {x} {b} (20), un’equazione molto importante su cui ritorneremo.

Osservazione:
In generale non conviene mai calcolare questa matrice poiché spesso [A] [A] è spesso una matrice vicino la singolarità e
T

facendone l’inversa si incorre in problemi numerici.

LA FORMULA DAL PUNTO DI VISTA TEORICO È INECCEPIBILE MENTRE DAL PUNTO DI VISTA NUMERICO, PER GLI ERRORI DI ARROTONDAMENTO, POSSONO ESSERCI DEI
PROBLEMI.
SI UTILIZZA LA NORMA EUCLIDEA PERCHÈ È UNA LUNGHEZZA E MINIMIZZARE UNA LUNGHEZZA SI INTENDE MINIMIZZARE L’AMPIEZZA DI UNA FORZA, O UN LAVORO, PIÙ
GENERALMENTE SI MINIMIZZA UN VETTORE E QUESTO, A SECONDA DELLE APPLICAZIONI, POTREBBE AVERE UN SIGNIFICATO DIVERSO. MINIMIZZARE UNA NORMA SIGNIFICA
RISOLVERE UN PROBLEMA DI OTTIMIZZAZIONE.

Il metodo si può applicare a problemi non lineari quindi con funzioni obiettivo e di vincolo non lineari.

Soluzione sistemi equazioni lineari con il metodo minimi quadrati


Sia [A] {x} + {r} = {b} (21) un sistema lineare di equazioni in cui [A] è la matrice dei coe cienti, con un numero m delle
righe maggiore di quello n delle colonne, {b}, {x} ed {r} rispettivamente, i vettori dei termini noti, delle incognite e dei residui.

Quindi il numero di equazioni è maggiore di quello delle incognite e devo risolvere il sistema in modo che il vettore dei residui sia il
più basso possibile.
L’INVENTORE DI QUESTO METODO È GAUSS.
QUESTO NON È L’UNICO METODO CRITERIO MA È SICURAMENTE IL PIÙ FAMOSO.

Quindi dobbiamo calcolare {x} tale che il vettore {r} sia minimizzato. Ovviamente conosciamo [A] e {b}.

L’idea è quindi quella di risolvere il vettore e pervenire alla soluzione del sistema (21) avvalendosi del criterio dei minimi quadrati e
quindi si imporrà che resti minimizzata la somma S dei quadrati dei residui.
S = ({b} − [A] {x}) ({b} − [A] {x}) (22)
T

Questa diventa la funzione obiettivo che quindi devo minimizzare, cioè il problema diventa: determinare {x} che minimizza S.
Allora si prende la funzione obiettivo e andiamo a derivarla su x1, …, xn arrivando ad un nuovo sistema di equazioni
premoltiplicato per [A] [A] che è una matrice quadrata.
T

∂S
Dovendo quindi essere = 0, (k = 1,⋯, n)(23)
∂xk
Il sistema sarà: [A] [A] {x} = [A] {b} (24)
T T

= ([A] [A])
−1
[A] {b} (25).
T T
La soluzione sarà {x}

Come prima questa soluzione teorica è un’operazione da evitare assolutamente e pur essendo ineccepibile dal punto di vista
teorico da punto di vista numerico porterà sicuramente a dei problemi che spesso si nascondo tra operazioni più o meno corrette
ma eseguendo l’inversa di una matrice quasi singolare si ottengo risultati imprevedibili.

Quindi abbiamo utilizzato il principio dei moltiplicatori di Lagrange per risolvere un sistema di equazioni con un numero di eq
minore del numero di incognite e il principio dei minimi quadrati per risolvere un problema in cui il numero di equazioni è superiore.
Mettendo a confronto la relazione (25) e (20) si vede come cambia solo la disposizione di [A] quindi è chiaro che le due hanno
T

delle a nità andando ad eseguire l’inversa del prodotto matriciale (cosa da non fare numericamente ma valida solo dal punto di
vista teorico, non risolvere eq a vincoli sovrabbondanti in questo modo “becero”).
Trovandoci davanti a problemi di questo tipo il professore ci consiglia di NON utilizzare assolutamente nel la (20) ne la (25) ma
vedremo quali strumenti utilizzare per risolvere in maniera ottimale dal punto di vista numerico.
104
ffi
ffi
SETTIMANA 7

Applicazione della decomposizione QR


Vediamo come nascono i problemi:
Immaginiamo di voler risolvere un sistema di equazioni lineare con una matrice rettangolare dove ϵ è un numero piccolino.
1 1 1
[1 1 + ϵ] {3}
[ ]
A = 2 2 e {b} = 2 .

Si suppone che il computer utilizzato per i calcoli sia un computer con una precisione di massimo 8 cifre decimali signi cative.
OGGI MATLAB UTILIZZA 16 CIFRE DECIMALI E, SU RICHIESTA, ARRIVA ANCHE A 32. QUELLO CHE IMPORTA È IL CONCETTO, ARRIVERÀ IL MOMENTO IN CUI DOVREMO
AFFRONTARE QUESTO PROBLEMA.

Se ϵ = 10−4:
- 1 + ϵ è valutato correttamente
- I termini che coinvolgono potenze di ϵ sono eliminati, ∴ ϵ 2 = ϵ 3 = ⋯ = 0

[A] = [
6 + ϵ 6 + 2ϵ+ϵ 2]
6 6+ϵ
Svolgendo per via simbolica secondo la formulazione [A]
T

{8 + 3ϵ}
8
E allora [A]
T
{b} =
ϵ−2
ϵ
Ovvero {x} = (26)
2
ϵ

[A] = [6 + ϵ 6 + 2ϵ]
6 6+ϵ
Andando invece per via numerica (dove il termine ϵ 2 è assente) : [A]
T

{8 + 3ϵ}
8
E allora [A]
T
{b} =
10 + 3ϵ
ϵ
Ovvero {x} = (27)
10
−ϵ

Le due soluzioni sono diverse e operando con queste operazioni si corre il rischio che il risultato sia fortemente condizionato
dall’errore di approssimazione che compie il calcolatore digitale. Si osservi che avendo un computer che opera a 16 cifre il
risultato è esatto no al 15-esima.

Vedremo come a rontare correttamente questi problemi e come sia la decomposizione QR che quella SVD fanno il loro lavoro.
Vedremo degli algoritmi di soluzione robusta che quindi anche con errori di arrotondamento la soluzione continua ad essere
corretta. Una soluzione che varia con l’errore di arrotondamento è inutile. Si cerca una soluzione robusta per cui piccole variazione
dei dati non portano a risultati completamente cambiati (spesso si valuta così la robustezza degli algoritmi).

In ingegneria un progetto robusto è un progetto che garantisce la funzionalità del dispositivo nonostante le deviazioni dai valori
nominali di progetto introdotte nei processi di produzione.

105
fi
ff
fi
SETTIMANA 7
giovedì 5 novembre 2020

Esercitazione MATLAB
Soluzione di sistemi di equazioni lineari sovrabbondanti con QR ed SDV
Svolgimento della seguente esercitazione

In realtà nel testo c’è un errore e le matrici U e V sono invertite.

106
SETTIMANA 7
Quello seguente è il mio codice consegnato.

Questa è la soluzione di un collega (Stefan)

107
SETTIMANA 7
Si osservi come risolvere con la decomposizione QR o SVD il risultato NON CAMBIA.

Con i solutori conviene sempre risolvere sistemi lineari ed evitare le inverse.

Il professore ci ha mostrato una procedura diversa che sfrutta il fatto che la matrice [R] è triangolare superiore e sfruttare
linsolve , il solutore generale di Matlab. Ha tre argomenti, il primo è la matrice dei coe cienti, il secondo è quello dei termini
noti e il terzo è quello delle opzioni dove opts.UT=true serve a segnalare che [R] è upper triangular e questo si traduce in un
risparmio operazionale.

Per la SVD lo zero in svd(A,0) serve nel caso il numero di righe è maggiore di quello delle colonne per ottenere [S ]
direttamente come matrice quadrata.
In questo algoritmo andiamo a calcolare la pseudoinversa di Moore-Penrose.

Questa matrice la calcolo semplicemente utilizzando le matrici della fattorizzazione.

108
ffi
SETTIMANA 7

Si osservi come nel caso di una matrice con righe molto simili facendone l’inversa si potrebbe incorrere in errori di arrotondamento
mentre facendone la pseudoinversa facciamo un’operazione molto più robusta. Questo è fondamentale con matrici di migliaia di
elementi a etti da errore.

Vedremo l’algoritmo di Householder molto più robusto.

SVD È STATA SVILUPPATA INTORNO GLI ANNI 80 MENTRE LA QR È PIÙ DATATA.

109
ff
SETTIMANA 7
IL PRIMO AD AVER UTILIZZATO LA DECOMPOSIZIONE NELLA SOLUZIONE DI SISTEMI DI EQUAZIONI LINEARE È STATO CHOLESKI, UN TOPOGRAFO CHE SVILUPPÒ LA
T
DECOMPOSIZIONE U U = A. IN MATLAB:
chol(A)

PER UN TESTO SULLE OPERAZIONI MATRICIALI E GLI ALGORITMI POSSIAMO FAR RIFERIMENTO A:
GOLUB E VAL LOAN HANNO SPINTO FORTEMENTE LA RICERCA SULLA SVD

Ricevimento
Domanda sul formalismo:

C’è un errore sul prodotto al secondo membro.


Qui calcoliamo il punto E più vicino all’origine (punto di minima distanza) e per questo { r E⃗ − r O⃗ } ⋅ ω ⃗ è nullo. Questo proprio
perchè la distanza OE è ortogonale all’asse del moto elicoidale.
Dagli appunti del ragazzo che ha fatto la domanda:

110
SETTIMANA 7
Domanda sul Gimbal-Lock:

La conclusione è che tutti i formalismi dell’orientamento di un corpo con soli 3 parametri presentano una singolarità numerica.
Per evitare singolarità numeriche si devo avere 4 o 5 parametri.

Il problema sico resta ma i dispositivi elettronici utilizzano tutti


i parametri di Eulero e quindi il problema viene aggirato.

Si osservi che mentre le matrici non possono essere


interpolati a di erenza dei parametri di Eulero (e quindi i
quaternioni) che possono e vengono interpolati.
Fare riferimento al materiale didattico: “p245-shoemake.pdf”

In questo articolo viene introdotta una tecnica (Slerp) per


interpolare le posizioni.

Matrice dei parametri di Eulero

Facile interpolazione

Si osservi che in particolari metodi (come quello dei tre punti visto la settimana scorsa) utilizzando dati sperimentali spesso viene
meno la rigidità del corpo e quindi ci si ritrova con risultati privi di congruenza cinematica.
Tra la teoria e operare con dati numerici le cose cambiano tanto.

C’è anche un altro le: “e3dbd68a6cc8977926fdfd49d839c20fb69b.pdf” che ci mostra come utilizzare lo Slerp per la computer
gra ca.

111
fi
fi
ff
fi
SETTIMANA 7
C’è anche un articolo del professore scritto dal professore nel 2009 con l’algebra duale e il quaternione duale. cioè ci sono
delle operazione per applicare operazioni di algebra lineare nell’algebra duale.
Vedere il le “Dual_Quaternions_as_a_Tool_for_Rigid_Body_Motion_A.pdf”

I quaternioni duali vengono molto utilizzati anche nella biomeccanica:


Vedere il le:”leclercq2013.pdf”

Per la formula della slide in gura:

Potrebbero esserci dei problemi legati al segno di ω.

Vedere l’esercizio suggerito poco dopo.

In ogni caso si ricordi sempre che questi algoritmi non


verranno mai utilizzati nella pratica per i problemi legati alle
approssimazioni e all’errore.

112
fi
fi
fi
SETTIMANA 7
Tra le varie pseudoinverse noi utilizziamo quella di Moore-Penrose che soddisfa le 4 condizioni:

Per ulteriori approfondimenti far riferimento al testo “Dinamica analitica. Un nuovo approccio - Domenico de Falco”

Tra i le anche “Investigation_of_the_In uence_of_Pseudoinverse_Ma.pdf” un articolo scritto dal prof. Pennestrì insieme a De Falco
sulla pseudoinversa

113
fi
fl
SETTIMANA 7

114
SETTIMANA 8

BIOPROTESI
Parte Prof. Pennestrì

Settimana 8

115
SETTIMANA 8

Indice settimana 8
Indice settimana 8 2
NO LEZIONE 3

NO LEZIONE

116
SETTIMANA 8

BIOPROTESI
Parte Prof. Pennestrì

Settimana 8

117
SETTIMANA 8

Indice settimana 8
Indice settimana 8 2
NO LEZIONE 3

NO LEZIONE

118
SETTIMANA 9

BIOPROTESI
Parte Prof. Pennestrì

Settimana 9

119
SETTIMANA 9

Indice settimana 9
Indice settimana 9 2
NO LEZIONE 2

NO LEZIONE

120
SETTIMANA 10

BIOPROTESI
Parte Prof. Pennestrì

Settimana 10

121
SETTIMANA 10

Indice settimana 10
Indice settimana 10 2
NO LEZIONE 2

NO LEZIONE

122
SETTIMANA 11

BIOPROTESI
Parte Prof. Pennestrì

Settimana 11

123
SETTIMANA 11

Indice settimana 11
Indice settimana 11 2
giovedì 3 dicembre 2020 3
DLT Method 3
Metodo di Gupta e Chutakanonta 7
Dinamica analitica 13
venerdì 4 dicembre 2020 26
Equazioni di Lagrange 26
Applicazioni 30

124
SETTIMANA 11
giovedì 3 dicembre 2020
RIFERIMENTO: HTTP://WWW.KWON3D.COM/THEORY/DLT/DLT.HTML
QUESTO SITO WEB LINKATO CONTIENE MOLTE INFORMAZIONI.

Oggi riprendiamo i discorsi di cinematica cercando di generalizzarle e collocarle in un contesto


applicativo.
Abbiamo già visto qualcosa per quanto riguarda il motion capture e cercheremo di dare
qualche informazione in più sulla matematica che c’è dietro.

Tratteremo due argomenti essenzialmente, il primo riguarda come noi andiamo a determinare le
coordinate assolute dei marker (spiegata nella pagina web linkata) e una seconda parte che
riguarda il calcolo delle caratteristiche del moto che devo catturare. Volendo catturare il moto
rigido di tra marker devo catturare il moto di almeno tre marker per determinare asse del moto
elicoidale, angolo di rotazione e spostamento dei punti del corpo lungo l’asse.
Mi trovo a lavorare su dati sperimentali e quindi le condizioni di rigidezza del moto non saranno
rispettate (questo fa la di erenza)

DLT Method
Concentriamoci sulla seguente gura:

O è il marker e x, y, z le coordinate rispetto un sistema di riferimento arbitrario.


L’image plane non è altro che il visore della telecamera che inquadra il marker. N è la posizione dell’occhio (osservatore).
Osservando il maker O questo si presenterà sul piano dell’immagine come un punto I di coordinate [u, v] (nient’altro che il
numero di pixel orizzontali e verticali del punto).
Questo punto è l’immagine (aggregato di pixel circolare di cui prenderemo il pixel centrale). Conoscendo la sua posizione [u, v]
nello spazio della telecamera (misurabili sperimentalmente) e conoscendo il punto di osservazione come faccio a risalire alle
coordinate assolute del marker?
Per risolvere questo problema il trucco è utilizzare più telecamere utilizzando lo stesso marker con più viste in diversi riferimenti,
tanti quante le telecamera.
Dobbiamo trovare una trasformazione tra lo spazio delle telecamere e lo spazio e ettivo. Indichiamo con le coordinate del punto di
osservazione N e le proiettiamo ortogonalmente nello spazio dell’immagine, sul punto P. Ovvero P è il piede della perpendicolare
da N al piano dell’immagine, di coordinate [u 0, v0, 0]

Il punto I è proprio l’intersezione del piano con la congiungente NO, ovvero è il punto dove vediamo il marker sul visore della
telecamera.
Il riferimento associato all’immagine è il riferimento U, V, W.
Cerchiamo la trasformazione che ci trasforma le coordinate dal riferimento dell’immagine al riferimento x, y, z, ovvero al riferimento
inerziale.
In pratica abbiamo tante coordinate dello stesso marker in vari piani dell’immagine e vedremo come risalire alle coordinate assolute
del punto.

125
ff
fi
ff
SETTIMANA 11
Verrà illustrato il metodo DLT, direct linear trasformation, risale agli anni 70 ed è stato modi cato. Noi ci focalizzeremo sul discorso
generale.

Siamo interessati alla matrice di trasformazione tra le coordinate assolute (a destra) e le coordinate locali (a sinistra), difendendole
come di erenza delle componenti vettoriali.

Allora posso sviluppare questa relazione dove le quantità r11, r12, r13 ecc sono incognite.
Deve esserci la collinearità tra B ed A che sono noti e quindi B = cA.
Trasformo allora il vettore nel riferimento locale (moltiplico la matrice per il vettore) e moltiplicando per c ottengo il vettore B che va
da N a I.

Da qui posso calcolare c (la distanza d è nota):

Dopo alcuni passaggi matematici ottengo la seguente coppia di equazioni:

Dove queste 11 quantità sono incognite ma è chiaro che se le conoscessi potrei andare a calcolare le componenti x, y, z in
funzione di u e v.

Per calcolare questi coe ciente L1, L 2, … , L11 lo faccio attraverso la calibrazione.

Cioè conoscendo le quantità:

Potrei risalire alla trasformazione dallo spazio delle telecamere a quello inerziale.

126
ff
ffi
fi
SETTIMANA 11
Spieghiamolo meglio:

dobbiamo determinare le quantità L1, …, L11 in modo tale da avere la matrice di trasformazione dallo spazio delle telecamere a
quello reale e viceversa.

L’idea è quindi quella di far vedere a tutte le telecamere un cubo di lati noti in modo da conoscere esattamente la posizione degli
8 marker.

L’idea è di far vedere alle telecamere dei marker la cui posizione è nota (in questo caso 8 marker ma potrebbero essere anche di
più) vado a mettere nel sistema le coordinate assolute e quelle del marker nello spazio delle telecamere. Ad esempio per il marker
1 saranno noti X1, Yz, Z1 e u (k), v (k) nello spazio della telecamere k-esima riuscendo a trovare le incognite L1, L 2, L 3, L4 con un
1 1
sistema di equazioni sovrabbondanti che per noi non è un problema.
Potrebbero poi esserci anche altri parametri per tenere conto della distorsione ottica.

127
SETTIMANA 11
Identi cati questi parametri siamo in grado di calcolare la posizione conoscendo quella nello spazio delle telecamere:

Questo è stato il primo metodo utilizzato dal punto di vista storico.

Riassumendo si vanno a determinare i parametri che ci legano la posizione del marker x, y, z nello spazio assoluto con la
posizione del marker nello spazio delle telecamere.

Dietro i sistemi di acquisizione del movimento attraverso le telecamere c’è questa matematica.

Per l’implementazione vedere sul sito:

Software resources —> movement analysis—> DLT: https://isbweb.org/resources/software-


resources/128-movement-analysis/dlt-camera-calibration

Questi sistemi andranno risolti utilizzando la norma ai minimi quadrati.

Si tenga a mente che in ogni istante non tutti i marker potrebbero essere visibili dalle telecamere tuttavia il numero di telecamere è
abbastanza elevato (anche da 36 telecamere) e quindi c’è una forte ridondanza di dati che aumenta notevolmente la precisione.
2 è il minimo numero di telecamere in realtà un numero su ciente è di 4 o 8 telecamere per fare qualche lavoro serio.

128
fi
ffi
SETTIMANA 11
Il problema che vogliamo analizzare è il seguente abbiamo un corpo con un certo numero di punti A1, B1, C1, D1, E1 che si
sposta in una nuova posizione.

Cioè andiamo a cercare i parametri di movimento di moto elicoidale a partire dalle coordinate dei marker.

A partire dalle coordinate dei marker possiamo indicare con:


XA1 XA2 XB1 XB2
YA1 YA2 YB1 YB2
{p1} = , {p2} = ecc e con {P1} = , {P2} = , ecc.
ZA1 ZA2 ZB1 ZB2
1 1 1 1

E posso raggrupparli, cioè posso costituire una matrice [P ] di colonne i vettori [ p] = [ p1 p2 … pN] ovvero la matrice
delle posizioni iniziali dei marker.
E la matrice [P ] = [P1 P2 ⋯ PN] matrice delle posizioni finali dei marker.

Allora devo determinare la quantità incognita, ovvero la matrice spostamento [D]4×4 che mi permette di dedurre i parametri del
moto elicoidale.

Posso dire che:


{P1} = [D] {p1}
{P2} = [D] {p2}
ecc.
Allora posso dire che [P ] = [D] [p].
XA1
YA1
Si osservi che in realtà i vettori p sono costituiti dalle tre coordinate e dall’unità per far tornare i conti: {p} = e la matrice
ZA1
1
di spostamento è:

dove il minore [A] deve essere una matrice ortogonale.


3×3

Vedremo il:
Metodo di Gupta e Chutakanonta
Prendo la matrice [ p] e vado ad eseguire la decomposizione SVD fattorizzando quindi le prodotto di altre tre matrici
[p] = [V ] [Σ] [U ] (si ricordi che Σ è una matrice diagonale).
T

129
SETTIMANA 11
Allora se prendo il prodotto di queste tre matrici e lo sostituisco ottengo:

[P ] = [D] [V ] [Σ] [U T ]

Si ricordi che [U T ] [U ] = [I ] e [V T ] [V ] = [I ] = [V ] [V T ] (V è ortogonale).

Allora posso premolitplcare primo e secondo membro per [U ] ovvero:


[P ] [U ] = [D] [V ] [Σ] [U ]T [U ]
=[I ]

Adesso cerco di isolare [D] in funzione dei dati del problema (i dati di [P ] e [p] vengono dai dati sperimentali della DLT, motion
capture).

Continuando sulla strada di premoltiplicare in modo da ottenere l’identità a destra si arriva a:


[P ] [U ] [Σ+] [V ]T = [D]
Dove [Σ+] è la matrice pseudoinversa di [Σ]

La decomposizione SVD la faccio una sola volta poi devo solo aggiornare gli elementi della matrice [P ].

σ11 0 0
Per la pseudoinversa possiamo considerare che se [Σ] = 0 σ22 0 allora calcoliamo la sua pseudoinversa invertendo
0 0 σ33
gli elementi sulla diagonale mentre se questi elementi sono nulli ci va semplicemente uno zero:
1
σ11
0 0
1
0 σ 22
0
[Σ ] =
+
1
σ 33
0
0

Oppure si utilizza il comando pinv[Σ] in Matlab.

Il problema è che abbiamo a che fare con dati a etti da errore che portano a dei problemi con cui dobbiamo confrontarci.

Abbiamo detto che il minore [A] dovrà essere ortogonale e con i dati a etti da errore non lo sarà, stessa cosa per i tre
3×3
elementi in bassi di [D]che dovranno essere nulli.
Quindi dovremmo intervenire su [D] per “aggiustare” le cose.

Ci sono varie possibilità:

Prima possibilità:

x x x x
x x x x
Prendiamo la matrice [D] =
x x x x dividendola in blocchi:
x x x x

I blocchi saranno quindi [M ]3×3, d 3×1.


Calcoliamo la decomposizione QR della matrice: [M33] = [R1] [U1], con R ortogonale e U triangolare superiore.
130
ff
ff
SETTIMANA 11
De niamo allora [D*] costituita da:

Da questa posso dedurre i parametri del moto elicoidale.

Questa la chiamiamo variante QR del metodo G.C.

Seconda possibilità:
Un’altra variante del metodo che prende il nome di variante SVD del metodo G.C. e prevede di scomporre
[M33] = [Ur ] [Σr ] [Vr ]
T

Andiamo a risolvere poi la relazione come:


[M33] = [Ur ] ([Vr ] [Vr ]) [Σr ] [Vr ] = ([Ur ] [Vr ]) ([Vr ] [Σr ] [Vr ]) = [Rr ] [V1]
T T T T

[I ]

Il termine [V1] è legato all’errore del metodo [E ] = [V1] − [I ] ed [Rr ] sarà una matrice ortogonale.

Questa variante SVD lavora molto meglio rispetto la variante QR in cui posso esserci dei problemi di ordinamento delle matrici
dovuti agli algoritmi di Matlab.

PROCEDIAMO QUINDI A COMMENTARE INSIEME ALCUNI CODICI MATLAB:

131
fi
SETTIMANA 11
L’esempio è preso dal testo.

Costruiamo una matrice di spostamento imponendo l’asse del moto elicoidale assegnandone le componenti del versore u e
l’angolo di rotazione theta. Assegniamo anche il punto dell’asse del moto elicoidale più vicino all’origine s0 necessario al calcolo
della matrice di spostamento. Imponiamo anche uno spostamento Delta_s0.

Andiamo poi a richiamare la procedura disp_mat (matrice di spostamento). Questa procedura calcola la matrice di orientamento
e richiamata la procedura rot_mat.

Dove rot_mat è la formula di Rodrigues in notazione matriciale dove entro con l’asse del moto elicoidale e l’angolo di rotazione e
calcolo la matrice di rotazione.
Con Rodrigues con una sola riga de niamo tutto (senza fare procedure riga per riga).

De nisco anche il vettore d e il resto non è altro che 0 0 0 1.

Successivamente prendiamo 4 punti del corpo assegnando le posizioni iniziali, pa1, pb1, pc1 e pd1, dove l’ultimo elemento è
sempre 1 perchè dobbiamo lavorare con matrici 4x4.

Allora vado a formare la matrice le cui colonne sono i vettori posizioni dei punti.

Poi calcolo la matrice dei vettori nali, moltiplicando per D.

Cercando i parametri del moto elicoidale dovrò ritrovare i parametri imposti inizialmente.

È chiaro che stiamo operando con dati non a etti da errore e il risultato sarà esatto ma se [P ] viene fuori da valutazioni
sperimentali allora il risultato sarà chiaramente approssimato.

132
fi
fi
fi
ff
SETTIMANA 11
Allora diamo in pasto alla procedura le due matrici con le coordinate iniziali e nali dei punti.

La funzione gupta3D restituisce la matrice di spostamento, l’asse di rotazione e l’angolo di rotazione.


In questo caso utilizziamo la funzione SVD ma la parte QR è commentata, provare a scommentarla ed utilizzarla ma alcuni conti
che non tornano perché gli algoritmi QR ordinano gli elementi della matrice in un modo che non si può controllare.

Otteniamo la matrice di spostamento e poi dobbiamo estrarre la matrice D33 costituita dalle prime tre colonne e le prime tre righe.
Allora vado a eseguire nuovamente la SVD e calcolo il nuovo blocco andando poi a sostituire il blocco D.

Avendo la matrice di rotazione posso risalire ai parametri di Eulero e conviene implementare l’algoritmo generale o utilizzare la
funzione quaternion a cui dando la matrice D ci restituisce il quaternione, nonché i 4 parametri di Eulero. Con l’istruzione
compact ci restituisce il vettore a 4 elementi.

Allora calcoliamo l’asse di rotazione e l’angolo di rotazione:

Allora otteniamo la matrice D.

Una volta ottenuta la matrice di spostamento andiamo a richiamare la procedura retrieve_screw_parameters dandogli in pasto
questa matrice di spostamento.

Ci ricaviamo l’asse del moto elicoidale, ci calcoliamo la posizione del punto s0 e della posizione deltas0.

Queste espressione le troviamo anche all’interno del testo:

(Cerca negli appunti o nel testo)

Ottengo quindi l’asse del moto elicoidale, l0angolo di rotazione, s0 e Δs0.

133
fi
SETTIMANA 11
Il comando quaternion richiede l’utilizzo di un toolbox.
In alternativa possiamo utilizzare la procedura con l’addon quaternions: https://it.mathworks.com/matlabcentral/ leexchange/
35475-quaternions
Volendo evitare l’uso di quaternion si faccia riferimento a:

Oppure:
I 4 casi (diversi per evitare lo zero al numeratori) presenti nel libro nella parte dedicata ai quaternioni.

Volendo considerare un P_ n con meno cifre signi cative (eliminare le ultime cifre signi cative), avrà errori più grandi (di
troncamento sui dati).
Il codice dovrebbe continuare a funzionare:

134
fi
fi
fi
fi
SETTIMANA 11

Dinamica analitica
Storicamente Newton ci riporta le equazioni della dinamica per un punto materiale, sicuramente il padre per le equazioni per
masse puntuali.

Tuttavia le equazioni della dinamica del corpo rigido sono dovute a Eulero il quale estende le equazioni di Newton al corpo rigido..
Vengono chiamate equazioni di Newton-Euelro.

Dedurre questo equazioni non fu semplice e sembra lo stimolo venne da un concorso dell’accademia francese a cui partecipò
eulero scrivendo una prima bozza. L’equazioni de nitive vennero fuori 10-15 anni dopo.

Sono equazioni impostate in forma assiomatica, non vengono dimostrate e non c’è un procedimento analitico per dimostrarle.

È possibile dedurre Eulero a partire dalle equazioni di Newton ma bisogna riconoscere delle situazioni che non derivano
direttamente da newton (Euelro ci ha messo del suo).
Verso ne del 700 comincia a circolare l’idea che le equazioni del moto possano essere dedotte a partire da altri assiomi come ad
esempio dil principio di minima azione di Maupertuis che lo presenta più in forma loso ca che matematica.

135
fi
fi
fi
fi
SETTIMANA 11
Viene ripreso in vari modi da Eulero, Lagrange e Gauss. Il primo a impostare delle equazioni della dinamica a partire da un
principio di minimo fu Lagrange nel trattato Mecanique Analitique, un vero e proprio monumento che è tuttora accessibile e
leggibile anche da un lettore moderno. (Al contrario trattati di d’Alembert sono molto più di cili da leggere, si pensi che spesso
utilizza lo stesso termine per identi care diverse cose).

Lagrange si distacca completamente dall’approccio newtoniano utilizzando metodi completamente matematici che non
necessitano di costruzioni gra che (nel suo libro non ci sono gure).

Questo ha rallentato leggermente l’interesse degli ingegneri verso quest’opera che è stata ignorata per quasi un secolo.
Ulteriori principio furono sviluppati da Gauss e Hamilton:

Un merito special va ad Heunn e Hamel, i primi a sviluppare la meccanica Lagrangiana per scuole ingegneristiche.

136
fi
fi
fi
ffi
SETTIMANA 11

C’è una frase di Lagrange:

Quando gli ingegneri hanno messo le mani sull’opera di Lagrange le cose sono cambiate poiché la meccanica lagrangiana è uno
strumento molto potente e si capisce subito come questi metodi possono essere “programmati al computer”

Lagrange inizia con de nire il principio dei lavori virtuali de nendolo “principio delle velocità virtuali” (secondo il prof nome più
appropriato di lavori virtuali).

Libro del professore

137
fi
fi
SETTIMANA 11

Dal sito web linkato a inizio lezione:

138
SETTIMANA 11

139
SETTIMANA 11

140
SETTIMANA 11

141
SETTIMANA 11

142
SETTIMANA 11

143
SETTIMANA 11

144
SETTIMANA 11

145
SETTIMANA 11

146
SETTIMANA 11

147
SETTIMANA 11
venerdì 4 dicembre 2020

Equazioni di Lagrange
Il metodo Lagrangiano per dedurre le equazioni del moto è privo di considerazioni meccaniche.

Il principio dei lavori virtuali lo scriviamo come:

Partiamo dall’equazione di Newton per una singola particella: mk a k⃗ = F k⃗ .


d’Alembert la trasforma in un’equazione di equilibrio riscrivendola come: −mk a k⃗ + F k⃗ = 0

Introducendo il concetto di forza d’inerzia: −mk a k⃗ + F ek⃗ = 0 questa diventa un’equazione di equilibrio F ik⃗ + F ek⃗ = 0
F ⃗ik
Questo ci consente di estendere il principio dei lavori virtuali alla dinamica:

N
F ek⃗ − mk a k⃗ ) ⋅ δ r k⃗ = 0 (48)
∑(
δW =
k=1

QUESTA EQUAZIONE L’ABBIAMO SPESSO APPLICATA SENZA IL TERMINE mk a k⃗ NEI CORSI PRECEDENTI

Partiamo quindi da questa relazione.

Ricordiamo che quando Newton scrive F = m a l’accelerazione deve essere assoluta e questo pregiudica in qualche modo la
scelta delle coordinate utilizzate per rappresentare il punto.
Lagrange ci consente più libertà.

Se un sistema ha n gradi di libertà si potranno usare delle coordinate generalizzate (quantità lineari o angolari) e si potrà introdurre
la trasformazione r k⃗ = r k⃗ (q1, q2, … , qn, t) (49) tra le coordinate generalizzate (q1, q2, … , qn) e le componenti dei vettori
posizione r⃗

d r k⃗ (q1, q2, …, qn) n


∂ r k⃗ ∂qj ∂ r k⃗
∑ ∂qj dt
Derivando si ottiene la velocità delle masse: = + (50)
dt j=1
∂t

n
∂ r k⃗
E calcoliamo gli spostamenti virtuali delle masse δ r k⃗ (q1, q2, qn)
∑ ∂qj j
= δq (51)
j=1

Si ricordi che calcolando gli spostamenti virtuali i vincoli reonomi (vincoli di moto) non danno contributo di moto.

Vediamo un esempio per chiarire la di erenza tra vincoli scleronomi e reonomi.


I vincoli scleronomi dipendono dalla struttura cinematica del meccanismo e quindi dalla presenza delle coppie cinematiche e li
possiamo anche chiamare vincoli introdotti dalla struttura cinematica mentre i vincoli reonomi sono quelli in cui la variabile
temporale appare esplicitamente.
Ad esempio, consideriamo la seguente massa m con una molla di rigidezza k in cui viene imposto uno spostamento virtuale
y (t) = T sin 2t e vogliamo determinare la legge del moto della massa.

È chiaro che y (t) è un vincolo reonomo.


Volendo scrivere il principio dei lavori virtuali per risolvere la dinamica del sistema devo sicuramente partire elencando le forze in
gioco, comprese le forse di inerzia:
- Forza inerzia −m x··
- Forza elastica −k (x − y)
148
ff
SETTIMANA 11

·· δ x
Applicando il principio dei lavori virtuali −m x − k (x − y) δ x = 0.
Cioè non consideriamo δ (x − y) poiché il vincolo reonomo nella statica non esiste e per questo nella variazione virtuale delle
coordinate non viene portato in conto.

Cioè consideriamo solo le variazioni delle coordinate generalizzate dovute ai vincoli scleronomi (e non per i reonomi)

Tornando al discorso generale:


Allora da (51) consideriamo la variazione virtuale che trattiamo come un in nitesimo e allora devo calcolare un di erenziale di una
funzione a più variabili (le q1, …, qn escluso il tempo) e quindi lo posso esprimere come le derivate parziali per il di erenziale della
coordinata in nitesima.

N
F ek⃗ − mk a k⃗ ) ⋅ δ r k⃗ = 0 che consiste nel lavoro virtuale compito dalle forze esterne
∑(
Allora il primo termine della δW =
k=1
N N n
F ek⃗ F ek⃗
∂ r k⃗
∑ ∑∑
(sostituendo la 51) diventa: ⋅ δ r k⃗ = δqj (52)
k=1 k=1 j=1
∂qj
Dove si ricordi che k rappresenta la generica particella e j rappresenta la coordinata generalizzata (N particelle con n gradi di
libertà).

Allora andiamo ad introdurre il concetto di forza generalizzata nella direzione corrispondente al moto della jma coordinata
generalizzata.
Ovvero calcoliamo prima il lavoro di tutte le forze del sistema e poi lo deriviamo rispetto la coordinata jma.
N
F ek⃗
∂ r k⃗ δW

Qj = = (53)
k=1
∂qj δqj

Calcolo il valoro di tutte le forze presenti nel sistema e di questo lavoro ne calcolo la derivata rispetto la coordinata j ma.

È qui che Lagrange fa un “magheggio”. Evidenziamo con i colori le variazioni, il di erenziale δ r k⃗ lo interpreto come una somma di
di erenziali:
N N n
d 2 r k⃗ d 2 r k⃗ ∂ r k⃗
∑ ∑ ∑ k dt 2 ∂qj j
mk ⋅ δ r ⃗
k = m ⋅ δq (54)
k=1
dt 2 k=1 j=1

Sviluppiamo il prodotto ma dobbiamo tenere presente che:


N N
d 2 r k⃗ ∂ r k⃗
[ ( ) dt ( ∂qj )]
d d r k⃗ ∂ r k⃗ d r k⃗ d ∂ r k⃗
∑ dt 2 ∂qj ∑
mk ⋅ = mk ⋅ − mk ⋅
k=1 k=1
dt dt ∂q j dt

dt ( dt ∂qj )
d d r ⃗ ∂r ⃗
In pratica abbiamo la derivata mk k ⋅ k che per la regola della derivata del prodotto è:

portando il secondo termine al primo membro otteniamo l’equazione citata precedentemente, ovvero:

A questo punto si introducono due relazioni relativamente ovvie:

dt ( ∂qj ) ∂qj dt
d ∂ r k⃗ ∂ d r k⃗
Se abbiamo la derivata l’ordine delle derivate lo posso alterare =
n
∂ 2 r k⃗ · ∂ 2 r k⃗
dt ( ∂qj ) ∑ ∂qj ( dt )
d ∂ r k⃗ ∂ d r k⃗
E = qi + =
i=1
∂qj ∂qi ∂qj ∂t

149
ff
fi
fi
ff
ff
ff
SETTIMANA 11
∂ d r k⃗ ∂ r k⃗ r· ∂r
E = , come se avessimo scritto = .
∂q· j dt ∂qj q ∂q

Allora sostituendo queste nella precedente ottengo:


N N
d 2 r k⃗ ∂ r k⃗
[ ( ) dt ( ∂qj )]
d d r k⃗ ∂ r k⃗ d r k⃗ d ∂ r k⃗
∑ dt 2 ∂qj ∑
mk = mk ⋅ − mk ⋅
k=1 k=1
dt dt ∂q j dt

N N n
d 2 r k⃗
∑ ∑ [ dt ( k dt ∂q· j dt ) ]
d d r k⃗ ∂ d r k⃗ d r⃗ ∂ d r k⃗
− mk k ⋅
∑ k dt 2
m δ r k⃗ = m ⋅ δqj
k=1 k=1 j=1
dt ∂q j dt

A sinistra c’è il lavoro virtuale delle forze d’inerzia cambiato disegno che stiamo cercando di rappresentare in un altro modo,
ovvero stiamo elaborando queste derivate.

Cioè:
N n N n N N
d 2 r k⃗
[ dt ( dt ∂qk dt ) dt ∂qj dt ] [ dt ∂qj ( k=1 2 dt ) ∂qj ( k=1 2 dt )]
d d r⃗ ∂ d r k⃗ d r⃗ ∂ d r k⃗ d ∂ 1 d r k⃗ d r k⃗ ∂ 1 d r k⃗ d r k⃗
mk k ⋅ − mk k ⋅
∑ ∑ ∑ ∑ ∑ ∑
mk δ r k⃗ = δqj = · mk ⋅ − mk ⋅ δqj
k=1
dt 2
j=1 k=1 j=1
dt dt

Per capire questo passaggio si pensi di farlo a ritroso:


N
d ∂ 1 d r k⃗ d r k⃗
dt ∂q· j ∑
consideriamo il termine m ed è come se avessi la derivata del quadrato della velocità e allora posso
j=1
2 k dt dt
d ∂ 1 2 d
esprimere il risultato come v e da v → a (accelerazione).
dt ∂v 2 dt

Discorso analogo per l’altro termine.

I termini nali tra parentesi sono i termini che rappresentano l’energia cinetica del sistema.

N 2
F ⃗ − mk
∑( k dt ) k
d r k⃗
Quindi alla ne viene fuori che partendo dall’applicazione del principio dei lavori virtuali δW = δ r⃗ = 0
k=1
E questo termine lo andiamo a esprimere come

N n N N
d 2 r k⃗
dt ∂q· j ( ∑ ) ( )
d ∂ 1 d r k⃗ d r k⃗ ∂ 1 d r k⃗ d r k⃗
∑ ∑ ∑ 2 k dt
mk δ r k⃗ = mk ⋅ − m ⋅ δqj
k=1
dt j=1 k=1
2 dt dt ∂q j k=1
dt

T T

Dove questi termini rappresentano l’energia cinetica T.

Quindi l’equazione del principio dei lavori virtuali si presenta come:

dt ( ∂qj ) ∂qj
d ∂T ∂T
· − = Qj (55) ( j = 1,⋯, n)
N
F ek⃗ k =
∂r ⃗ δW

Con Qj = (56) è la forza generalizzata
k=1
∂q j δq j

queste sono le Equazioni di Lagrange.

Ci sono alcuni discorsi di carattere generale da fare perchè le forze esterne possono essere classi cate in due categorie forze
esterne conservative F ck⃗ e forze esterne non conservative F nc⃗
F ek⃗ = F ck⃗ + F nc

k
E allora potremmo scrivere k (57)

Considerando il lavoro delle forze esterne trascuriamo completamente il lavoro delle forze interne e questo è dovuto al fatto chre
consideriamo sistemi con dei vincoli perfetti.

150
fi
fi
fi
SETTIMANA 11
Considerando un vincolo di coppia prismatica, se non c’è attrito, le reazioni tra le super ci saranno normali alle super ci stesse e
considerandone lo spostamento virtuale della massa il lavoro deve essere nullo in quanto forza e spostamento sono tra loro
ortogonali.

Se i vincoli non sono perfetti e c’è attrito si possono comunque utilizzare le equazioni di Lagrange a bisogna portare in conto il
lavoro delle forze d’attrito come lavoro delle forze esterne.

Dalla suddivisione delle forze possiamo calcolare il lavoro delle forze conservative per le quali otteniamo il potenziale associato V
N n
F ck⃗ δ r k⃗
∂V
∑ ∑
alla forza = − δqj (58)
k=1 j=1
∂qj

Allora possiamo presentare le equazioni di Lagrange come:

dt ( ∂qj ) ∂qj
d ∂T ∂T ∂V
· − =− + Qjnc ( j = 1,…, n)
∂qj

A questo punto viene naturale spostare il termine al primo membro:


Si ricordi che il potenziale dipende solo dalle potenziali (e non dalle velocità) e, introdotta allora la funzione Lagrangiana
∂T ∂L ∂V
L =T−V (60) ,si ha che = ovvero =0
∂q· j ∂q· j ∂q· j

dt ( ∂qj ) ∂qj
d ∂L ∂L
Riscrivendo le equazioni di Lagrange come:
· − = Qjnc ( j = 1,…, n)

dt ( ∂q· j ) ∂qj
d ∂L ∂L
O nel caso in cui non ci sono forze non conservative il termine è nullo e quindi − =0 ( j = 1,…, n)

Il professore ci sconsiglia di utilizzare il potenziale e quest’ultima ma ci consiglia la forma più generale (55).

L’energia va calcolata considerando le velocità assolute e non relative.

151
fi
fi
SETTIMANA 11
Applicazioni

152
SETTIMANA 11

NELLE PROSSIME LEZIONI VEDREMO ALTRI ESEMPI.

153
SETTIMANA 11

154
SETTIMANA 12

BIOPROTESI
Parte Prof. Pennestrì

Settimana 12

155
SETTIMANA 12

Indice settimana 12
Indice settimana 12 2
giovedì 10 dicembre 2020 3
Moltiplicatori di Lagrange e reazioni vincolari 8
Matrice delle masse 10
Forze generalizzate 10
Esame scritto 11
Curiosità sui di analisi vibrazionale 11
venerdì 11 dicembre 2020 12
Attrito Coulombiano 17

156
SETTIMANA 12
giovedì 10 dicembre 2020

Riprendiamo il discorso sulla dinamica Lagrangiana che poi riprenderemo in chiave multibody.
Abbiamo visto le equazioni di Lagrange e come potevano essere utilizzate per dedurre le equazioni del moto ma abbiamo
considerato un caso particolare ovvero abbiamo visto le equazioni di Lagrange per il caso in cui il numero di coordinate
generalizzate fosse uguale al numero di gradi di libertà del sistema e questa situazione con i sistemi multibody non può veri carsi.

Partiamo con analizzare meglio un problema che abbiamo già a rontato: l’analisi del pendolo composto.
È un sistema ad 1 grado di libertà ma abbiamo deciso di impostare un metodo di analisi cinematica assegnando a ciascun corpo
libero di muoversi nel piano tre gradi di libertà, ovvero tre coordinate.
Consideriamo quindi il sistema di riferimento sso del telaio e il riferimento mobile associato all’asta con le sue coordinate
q1, q2, q3. Dove q1, q2 sono le coordinate dell’origine (tipicamente nel baricentro) e q3 rappresenta l’orientamento e quindi
l’angolo.

Possiamo utilizzare le equazioni di Lagrange:


1 1
T = m (q· 21 + q· 22) + I q· 23, con I momento di inerzia baricentrico
2 2
Immaginiamo il corpo soggetto alla forza di gravità.

Applichiamo allora le equazioni di Lagrange considerando δW = − mgδq2 e allora:


d ∂T ∂T
− = Q1
dt ∂q1 ∂q1
d ∂T ∂T
− = Q2
dt ∂q2 ∂q2
d ∂T ∂T
− = Q3
dt ∂q3 ∂q3
Avendo tre variabili dovremmo applicarle tre volte:
Q1 =
δW
=0
<— NO
δq1
δW
Q2 = = − mg
δq2
δW
Q3 = =0
δq3

Andando a sviluppare le tre equazioni dovremmo trovare qualcosa del tipo:


- m q··1 = 0
- m q··2 = − mg
- I q··3 = 0

Si vede però che manca qualcosa: abbiamo applicato le equazioni della dinamica come se avessimo un sistema a tre gradi di
libertà ma abbiamo un sistema in cui possiamo avere 1 equazione al massimo (1 grado di libertà).
In realtà le coordinate q1, q2, q3 non sono libere ma sussistono delle relazioni di vincolo dovute alla presenza della cerniera e
quindi possiamo stabilire delle relazioni algebriche tra le coordinate
ψ1 (q1, q2, q3) = 0
ψ2 (q1, q2, q3) = 0
Ovvero delle equazioni di vincolo dovute alla presenza della coppia rotoidale.

157
fi
ff
fi
SETTIMANA 12
Vediamo come tenere conto di queste equazioni di vincolo nella deduzione delle equazioni del moto utilizzando l’approccio
d ∂L ∂L
lagrangiano. Riprendiamo la formula generale − = 0 i = 1,2,…, n. Questa formula in realtà corrisponde ad un
dt ∂q· i ∂qi
problema di stazionarietà di una funzione, o meglio, è la formula che fornisce la soluzione del seguente problema
t2

∫t
δ L (q1, q2, …, qn, t) dt = 0. Questa formula rappresenta il fatto che cerchiamo la soluzione che rende stazionario questo
1
integrale.
Volendo calcolare il punto di stazionarietà di una funzione sarebbe piuttosto semplice, basta fare la derivata, ma qui abbiamo a
che fare con un integrale. Si dimostra (forse lo vedremo alla ne del corso) che per determinare il punto di stazionarietà di questo
integrale dobbiamo applicare la formula di Lagrange vista poco fa.
Esiste tutta una branca dell’analisi sugli integrali e sul calcolo del minimo di integrali, ovvero il calcolo variazionale.
Molto spesso le equazioni di Lagrange si dice che forniscano una formulazione integrale del principio della dinamica, infatti si arriva
alle equazioni della dinamica rende stazionario (in particolare minimizzando) tale integrale.
In realtà dobbiamo rendere stazionario l’integrale tenendo conto delle equazioni di vincolo ψ1 = 0 e ψ2 = 0. Lagrange ha
pensato a questo problema e come quando si cerca il punto di stazionarietà di una funzione con le variabili soggette a vincoli si
introduce una nuova equazione costruita nel seguente modo: funzione originale (per noi la lagrangiana) e poi i moltiplicatori di
Lagrange. Ovvero L* = L − λ1ψ1 − λ 2 ψ2.
Allora se vogliamo le equazioni del moto tenendo conto delle equazioni di vincolo dobbiamo formare questa nuova funzione nota
come lagrangiana estesa in cui gurano i moltiplicatori di Lagrange moltiplicati per le funzioni di vincolo.

Allora dovrò applicare le equazioni di Lagrange a questa nuova funzione.


d ∂L* ∂L*
− = 0 <— in presenza di vincoli.
dt ∂q· i ∂qi

Nel caso del pendolo composto le equazioni hanno la seguente forma:


ψ1 = q1 − L cos q3 = 0
ψ2 = q2 − L sin q3 = 0
Cioè la presenza del vincolo impone delle relazioni tra le coordinate generalizzate.

È importante capire come le equazioni di Lagrange costituiscono una sorta di algoritmo (una formula) per calcolare il punto di
stazionarietà di un integrale ma una volta capito che la relazione ci porta ad una condizione di stazionarietà (che per i sistemi
meccanici porterà ad un minimo se il sistema è stabile) se vado a trasformare il problema di ottimo inglobando le equazioni di
vincolo con il metodo dei moltiplicatori di Lagrange arrivo a de nire una nuova funzione Lagrangiana estesa a cui applico le
equazioni di vincolo.

In questo caso la funzione lagrangiana estesa sarà:


1 1
L* = m (q· 21 + q· 22) + I q· 23 − λ1 (q1 − L cos q3) − λ 2 (q2 − L sin q3)
2 2
SI OSSERVI CHE ANZICHÉ CALCOLARE IL POTENZIALE STIAMO CALCOLANDO LE FORZE GENERALIZZATE E NON SERVE PREOCCUPARSI DEL POTENZIALE POICHÉ
CALCOLIAMO IL LAVORO VIRTUALE DELLA FORZA PESO (È LA STESSA COSA).

Applicando le equazioni di Lagrange con i = 1,2,3 possiamo scrivere:


m q··1 + λ1 = 0
m q··2 + λ 2 = − mg
I q··3 + λ1L sin q3 + λ 2 L sin q3 = 0

Riformuliamo questo in forma matriciale:

m 0 0 q··1 1 0 0
[ 0 0 I] {λ 2} {
0 }
λ1
0 m 0 q··2 + 0 1 = −mg
q··3 L sin q3 −L cos q3

∂ ψ1 ∂ ψ1 ∂ ψ1

[0 1 −L cos q3]
1 0 L sin q3
Osservando le relazioni di vincolo e facendone lo Jacobiano: [ψq]
∂q1 ∂q2 ∂q3
= ψ2 ∂ ψ2 ∂ ψ2
=
∂q1 ∂q2 ∂q3

E confrontandolo con la precedente si vede come il termine a moltiplicare il vettore dei moltiplicatori di Lagrange è proprio [ψq] ,
T

lo Jacobiano trasposto.
158
fi
fi
fi
SETTIMANA 12
Ovvero:
m 0 0 q··1 1 0 0
[ 0 0 I] {λ 2} {
0 }
λ1
0 m 0 q··2 + 0 1 = −mg
q··3 L sin q3 −L cos q3
{λ}
[m]
ψqT {Q}
{ q}
··

Che rappresentano:
- Matrice delle masse [m]
- Vettore delle accelerazioni {q··}
- Jacobiano trasposto [ψq]
T

- Moltiplicatori di Lagrange {λ}


- Vettore dei termini noti {Q}

[M ] {q··} + [ψq] {λ} = {Q}, ovvero le equazioni differenziali del moto.


T

Le incognite sono q1, q2, q2, λ1, λ 2 in tre equazioni di erenziali (che andremo ad integrare) a cui però vanno aggiunte le due

{ψ2 = 0
ψ1 = 0
equazioni algebriche di vincolo .

Abbiamo quindi un sistema di equazioni algebrico-differenziali che dovrà essere integrato andando a considerare il sistema

{ψ (q1, q2, ⋯, qn, t) = 0}


SI OSSERVI CHE IL RISULTATO NON CAMBIA SE CONSIDERIAMO TUTTE LE FORZE SENZA POTENZIALE CALCOLANDOLE LA RISPETTIVA FORZA GENERALIZZATA (COSÌ COME
ABBIAMO FATTO).
A MENO CHE NON SI TRATTI DI UNA FUNZIONE QUADRATICA COME L’ELEMENTO ELASTICO NON SEMPRE CONVIENE UTILIZZARE IL POTENZIALE, AD ESEMPIO PER LA FORZA
PESO POTREBBE ESSERCI IL PROBLEMA SE IL POTENZIALE HA SEGNO POSITIVO E NEGATIVO. QUINDI CONSIDERO LA FORZA PESO SENZA IL POTENZIALE E CALCOLO LE
FORZE GENERALIZZATE COME SE LA FORZA PESO FOSSE UNA FORZA COME LE ALTRE CON UN SUO LAVORO VIRTUALE CHE QUINDI MI PORTA A CALCOLARE LA FORZA
GENERALIZZATA ASSOCIATA ALLA VARIAZIONE DELLE RISPETTIVE COORDINATE.
QUESTO DISCORSO, DI CONSIDERARE TUTTE LE FORZE SENZA POTENZIALE, VALE PER OGNI SISTEMA E PER OGNI FORZA.

IL PROF CI CONSIGLIA DI UTILIZZARE IL POTENZIALE SOLO PER LE FORZE ELASTICHE, POICHÉ ESSENDO QUADRATICA NON SI RISCHIA DI SBAGLIARE IL SEGNO. ANCHE
PERCHÈ ANDREBBE PRESO L’ALTRO MENO CHE DERIVA DA L = T − V E C’È UN DOPPIO RISCHIO DI PERDERSI I SEGNI.
NON CALCOLARE ASSOLUTAMENTE SIA IL POTENZIALE CHE LA FORZA GENERALIZZATA POICHÉ ANDREMMO A INSERIRE DUE VOLTE LA STESSA ENTITÀ!

Ci troviamo davanti a qualcosa a cui non siamo abituati, solitamente a rontiamo sistemi di equazioni di erenziali con tante eq
quante sono le incognite ma qui non è così.
·· ci fa pensare ad m a ⃗ =
Osservando la forma matriciale il termine [M ] {q } F ⃗ ovvero un prodotto massa accelerazione.

Poi ci sono gli altri due termini {Q} − [ψq]
T
{λ} che rappresenterà la somma delle forze che agiscono sulle masse, con {Q}

che rappresenta le forze esterne mentre − [ψq]


T
{λ} le reazioni vincolari (o forze interne).
Risolvendo con il metodo lagrangiano la dinamica del sistema la soluzione fornendo sia le coordinate generalizzare che i λ ci porta
a calcolare automaticamente anche le reazioni vincolari. Quindi apparentemente le reazioni vincolari non le consideriamo ma
rientrato nel momento in cui abbiamo dei vincoli algebrici tra le coordinate generalizzate con le equazioni algebriche che
corrispondono proprio alle equazioni di vincolo e con i moltiplicatori di Lagrange corrispondenti ottengo le reazioni vincolari.

Rivediamo il usso logico che abbiamo seguito:


Siamo partiti scrivendo un’eresia!
Mancava qualcosa e per capire cosa abbiamo introdotto una nozione che dimostreremo più avanti da dove viene e come
l’integrale è legato alla formula di Lagrange arrivando al concetto importante da ricordare ovvero che calcolare la funzione di
stazionarietà dell’integrale citato richiede lo sviluppo della funzione lagrangiana attraverso la formula di Lagrange.
Stiamo ottimizzando qualcosa dove le variabili non sono libere ma soggette ai vincoli e allora introduciamo una nuova funzione
obiettivo (funzione lagrangiana estesa) e l’abbiamo applicata all’equazione di Lagrange. Abbiamo riscritto le equazioni del moto in
forma matriciale osservando come usciva fuori il termine delle reazioni vincolari che agiscono sulle masse.

Concentriamoci allora sul sistema di equazioni algebrico-di erenziali dove esistono tante strategie per risolverlo.
La parte più importante di questo sistema è proprio la matrice Jacobiana e abbiamo visto come generarla in maniera del tutto
automatica.
159
fl
ff
ff
ff
ff
SETTIMANA 12
Ad esempio riprendendo l’esempio del doppio pendolo dove abbiamo visto esserci 6 coordinate generalizzate e quindi 6
equazioni di erenziali con 2 coppie rotoidali (4 equazioni di vincolo) e allora 10 equazioni.

La matrice delle masse sarà del tipo:

molto semplice da calcolare


Anche la matrice Jacobiana sappiamo calcolarla in maniera automatica (anche se più elaborata) e più avanti vedremo come
calcolare in maniera automatica anche il vettore delle forze generalizzate.

CONCENTRIAMOCI SU UNA STRATEGIA DI CALCOLO E SOLUZIONE DEL SISTEMA DI EQUAZIONE ALGEBRICO DIFFERENZIALE.
SI TENGA A MENTE CHE LE EQUAZIONI DIFFERENZIALI CHE SIAMO IN GRADO DI RISOLVERE ANALITICAMENTE SI CONTANO SULLE PUNTA DELLE DITA.

Ammettiamo di avere un’equazione di erenziale come m x ·· +kx = F


ricordiamo il metodo di Runge-Kutta o il metodo di Eulero.

Ad esempio per il metodo di Eulero: y· = f (t, y) e y (0) = y0


Si calcolala il valore successivo sommando la condizione precedente più il passo
per il coe ciente angolare della retta:
y1 = y0 + Δt ⋅ s0 = y0 + Δt f (t0, y0)
y2 = y1 + Δt s1 = y1 + Δt f (t1, y1)
Questo per sistemi del primo ordine.

Invece per sistemi del secondo ordine possiamo tornare a sistemi del primo ordine:
F
si introduce la variabile x· = y e allora y· = − k x.
m

[−k 0] { } { m }
0
= {y} e quindi otteniamo il sistema del primo ordine {z}
x · = 0 1 x + F .
Ovvero {z} y

In Matlab dovremmo sempre ridurci a integrare sistemi di erenziali del primo ordine.

Esistono tuttavia algoritmi per integrare sistemi di equazioni di erenziali del secondo ordine come l’algoritmo di Newmark che noi
non a ronteremo.

} [ q]
T
Adesso dobbiamo decidere come risolvere il sistema [M ] {q
·· + ψ {λ} = {Q} e una possibile strategia è quella di
derivare due volte rispetto al tempo il sistema delle equazioni di vincolo:

{ψ (q1, q2, ⋯, qn, t)} = {0} e derivando due volte rispetto al tempo ottengo un sistema di equazioni di erenziali lineari del
tipo [ψq] {q } { }
·· = γ e guardandolo insieme al sistema precedente viene l’idea di considerarli simultaneamente.

{ } { γ}
M ψqT q··
[ψq 0] λ
Q
Ovvero un unico mega sistema del tipo = , dove la matrice è scritta in forma partizionata. Questo

sono le equazioni della dinamica secondo l’approccio multibody.

Ci sono diverse quantità che sappiamo calcolare ψq, ψqT , γ e ci basta trovare come calcolare Q, assemblare il sistema e
procedere a risolverlo per di erenze nite.
160
ff
ffi
ff
ff
fi
ff
ff
ff
ff
SETTIMANA 12
Facendo un esempio molto brutale, conoscendo i vettori posizione e velocità iniziali {q0}, {q· 0} posso calcolare risolvendo
2
·· Δt + ⋯.
{q0} e allora {q1} = {q0} + {q0} Δt + {q0}
·· ·
2
Da qui posso calcolare {q· 1} = {q· 0} + {q 0}
·· Δt e posso andare avanti.

In realtà non applicheremo questo algoritmo ma la cosa importante è che se conosco le accelerazioni al tempo t = 0 posso
calcolare posizione e velocità al tempo t + Δt stimandole per di erenze nite con vari algoritmi.

Si osservi anche che la matrice dei coe cienti è una matrice simmetrica e quindi questo ci tornerà utile considerando che la
velocità con cui riusciremo a simulare il sistema meccanico dipende proprio dalla velocità con cui riesco a risolvere questo
sistema. Quindi si cerca una SOLUZIONE OTTIMALE di questo sistema ed esistono tanti metodi, ognuno con la sua peculiarità.
La simmetria della matrice dei coe cienti verrà sicuramente utilizzato per ottimizzare la soluzione.

Ad esempio considerando le librerie lapac poi implementate anche il Matlab si vede come i comandi sono ottimizzati sulla base
della matrice dei coe cienti.
Ovviamente stiamo parlando di soluzione al calcolatore non manualmente!
Ad esempio leggendo la documentazione del comando linsolve in Matlab a cui diamo in pasto [A], {b} e ci restituisce {x}
del sistema [A] {x} = {b}. Esistono però delle options per sfruttare le diverse proprietà della matrice dei coe cienti. Noi qui
abbiamo una matrice dei coe cienti sparsa.

{sparse, il numero degli zeri è predominante, circa l'80 %


dense, in cui il numero degli zeri
matrici

In questo caso evito la moltiplicazione per 0 che per quando è un tempo piccolissimo risparmio del tempo macchina.
Esiste tutta una classe di algoritmi orientata alle matrici sparse che mi permettono di ottimizzare ancora di più l’algoritmo.

SI RICORDI CHE ABBIAMO UN NUMERO DI EQUAZIONI DIFFERENZIALI PARI AL NUMERO DI COORDINATE GENERALIZZATE CHE INTEGRIAMO IN MANIERA CONGIUNTA ALLE
EQUAZIONI DI VINCOLO PARI AL NUMERO DEI MOLTIPLICATORI DI LAGRANGE.

Si osservi inoltre che mentre il primo sistema, con i vincoli sulle posizioni, ha indice di erenziale (DAE) 3, il sistema ottenuto con la
doppia derivazione (quello completo e risolvibile) ha indice di erenziale 1 e il fatto di andare ad integrare con vincoli sulle
accelerazioni (e non più sulle posizioni) pone dei problemi sul risultato numerico (i vincoli sulle posizioni verrano meno) e sarà
necessario intervenire con dei correttivi e cercare di limitare questa deriva numerica tra le diverse iterazioni.
Risolvere i due sistemi non è la stessa cosa!

In questo gra co viene rappresentata la norma euclidea del vettore delle equazioni di vincolo sulle posizioni dove si vede come
inizialmente è zero (tutti i vincoli sulle posizioni sono soddisfatti) e andando avanti l’aumento della norma signi ca che stiamo
perdendo i vincoli.
Dovremmo allora intervenire con degli algoritmi per stabilizzare la soluzione e una delle tecniche per stabilizzare è l’algoritmo di
Baumgarte che fa si che la norma del vettore delle equazioni di vincolo sulle posizioni rimane entro un certo valore.

161
fi
ffi
ffi
ffi
ffi
ff
ff
fi
ff
fi
ffi
SETTIMANA 12
Allora abbiamo il sistema di equazioni algebrico-di erenziali:

{ } { γ}
M ψqT q··
[ψq 0] λ
Q
=

−1

[C21 C22]
M ψqT
[ψq 0]
C11 C12
Possiamo calcolarne l’inversa a blocchi: = con

[C22] = − ([ψq] [M ] [ψq] )


T −1
−1

[C11] = [M ] − [M ] [ψq] [C22] [ψq] [M ]


T
−1 −1 −1

[C12] = [C21] = − [M ] [ψq] [C22]


T T
−1

(Non è comunque questo il modo più e ciente per risolvere il sistema)


Vedremo i diversi metodi e cienti per risolvere questo sistema.

Moltiplicatori di Lagrange e reazioni vincolari


È vero che i termini relativi alle reazioni vincolari li calcolo moltiplicando la matrice jacobiana trasposta per il vettore dei moltiplicatori
di Lagrange, ma sono calcolati in maniera un po scomoda poiché sono calcolati nel riferimento assoluto mentre sono interessato
ad averli nel riferimento del giunto.

Consideriamo un sistema isostatico (per sistemi iperattivi questo discorso non vale! Potremmo risolvere la dinamica ma non
riusciamo a calcolare le reazioni vincolari precisamente e saremo costretti ad introdurre equazioni elastiche).
Se il sistema soddisfa l’equazione di Grubler o di Kutzbach possiamo stare tranquilli.

Immaginiamo di avere un sistema di riferimento locale, tipicamente


posizionato nel baricentro del corpo mentre Pk è l’origine del giunto.
Indichiamo le distanze.

Possiamo introdurre la matrice di trasformazione dal riferimento del


giunto al riferimento locale (i-esimo corpo).
Ovvero la matrice:

[ikC]
i

Poi per il riferimento assoluto ci pensa la solita matrice [0i A]

Ovvero {0r} = [0i A] [iikC] {ikr}

Otteniamo quindi le componenti del vettore nel riferimento assoluto.

Andiamo allora a calcolare il lavoro virtuale compiuto dalle forze di reazione vincolare, questo è uno scalare ed è evidente che non
dipenderà dal sistema di riferimento utilizzato per calcolarlo.
ψ qk3i−2 ψ qk+1
3i−2

3i−1 {λ
k+1}
λk
δW0 = − {δq3i−2 q3i−1 q3i} ψ qk3i−1 ψ qk+1 , ovvero il lavoro virtuale delle forze di reazione associate alla

ψ qk3i ψ qk+13i
coppia k ma ed agenti sul corpo i, tutto espresso rispetto il riferimento assoluto.

Abbiamo considerato 2 equazioni di vincolo ed è il tipico caso di una coppia rotoidale o prismatica nel piano.

= {ikFx y} e la coppia come


T
Indichiamo le reazioni vincolari espresse nel riferimento del giunto come {ikF} ik F Tz.
ik
Fx
{ kFy}
Allora possiamo calcolare il lavoro mediante la relazione δWi
k
= {δ rx
ik
δ ry} i
ik
+ δq3iTz esprimendo forze e

spostamento nel riferimento del giunto.

162
ffi
ffi
ff
SETTIMANA 12

{δq3i−1} [ cos q3i −sin q3i ]


i
sx
{ sy}
δq3i−2 −sin q3i −cos q3i
Quindi devo calcolare tutte le variazioni virtuali = {0δr} − [Bi] i δq3i con [Bi] =

Allora vado a calcolarmi il lavoro virtuale con le forze calcolate nel riferimento assoluto:
T
ψ qk3i−2 ψ qk+1
{λk+1} [ 3i 3i ] {λ
k+1}
δ ik rx i
sx
{ {δ ik ry} {isy} }
λk λk
[i A] [ikC] − [Bi]
o i k3i−2
k+1
δW0 = − δq3i ⋅ − ψ q ψ q δq3i =
ψ qk3i−1 ψ qk+1
3i−1

ψ qk3i−2 ψ qk+1 k k+1

{λk+1} { } 3i ] {λ
k+1}
λk T ψ q3i−2 ψ q3i−2 λk λk
= − {δ ik rx δ ik ry} [iikC] [i0 A] + { x y} [Bi] δq3i − [ψ qk3i ψ qk+1
T T 3i−2 i i
s s δq3i
ψ qk3i−1 ψ qk+1 k k+1
ψ q3i−1 ψ q3i−1 λk+1
3i−1

che dovrà essere uguale al lavoro virtuale con le forze calcolate nel riferimento del giunto:

ik
Fx
{ Fy}
Sostituendo le forze nella relazione δWi
k
= {δ ik rx δ ikk ry} ik
+ δq3iTz e uguagliando membro a membro si arriva a:

ψ qk3i−2 ψ qk+1
{λk+1}
ik
Fx
{ikFy}
λk
[ k ] [i A]
T T
i 0 3i−2
=− i C
ψ qk3i−1 ψ qk+1
3i−1
k
ψ qk+1
{λk+1}
ψ q3i−2 λk
Tz = { sx sy} [Bi] − [ψ qk3i ψ qk+1
3i ]
i i T 3i−2

piqk3i−1 ψ qk+1
3i−1

Ovvero è come se avessimo ottenuto una trasformazione delle reazioni vincolari dal riferimento assoluto al riferimento del giunto.

i ψ qk3i−2 ψ qk+1
k Fx 3i−2

{λk+1}
λk
Ovvero nella forma generale ik
Fy = [R] ψ qk3i−1 ψ qk+1
3i−1
dove:
Tz ψ qk3i ψ qk+1
3i
- [Bi] = [0i A] [V ]T

− [iikC] [0i A]
T T
0
[R] =
-
{ sk} [V ] [i A]
i T 0 t
−1

- { kF} = { kFx Fy}


T
i i ik

- { sk} = { sx sy}
T
i i i

- [V ] = [−1 0]
0 1

Ad esempio per la coppia rotoidale:


Considerati riferimento locale e riferimento del giunto si ha:

[ikC] = [0 1]
i 1 0

ψ qk3i−2 ψ qk+1
3i−2 1 0
ψ qk3i−1 ψ qk+1 = 0 1

(q3i−1 − Yp) (Xp − q3i−2)


3i−1

ψ qk3i ψ qk+1
3i
ik
Fx λk cos q3i + λk+1 sin q3i
ik =−
E Fy −λk sin q3i + λk+1 cos q3i
Tz 0
Reazioni vincolari nella cerniera

163
SETTIMANA 12
Scegliamo l’asse x del riferimento del giunto xk orientato lungo l’asse della coppia prismatica:

Reazioni vincolari nella coppia prismatica

E facendo i calcoli si trova:

ψ qk3i−2 ψ qk+1
3i−2 (YBi − YAi) 0
con H1 = (XA − XB ) (q3i−2 − XC ) − (YA − YB ) (YC − q3i−1)
(XAi − XBi) 0
ψ qk3i−1 ψ qk+1
3i−1
= i i j i i j
ψ qk3i ψ qk+1
3i H1 1

[ikC] = [ sin α cos α ]


i cos α −sin α

ik
Fx K1
ik
Fy =− K2 con:
Tz K3
K1 = 0,

[ ]
K2 = λk (YBi − YAi) sin (q3i−1 + α) − (XAi − XBi) cos (q3i + α) ,

[ ]
K3 = λk (q3i−1 − YBi) (YBi − YAi) + (XBi − q3i−2) (XAi − XBi) − H1 − λk+1

Lungo l’asse x non c’è nessuna resistenza mentre lungo l’asse z c’è una coppia di reazione e una forza di reazione lungo y.

Matrice delle masse


M1 0 0 0
mi 0 0
0 M2 0 0
Ha tanti blocchi quanti le masse [M ] = con il generico blocco [Mi] = 0 mi 0
0 0 ⋱ 0
0 0 Ii
0 0 0 Mn

Forze generalizzate
N
δW ⃗ ⋅ ∂ r k⃗ ,
F nc

Qj = = k
δqj ∂qj

k=1
dove δW è il lavoro virtuale delle forze esterne k (k = 1,2,…, N ) e δqj la variazione virtuale della generica coordinata qj
F nc

SU QUESTO AFFRONTEREMO UN DISCORSO PIÙ GENERALE NELLA LEZIONE SUCCESSIVA E POI SAREMO PRONTI PER VEDERE DEI CODICI DI SIMULAZIONE MULTIBODY CON
ALCUNE PROCEDURE MATLAB CHE ESSENZIALMENTE SONO I MODULI CHE GIÀ ABBIAMO VISTI MA INSERITI (NON COME MODULI DI ANALISI CINEMATICA) MA PER
GENERARE DEGLI ELEMENTI DELLA MATRICE JACOBIANA E DEL VETTORE Γ DA INSERIRE NELLE EQUAZIONI DIFFERENZIALI E DOPODICHÉ VIENE FORMATA LA MATRICE DEI
COEFFICIENTI GENERALE CHE SI DA IN PASTO ALL’INTEGRATORE IL QUALE SFORNA TUTTE LE VARIABILI POSIZIONI, VELOCITÀ E ACCELERAZIONI.

164
SETTIMANA 12
Esame scritto
3 esercizi sulla parte del prof. Pennestrì tipicamente “molto semplici” teoria ed esercizi essenzialmente su Lagrange o comunque
fattibili con la calcolatrice.
Ad esempio come determinare le equazioni del moto con i moltiplicatori di Lagrange, metodo dei moltiplicatori di Lagrange,
decomposizione QR e SVD, dimostrazione della formula di Rodrigues, teorema di Eulero, interpretazione delle matrici di rotazione,
matrice di rotazione per sovrapporre gli assi di due sistemi di riferimento, angoli di eulero velocità angolari e derivate degli angoli di
eulero, Gupta-Chutakanonta.

Per esercitarsi provare gli esercizi dal libro “Meccanica applicata alle macchine” ma anziché con il principio dei lavori virtuali.

Curiosità sui di analisi vibrazionale


RITZ SI LAUREA IN INGEGNERIA A 22 ANNI MA SI TROVA SENZA MEZZI ECONOMICI E DECIDE DI PARTECIPARE AD UN CONCORSO INDETTO DALL’ACCADEMIA DELLE
SCIENZE DI FRANCIA PER UN METODO DI CALCOLO PER LE FREQUENZE NATURALI DI UNA PIASTRA. PARTECIPA AL CONCORSO E VA A GENERALIZZARE IL METODO DI
RAYLEIGH (VEDERE IL TESTO “DINAMICA E TECNICA COMPUTAZIONALE VOLUME 1” DEL PROFESSORE) E GETTA ANIMA E CORPO IN QUESTO CONCORSO. NON VINCE IL
PREMIO MA L’ORGANIZZATORE DEL CONCORSO SI SCUSERÀ PER NON AVERGLIELO ASSEGNATO. RITZ MUORE POCO DOPO CON QUESTO UNICO LAVORO SULL’ESTENSIONE
DEL METODO DI RAYLEIGH.

165
SETTIMANA 12
venerdì 11 dicembre 2020

Nella precedente lezione il risultato più importante riguarda la scrittura delle equazioni della dinamica secondo l’approccio

= ] {λ} { γ }
M ΨTq q··
[Ψq
Q
multibody =

Questa è la forma delle equazioni che abbiamo visto nella precedente lezione.
mi
Abbiamo spiegato poi come assemblare la matrice delle masse (caso 2D): per ogni massa una matrice Mi = mi e
Ii
M1
M2
quella globale viene formata disponendo questi blocchi sulla diagonale [M ] =

Mn
Abbiamo visto come generare la matrice jacobiana [Ψq] e il vettore {γ}.

E come determinare dal vettore dei moltiplicatori di Lagrange le reazioni vincolari nel riferimento del giunto: [ψq]
T
{λ}

Ci manca da analizzare Q le forze generalizzate.


Procediamo tenendo conto della de nizione di forze generalizzate, si calcola il lavoro virtuale di tutte le forze esterne δW e la forza
δW
generalizzata associata alla variazione virtuale della generica coordinata generalizzata si calcola come Qj = .
δqj
N
F k⃗ ⋅
∂ r k⃗
, è un prodotto scalare, dove r k⃗ è proprio il vettore punto di applicazione della forza esterna.

Si osservi che δW =
k=1
∂qj

Dobbiamo però impostare questo discorso in maniera tale da poter programmare il computer a nché questi termini siano
automaticamente calcolati.
Fx
{Fy}
Osservano la formula per una generica forza generalizzata di componenti nel riferimento assoluto F = o C (coppia),

applicata nell’origine del riferimento locale.

{δq3i−1} {Fy}
δq3i−2 Fx
Possiamo calcolare il lavoro virtuale δW = + Cδq3i

δW δW δW
E la forza generalizzata: Q3i−2 = = Fx, Q3i−1 = = Fy e Q3i = = C.
δq3i−2 δq3i−1 δq3i

Potremmo però trovarci in una situazione diversa, con la forza applicata in un punto che non sia l’origine del riferimento locale, ad
esempio immaginiamo la forza applicata in un punto individuato dal vettore s p⃗ nel riferimento locale. Si individua il vettore posizione
del punto P ovvero il vettore r p⃗ che ne individua la posizione assoluta. s p⃗ rimane invariato se il corpo si muove mentre r p⃗ varia.

È bene ricordarsi di dover calcolare lo spostamento virtuale del punto di applicazione della forza esterna e quindi esprimiamo la
posizione del punto di applicazione con le coordinate generalizzate.

166
fi
ffi
SETTIMANA 12

{ rp} = {q3i−1} + [i A] { sp} dove [i A] = [ sin q cos q3i ]


0
q3i−2 0 i 0
cos q3i −sin q3i
3i

Procediamo a calcolare la variazione virtuale osservando che

[ cos q3i −sin q3i]


δ 0i Ai −sin q3i cos q3i
= Bi =
δq3i

{δq3i−1} [ i] { p} 3i
δq3i−2
E allora {δ 0rp} = + B is δq

= {0δrp} {0Fp}
T
E il lavoro virtuale δW
T
Ricordando che (A B) = B T A T

({ 3i−2 )
δq3i−1} + {isp} [Bi] δq3i {0Fp}
T T
Allora δW δδq
=
Fx
{Fy}
Dove {0Fp} è sempre {0Fp} =

Fx
Fy
Applicando la de nizione di forza generalizzata otteniamo il vettore delle forze generalizzate {Q} =
{ sp} [Bi] { Fp}
T T
i 0

Possiamo interpretare questo termine come il momento di trasporto, cioè il momento della forza F rispetto l’origine del riferimento
locale.

Quindi tra le due formulazioni il risultato è lo stesso al meno del meno di trasporto.

La situazione potrebbe però essere leggermente diverse se le componenti della forza esterna sono ad esempio espresse nel
riferimento locale, ovvero: {0Fp} = [i0 A] {iFp}
Devo quindi trasformarle nel riferimento assoluto e le forze generalizzate si scrivono quindi come

[i A] { Fp}
0 i

{Q} =
{ sp} [Bi] [i A] { Fp}
T T
i 0 i

Si procede dando in pasto al programma la lista delle forze generalizzate associate alle forze esterne utilizzando queste relazioni.
Per ogni forza presente avremmo tre componenti del vettore delle forze generalizzate.
Cioè per ciascuna forza F 1⃗ F 2⃗ … F N⃗ avremmo vari blocchi che andremo a formare:
⋮ ⋮ ⋮
Q1 ⋮ ⋮
+ +…+ ⋮ = {Q}
⋮ Q2
⋮ ⋮ QN

167
fi
SETTIMANA 12
Molto spesso quando andiamo a modellare un sistema meccanico utilizziamo frequentemente degli elementi come la molla-
smorzatore viscoso che chiaramente genera una forza esterna e devo calcolare la forza generalizzata associata.

Immaginiamo allora due corpi i e j con associati i loro riferimento mobili e tra di loro immaginiamo ci siamo un elemento molla
(rigidezza k) smorzatore viscoso (coe ciente di smorzamento viscoso c) e un eventuale attuatore.

I punti A e B sono ssi nei riferimenti locali e possiamo individuare i punti di applicazione della forza che l’elemento esercita sul
corpo A e quello sul corpo B.
La distanza tra i punti di applicazione la indichiamo con l.

= k (l − l0) + c l + Fa (l, l).


· ·
La forza, in modulo, esercitata dall’elemento tra i due corpi è F
Questo elemento viene spesso indicato con l’acronimo di elemento SPDA (SPring, Damper, Actuator).
Abbiamo detto he conosciamo le coordinate di A nel riferimento locale.

La prima cosa da fare è determinare la posizione assoluta dei punti di applicazione delle forze, ovvero esprimere i vettori r A⃗ , r B⃗ in
funzione delle coordinate generalizzate che traduco le posizioni dei corpi A e B

Andiamo ad applicare la solita relazione

{ A} {q3i−1} [i ] i
i

{ yA}
0
q3i−2 0
xA
r = + A

{ B} {q3j−1} [j ] j
q3j−2 j

{ yB}
0 0
xB
r = + A

È chiaro che {0dAB} = {0rB} − {0rA}

= {0dAB} {0dAB}
T
E il quadrato della distanza lo ottengo con il prodotto scalare l 2

168
fi
ffi
SETTIMANA 12
Dobbiamo calcolarne il lavoro virtuale, sappiamo che lo smorzatore e la molla si oppongono alla variazione di velocità o lunghezza,
quindi δW = − Fδl dove F è quella espressa prima mentre δl lo dobbiamo calcolare dalla relazione precedente.
{ dAB} {δ dAB}
0 T 0
Si vede come δl = (come se avessimo fatto il di erenziale di entrambi membri).
l
{ dAB}
0 T

({ δrb} − { δrA})
0 0
Allora possiamo espandere ancora questa espressione ottenendo δl =
l

{ dAB}
0 T
δq3j−2 j i

({δq2 j−2} { yB} { yA} )


xB xA
Allora riscrivendo questo termine: δl = + [Bj] j δq3j + [Bi] i δq3i
l

Adesso possiamo calcolare il vettore delle forze generalizzate facendo attenzione che questo elemento contribuirà con due


Qi

blocchi {Q} = ⋮

Qj


δW δW
δq3i−2 δq3j−2

mentre l’altro blocco {Qj}


δW
Il blocco {Qi} di tre elementi è dato da {Qi}
δW
= δq3i−1
= δq3j−1
δW δW
δq3i δq3j

Sostituendo il valore del modulo della forza e l’espressione di δl ottengo:


Per Qi:
δW
δq3i−2 F 0
Il primo e secondo elemento = { dAB}
δW l
δq3i−1
i

{ yA}
δW F 0 xA
= { dAB} [Bi] i
T
E il terzo elemento
δq3i l
E per il blocco Qj (simile ma non uguale):
δW
q3j−2 F 0
=− { dAB}
δW l
δq3j−1
j

{ yB}
δW F xB
= − {0dAB} [Bj] i
T
δq3j l

Sono uguali e opposte per i primi due termini ma il terzo è diverso.

Dal punto di vista della programmazione, nel momento in cui ci sta un elemento molla smorzatore viscoso, dobbiamo fornire k, c,
i j

{i yA} {j yB}
xA xB
le coordinate di applicazione sul punto A e sul punto B e al programma facciamo calcolare queste espressioni

appena trovate.

Al denominatore compare la lunghezza l e se i punti si sovrappongo diventa nullo e tutto il discorso va a monte. Abbiamo l poiché
per evitare radici quadrate abbiamo ragionato sulla forma quadratica tuttavia dobbiamo prendere in considerazione la possibilità
che l → 0 e queste espressioni diventano inutilizzabili.

169
ff
SETTIMANA 12

{dAB}
·
{dAB}
Ci viene allora in aiuto il de l’Hopital lim = lim ·
l→0 l l→0 l
l=0

E le espressioni precedenti le andiamo a modi care come:

Se l
= 0 (nei limiti della precisione del computer) allora:

{dAB} {dAB}
· ·
F F
{Qi} = · i e {Qj} = · j

{dAB} [Bi] {i y } { } [ ] {j y }
l · T xA l · T xB
d AB Bj
A B

Quindi nel programma sarà necessario un if.

LA REGOLA DI DE L’HOPITAL PORTA DIETRO LA STORIA CHE UNO DEI FRATELLI BERNOULLI VENNE ASSOLDATO DAL MARCHESE DE L’HOPITAL IL QUALE LO PAGÒ AFFINCHÉ
OGNI SCOPERTA VENNE RIFERITA PRIMA A LUI E SEMBRA CHE QUESTA REGOLA SIA IN REALTÀ DI BERNOULLI E CHE IL MARCHESE SE NE SIA APPROPRIATO.

170
fi
SETTIMANA 12
Il nostro scopo è valutare tutti i blocchi delle matrici che gurano nel sistema di equazioni algebrico-di erenziali che abbiamo
dedotto, ovvero le equazioni di erenziali del moto secondo l’approccio multibody.

In questo owchart vengono riassunti in vari moduli.

Una volta assemblati gli elementi dai moduli cinematico e dinamico non dobbiamo far altro che calcolare accelerazioni e
moltiplicatori di Lagrange per poi integrare per di erenze nite il sistema.

LA PROSSIMA VOLTA VEDREMO UN ESEMPIO DI SIMULATORE MULTIBODY CON UN’IMPLEMENTAZIONE MATLAB E POI VEDREMO COME COMINCIARE AD INTEGRARE, SULLE
DIVERSE STRATEGIE E SU COME MANIPOLARE QUELLE EQUAZIONI DELLA DINAMICA PER RISOLVERE IN MANIERA EFFICIENTE.

Attrito Coulombiano

Se ho una coppia rotoidale senza attrito la forza che si scambia tra i due elementi cinematici sarà ortogonale alle super cie a
contatto mentre se c’è attrito ci sarà una componente Fa e se adotto il modello Coulombiano questo mi dice che se ho una certa
forza la posso calcolare come la risultante per un certo coe ciente di attrito f ovvero Fa = f N.

In riferimento alla gura tale forza darà luogo alla coppia di modulo rFa.

Questo è un modello per l’attrito e neanche uno dei più so sticati, è molto antico e inoltre introduce delle discontinuità nel calcolo
del modello delle forze.
171
fl
fi
ff
ff
fi
fi
fi
ffi
ff
fi
SETTIMANA 12
Analizziamo meglio questo discorso:

In cui abbiamo Fa = fa N se v ≠ 0 mentre nel caso statico Fa ≤ fs N se v = 0 e questo genera confusione non sapendo dove
si trova la forza.
Quando ci sono super ci con attrito relativo senza moto tra di loro è una particolare situazione identi cata con il termine stiction.
Applicando una certa forza se l’oggetto non si muove signi ca che tra l’oggetto e l’approccio c’è una fase di stiction e poi se entra
in movimento ci sarà la fase di attrito dinamico. Il calcolo della forza d’attrito nella stiction richiede altri modelli.

Ci sono stati diversi tentativi di ammorbidire questa situazione come la seguente situazione:

In cui però rimane sempre il problema per v = 0 in cui è evidente che la forza d’attrito non sarà nulla.

Trattare i modelli di attrito è abbastanza complicato.


VEDERE NELLA REPOSITORY L’ARTICOLO SUI VARI MODELLI DI ATTRITO.

Tornando all’analisi multibody nel caso di attrito Coulombiano calcolano la forza di attrito come momento resistente
0
0
{Qa } =
(i)
necessito quindi della forza normale che calcolo tramite i moltiplicatori di Lagrange e
− ( f NR) sign (q· 3i − q· 3j)

} [ q] {λ} = {Fa} + {Qa (q, q, )}


T
quindi mi trovo nella seguente situazione [M ] {q
·· + ψ · λ

Vediamo un modo di procedere nel caso in cui non ci sia stiction quindi solo in presenza di moto relativo.
Si ipotizza che non ci sia attrito e si calcola la forza normale con la quale si calcola l’attrito e si procede nuovamente al calcolo
nché il valore della forza d’attrito si stabilizza.

C’è una sorta di procedimento iterativo:

Nel caso di stiction il modello coulombiano deve essere abbandonato.


172
fi
fi
fi
fi
SETTIMANA 12
PER MAGGIORI DETTAGLI CONSULTARE IL TESTO.

PER GLI ESERCIZI CONSULTARE IL LIBRO DI MECCANICA APPLICATA UTILIZZANDO LAGRANGE AL POSTO DEL PRINCIPIO DEI LAVORI VIRTUALI E DOVREMMO OTTENERE LE
STESSE EQUAZIONI (SE UTILIZZIAMO LE STESSE COORDINATE).

173
SETTIMANA 12

174
SETTIMANA 13

BIOPROTESI
Parte Prof. Pennestrì

Settimana 13

175
SETTIMANA 13

Indice settimana 13
Indice settimana 13 2
NO LEZIONE 2

NO LEZIONE

176

Potrebbero piacerti anche