Indice
Introduzione ....................................................................................................................... 1
Premesse ............................................................................................................................ 4
Sistema di riferimento locale ..................................................................................... 4
SVD ........................................................................................................................... 6
Matrice di rotazione nel piano.................................................................................... 9
Matrice di rotazione ................................................................................................. 10
Matrici di rotazione elementari................................................................................. 11
Matrici di rotazione composte .................................................................................. 11
Rotazione intorno ad un asse generico ................................................................... 13
Proiezioni non ortogonali ......................................................................................... 17
Cinematica istantanea ............................................................................................. 17
Velocità angolare come grandezza vettoriale .......................................................... 21
Espressione del vettore ω in funzione degli angoli di Eulero ................................... 22
Stima del vettore velocità angolare nel sistema inerziale ........................................ 24
Centro e asse di istantanea rotazione ..................................................................... 28
Pivot Point ............................................................................................................... 30
Cinematica articolare....................................................................................................... 32
Cinematica relativa ...................................................................................................... 32
Considerazioni biomeccaniche ................................................................................... 32
Sistema di riferimento anatomico delle pelvi ............................................................... 33
I convenzione: convenzione di Grood & Suntay .......................................................... 36
II Convenzione: convenzione geometrica.................................................................... 38
III Convenzione: angolo θn.......................................................................................... 38
IV Convenzione: proiezione sulla terna di Grood-Suntay ............................................ 38
Dipendenza dei risultati dalla convenzione scelta ....................................................... 42
Determinazione del centro articolare d’anca ............................................................... 43
Errori ........................................................................................................................... 44
Collocazione dei marker .............................................................................................. 44
Introduzione
La meccanica si divide convenzionalmente in tre branche:
- Statica: studia l’equilibrio dei corpi, ovvero i casi in cui le forze agenti si bilanciano.
- Cinematica: studia il moto dei corpi indipendentemente dalle cause che lo provocano o lo modificano.
- Dinamica: si occupa dello studio del moto dei corpi a partire dalle sue cause o, in termini più concreti, delle circostanze che lo determinano e lo modificano nel tempo e nello spazio del suo sistema di riferimento.
L’ipotesi fondamentale che assumiamo valida a priori è che i corpi studiati siano corpi rigidi, cioè degli oggetti materiali le cui parti sono soggette al vincolo di rigidità, ossia sono corpi che sia quando sono fermi sia quando cambiano posizione non si deformano mai; in altre parole, la distanza tra due generici punti appartenenti ad un corpo rigido rimane costante nel tempo.
In realtà, nell’ambito di un sistema biologico siamo ben lontani dall’ipotesi di corpo rigido. I tessuti biologici, quali ossa, muscolo, pelle, sono, infatti, soggetti a deformazione. Per semplicità di trattazione ed analisi, si ricorre, però, ad un’astrazione: si assume che il corpo umano sia una catena di corpi rigidi, o segmenti, connessi in corrispondenza di giunzioni, o articolazioni. La biomeccanica ha lo scopo di studiare come tali segmenti o distretti si muovono.
Per l’analisi del movimento è necessario ricorrere a strumenti opportuni. In particolare, le tipiche attrezzature che è possibile trovare in un laboratorio di analisi del movimento comprendono:
- Telecamere a stato solido: consentono di effettuare uno studio cinematico, riprendendo l’immagine emessa da sfere di materiale riflettente; tramite tecniche stereo fotografiche è possibile ricavare la posizione di tali sfere nelle 3 coordinate x-y-z e ricostruire i movimenti dei segmenti corporei su cui le sfere sono opportunamente collocate;
- Pedana dinamometrica (o pedana di forza): è uno strumento basato sul principio di azione e reazione. Per un utilizzo ottimale necessita di un ancoraggio al terreno poiché eventuali spostamenti dello strumento generano errori nelle misure. Le pedane di forza misurano le forze di reazione piede-suolo grazie a celle di carico costituite da estensimetri resistivi o cristalli piezoelettrici; le misurazioni, effettuate durante task motori, consentono di determinare il controllo muscolare durante una determinata azione;
- Elettromiografo: misura i potenziali elettrici muscolari tramite l’impiego di elettrodi ad ago o di superficie;
- Piattaforma barometrica: misura la distribuzione di pressione; tramite integrazione di superficie è possibile determinare la forza risultante;
- Elettrogoniometro: sono delle strumentazioni che vengono applicate sulle articolazioni (prevalentemente gomito e ginocchio) per valutare gli angoli relativi creati dai segmenti corporei che le compongono.
Una sintesi del programma del corso
Come detto, si assume che il corpo umano sia costituito da segmenti rigidi, corrispondenti alle ossa che li costituiscono. La descrizione morfologica di un osso può essere effettuata tramite l’applicazione di sensori applicati, o marker, o tramite sensori di misura inerziali (IMU). La loro applicazione consente la definizione di sistemi di riferimento solidali al segmento corporeo, indicati come sistemi di riferimento locali (SL). Tali SL devono essere messi in relazione al sistema di riferimento globale (SG) di laboratorio, rispetto al quale si muovono.
Poiché siamo nello spazio abbiamo a che fare con un sistema a 6 gradi di libertà (gdl): 3 traslazionali + 3 rotazionali. Tali gdl permettono di definire la posizione e l’orientamento del corpo nello spazio.
Ma come passare da un SL a un SG o viceversa? La soluzione è l’equazione fondamentale della cinematica.
Come detto il corpo umano è modellato come un sistema multibody, costituito da segmenti rigidi, vincolati tra loro in corrispondenza delle articolazioni. Definiamo segmento prossimale il segmento più vicino al tronco, distale quello più distante dal tronco. Un segmento distale sarà caratterizzato da una maggiore o minore libertà di rotazione rispetto al distale. In particolare, le principali articolazioni, oggetto del corso sono:
| Articolazione | Segmenti associati | Ossa associate |
|---|---|---|
| Ginocchio | Distale: gamba | Distale: tibia |
| Prossimale: coscia | Prossimale: femore | |
| Anca | Distale: coscia | Distale: femore |
| Prossimale: bacino | Prossimale: pelvi |
Lo studio del moto relativo tra due segmenti è definito cinematica articolare. Tale studio consente di definire l’orientamento di un segmento rispetto all’altro in termini di una sequenza ordinata di rotazioni. L’ordine delle rotazioni, però, dev’essere ben definito, attraverso delle opportune convenzioni angolari.
Un altro aspetto fondamentale da considerare è legato alla necessità che i risultati ottenuti siano ripetibili e confrontabili. Tale necessità può essere soddisfatta assumendo come punti di riferimento su cui collocare i marker dei punti di repere anatomici. A partire da tali punti sarà possibile definire il SL solidale al segmento corporeo. In tal senso un problema con cui dovremo confrontarci è la definizione del centro articolare d’anca, coincidente con la testa del femore. Tale punto, infatti, non è direttamente palpabile, quindi è possibile solo stimare la sua posizione e non conoscerla con certezza.
La ricostruzione dei movimenti è garantita dall’impiego di tecniche stereofotogrammetriche.
Premesse
Sistema di riferimento locale
La definizione della posa di un segmento corporeo prevede, innanzitutto, la definizione di un sistema di riferimento solidale a tale segmento. Bisogna, quindi, individuare un sistema ortonormale, definito cioè da tre versori (vettori di norma unitaria) ortogonali a due a due.
Come definire tale sistema?
Dobbiamo conoscere le coordinate nel SG di laboratorio di un certo numero di punti appartenenti al segmento in esame. Tali punti possono essere determinati tramite l’impiego di marker collocati sui segmenti stessi. Ma qual è il numero minimo di marker che è necessario impiegare? In altre parole, per conoscere l’orientamento di un corpo, di quanti punti devo conoscere le coordinate? La risposta è 3. O meglio, è necessario conoscere le coordinate di 3 punti che non siano tra loro allineati. Se fossero allineati, infatti, non potrei percepire la rotazione intorno all’asse passante per i 3 punti. Al fine di ridurre gli errori di misura, è preferibile che i 3 punti siano ben distanti tra loro. Bisogna, comunque, sottolineare come 3 sia il numero minimo indispensabile, ma, in realtà, la conoscenza di un numero maggiore di punti va a nostro vantaggio, consentendo una riduzione degli errori.
Supponiamo, dunque, di avere un SG di assi X-Y-Z. In esso si trova il corpo C, di cui conosciamo le coordinate di 3 punti: m1, m2, m3. Questi punti non rispettano alcuna geometria, ma sono stati scelti sulla base della “comodità di misurazione”. Lo scopo è definire un SL di assi x-y-z, vogliamo, cioè, definire l’orientazione di x rispetto ad X, di y rispetto a Y, di z rispetto a Z.
N.B. L’orientamento di un vettore è definito dal suo versore.
Come procedere:
- Scelgo l’origine del SL: m2
- Definisco l’asse z: versore passante per due punti m1, m2
- Definisco l’asse x: versore perpendicolare al piano su cui giacciono m1, m2, m3
- Definisco l’asse y: versore perpendicolare a x e z.
2. Asse z → versore k
4 = = − Posso determinare il versore k dividendo il vettore z per la sua norma:
− = || − ||
3. A questo punto conviene determinare l’asse x e il versore corrispondente i, ricordando che dati due vettori appartenenti ad un piano, posso ricorrere al prodotto vettoriale per ottenere un vettore perpendicolare ad entrambi. Il prodotto vettoriale, però, è anticommutativo. Tramite la regola della mano destra stabilisco l’ordine dei fattori.
( ) = − × ( − )
Posso determinare il versore i dividendo x per la sua norma:
( )− × ( − ) = ||( ) ( )||− × −
4. A questo punto, manca l’asse e il versore corrispondente Posso determinarlo .ricorrendo al prodotto vettoriale. Abbiamo, infatti, a che fare con un sistema ortogonale. Il vettore quindi dev’essere perpendicolare a e .
= ×
Posso determinare j osservando che i e k sono già dei versori di norma unitaria e tra loro perpendicolari. Il loro prodotto vettoriale, dunque, ha norma unitaria.
=×
Quindi: [ ], con matrice che mi consente di passare dal SL solidale al segmento al = SG di laboratorio rispetto a cui sono fornite le coordinate m1, m2, m3 , con vettore che esprime l’origine del sistema fisso rispetto al mobile. =
Esercizio 1
Dati i punti
m1=[10 20 30];
m2=[15 25 35];
m3=[12 52 42];
scrivere un programma Matlab che permetta di determinare .
clear all;
close all;
clc;
m1=[10 20 30];
m2=[15 25 35];
m3=[12 52 42];
k= (m1-m2)/(norm(m1-m2));
i= cross((m3-m2),k)/(norm(cross((m3-m2),k));
j=cross(k,i);
R=[i j k];
inv_R=inv(R);
trasp_R=R’;
cos_iX=dot(i,[1 0 0]’);
cos_iY=dot(i,[0 1 0]’);
cos_iZ=dot(i,[0 0 1]’);
Osservazioni:
- Notiamo che l’inversa e la trasposta sono uguali. Abbiamo a che fare con una matrice ortogonale. Inoltre det(R)=+1, poiché il sistema è destrorso. Dunque, la matrice R è una matrice ortonormale;
- Il coseno compreso tra due assi può essere ottenuto tramite prodotto scalare, questo spiega l’impiego della funzione dot. Calcolando il versore di un asse, le 3 componenti rappresentano i coseni degli angoli formati dall’asse i rispetto agli assi del SG. Questi valori sono i coseni direttori che identificano l’asse stesso.
- Inoltre, i,j,k sono mutuamente ortogonali. Il prodotto scalare per ciascuna coppia è, infatti, pari a 0.
SVD
Dato un insieme di coordinate la matrice di{ , , con i = 1, … , n n ≥ 3} orientamento e il vettore posizione sono determinati dalla relazione:
EQUAZIONE FONDAMENTALE DELLA CINEMATICA
= + e
con coordinate nel SL coordinate nel SG
La soluzione al problema della cinematica può essere ottenuta anche tramite Singular Value Decomposition (SVD). Per far questo, si calcola la matrice di cross dipersione Z:
1 1ni=1 =1( ̅)(∑ ∑̅con= − − ̅) ′ = n 1 ∑̅= =1
Z è una matrice [3x3], essendo il risultato del prodotto tra un vettore colonna [3x1] e un vettore riga [1x3].
Su Z viene applicata la SVD, una tecnica di riduzione di una matrice nelle sue parti costituenti, cioè in 3 matrici U,S e V, tale che:
=
Con e matrici ortogonali = { , } = { , } , , matrice diagonale, con elementi lungo la diagonale non negativi = { , } ,
La matrice di rotazione cercata è allora data da:
(i) = ′
E il vettore posizione è dato da:
̅ ̅= −
Osserviamo che:
- Se rg(S)=3 gli n punti sono distribuiti nello spazio;
- Se rg(S)=2 gli n punti sono distribuiti su un piano. In tal caso solo 2 delle colonne di U e V sono note, la terza può essere determinata tramite prodotto vettoriale ricordando che U e V sono matrici ortogonali;
- Se rg(S)=1 gli n punti sono allineati. Il problema non è risolvibile perché viene meno l’ipotesi di punti non allineati necessaria per determinare l’orientamento di un corpo nello spazio.
Inoltre, se det(R)=+1 abbiamo a che fare con un sistema destrorso, se det(R)=-1 abbiamo a che fare con un sistema sinistrorso. Affinché det(R)=+1 anziché usare la formula (i), si può ottenere R come:
1 0 00 1 0 = [ ] ′0 0 det(′)
Esercizio 2
Determinare le coordinate di m1, m2, m3 nel sistema x-y-z
Y1=[10; 10; 10]
Y2=[15; 15; 10]
Y3=[20; 10; 10]
In Matlab
clear all;
close all;
clc;
y1=[10 10 10]';
y2=[15 15 10]';
y3=[20 10 10]';
x1=[0 0 0]';
x2=[sqrt((y2(1)-y1(1))^2+(y2(2)-y1(2))^2+(y2(3)-y1(3))^2) 0 0]';
x3=[(y3(1)-y1(1))*cos(pi/4) -(y3(1)-y1(1))*sin(pi/4) 0]';
ym=(y1+y2+y3)/3;
xm=(x1+x2+x3)/3;
Z=(y1-ym)*(x1-xm)'+(y2-ym)*(x2-xm)'+(y3-ym)*(x3-xm)';
Z=Z/3;
[U S V]=svd(Z);
rango_di_S=rank(S);
R=U*V';
%sarebbe meglio definire la R in questo modo
u1=U(:,1);
u2=U(:,2);
u3=cross(u1,u2)
v1=V(:,1);
v2=V(:,2);
v3=cross(v1,v2)
U1=[u1 u2 u3];
V1=[v1 v2 v3];
R1=U1*[1 0 0;0 1 0;0 0 det(U1*V1')]*V1'
% metodo classico con 3 punti
m1=y1;
m2=y2;
m3=y3;
v12=(m2-m1)/norm(m2-m1);
i=v12;
v13=(m3-m1)/norm(m3-m1);
k=cross(v13,i)/norm(cross(v13,i));
j=cross(k,i);
R_classico=[i j k]
Osservazioni:
- In questo caso, il problema è stato risolto sfruttando la particolare geometria del sistema e applicando il teorema di Pitagora; ma se mi trovassi in una situazione più generale, con una geometria più complessa, quale potrebbe essere la strada da seguire pur applicando lo stesso algoritmo di SVD? Supponiamo di avere un sistema con n>3 punti. Scelgo 3 punti e calcolo la matrice R con il metodo visto. Le coordinate del quarto, quinto, ..., n-esimo punto possono essere ottenute con una formula inversa:
( ) = −
A questo punto, note le coordinate e si può applicare la SVD.
Matrice di rotazione nel piano
Dati i sistemi XY e xy
D C A B
Dimostrare che:
- R = R cos θ+R cos(90 + θ)X x y
- R = R cos(90 − θ)+R cos θY x y
1. Osservo che è dato dalla differenza tra A e B, dove A= eR R cos θX x
B=R sin θ = −R
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.