Sei sulla pagina 1di 46

DINAMICA DEL CORPO RIGIDO

Si consideri
ƒ un corpo rigido S,
ƒ Un sistema di riferimento (0) non necessariamente inerziale,
ƒ Un sistema di riferimento (s) mobile con S
¾ L’origine O della terna (s) deve essere fissa rispetto al riferimento (0) o
necessariamente coincidente con il centro di massa
¾ Conviene scegliere la terna (s) solidale al corpo rigido S
ƒ Con queste scelte le equazioni cardinali della dinamica, prendendo
come polo l’origine O del sistema (s), sono
Z0 S
r r Zs
r Ys
⎧ maG = Fe ⎧ Fe forze esterne (attive e vincolari)
⎪ r ⎪ r Xs O≡G
⎨ dKO r ⎨ Cre ,O momento delle forze esterne
⎪ = Ce,O ⎪K
⎩ dt ⎩ O momento della quantità di moto
Y0
X0
ƒ Se il sistema di riferimento (0) non è inerziale bisogna includere tra le
forze esterne anche le forze apparenti
1
2

r r Z0 S
ƒ Per le nostre applicazioni è ⎧maG = Fe Zs
conveniente dare alla 2a equazione ⎪ r Ys
⎨dKO r
una formulazione meno simbolica ⎪⎩ dt = Ce,O Xs O≡G
ƒ Per questo scopo esprimiamo le
grandezze nel sistema di Y0
r r r
riferimento (s) di versori → i , j , k X0
r r r r
¾ Momento della quantità di moto → KO = Kxi + K y j + Kz k
¾ Derivata del momento
r della quantità di rmoto r r
dKO & r & r & r di dj dk
= Kxi + K y j + Kz k + Kx + K y + Kz
dt dt dt dt
ƒ Le derivate dei versori delle terna (s) possono essere espresse diversamente
r r
¾ Ad esempio per di dt si può scrivere O
Z i
r r
⎧ r
( r
)
r
( )
di d r r r r
⎪⎪i = P − O ⇒ dt = dt P − O = vP − vO r
O
r
P

⎨ di r r P
=ω ×i
⎪⎩ P O ( )
⎪vr = vr + ωr × Pr − Or = vr + ωr × ir
O
dt Y

¾ L’espressione trovata è nota come formula di Poisson X 2


r r r
r r r r 3
¾ Si ha quindi → Kx di + K y dj + Kz dk = Kxωr × i + K yωr × j + Kzωr × k = ωr × KO
dt dt dt
r r r r
¾ Definendo il nuovo vettore → K& O = K& x i + K& y j + K& z k si ha
r r
⎧maG = Fe r r
⎪ r ⎧⎪ maG = Fe
⎨dKO r ⎨ r r r r
⎪⎩ dt = Ce,O ⎪⎩ K& O + ω × KO = Ce,O

ƒ L’espressione trovata mette in evidenza che la derivata rispetto al tempo


del vettore della quantità di moto è la somma di due termini
r r
¾ K O → derivata di K O valutata da un osservatore solidale alla terna (s)
&
r r
¾ ω × KO → tiene conto della rotazione della terna (s)

ƒ Per la forma matriciale delle equazioni della dinamica, si introducono


¾ Matrice del momento della quantità di moto
(s) (s) (s) (s)
⎧ωx ⎫ ⎧Kx ⎫ ⎡ J xx J xy J xz ⎤ ⎧ωx ⎫
r ⎪ ⎪ r ⎪ ⎪ ⎢ ⎥ ⎪ ⎪
ω → ω(s ) = ⎨ωy ⎬ , KO → KO(s ) = ⎨Ky ⎬ = J(Ss )ω(s ) = ⎢ J yx J yy J xy ⎥ ⎨ωy ⎬
⎪ω ⎪ ⎪K ⎪ ⎢⎣ J zx J zy J zz ⎥⎦ ⎪⎩ωz ⎪⎭
⎩ z⎭ ⎩ z⎭ 3
4
¾ in cui compare la tensore d’inerzia del corpo rigido

⎡ J xx J xy J xz ⎤
(s )
( )
⎧ J xx = y 2 + z 2 ρ dv
⎪⎪ ∫ ( )
J yy = ∫ x 2 + z 2 ρ dv ( )
J zz = ∫ x 2 + y 2 ρ dv
⎢ ⎥
J (Ss ) = ⎢ J yx J yy J xy ⎥ ⇒ ⎨ V V V

⎢ J zx J zy J zz ⎥⎦ ⎪ J xy = J yx = − ∫ xyρ dv J xz = J zx = − ∫ xzρ dv J yz = J zy = − ∫ yzρ dv


⎣ ⎪⎩ V V V
r
¾ derivata di K O valutata da un osservatore solidale alla terna (s)
(s)
r ⎧K& x ⎫ (s )
( ) ⎪ ⎪ dK (s ) (s)
K& O → & = ⎨K& ⎬ =
KO
s
y
O
= J S ω
& con J(Ss ) → costante
⎪K& ⎪ dt
r r
⎩ z⎭ ⎧⎪maG = Fe
¾ Vettori delle forze, coppie e accelerazioni ⎨ r& r r r
⎪⎩ K O + ω × KO = Ce,O
(s) (s ) (s )
⎧Fx ⎫ ⎧cx ⎫ ⎧&x&G ⎫
r 3 (s ) ⎪ ⎪
r 3 (s) ⎪ ⎪ r (s) = ⎪&y& ⎪
Fe → Fe = ⎨Fy ⎬ , CO,e → CO,e = ⎨cy ⎬ , aG → 3AG ⎨ G⎬
⎪F ⎪ ⎪c ⎪ ⎪&z& ⎪
⎩ z⎭ ⎩ z⎭ ⎩ G⎭

⎧⎪m 3AG = 3Fe(s )


ƒ Equazioni cardinali della dinamica ⎨ (s) (s)
& + ω(s ) J(Ss ) ω(s ) = 3CO(s,)e
⎪⎩JS ω
4
Al di là del significato fisico, conviene esprimere le equazioni della dinamica in 5
una forma conveniente per i manipolatori: adottiamo una diversa procedura
ƒ Consideriamo il manipolatore come un meccanismo di corpi rigidi
ƒ La dinamica dei sistemi di corpi rigidi si descrive introducendo
¾ la matrice delle azioni → risultanti delle forze e delle coppie
¾ la matrice delle quantità di moto di un corpo rigido
¾ la matrice delle inerzie di un corpo rigido

MATRICE DELLE AZIONI

ƒ Consideriamo un corpo rigido k e un sistema di


riferimento (k) a esso solidale, esprimiamo le Zk
grandezze rispetto a (k)
rk
ƒ Si desidera introdurre una matrice che descriva le r Fv
P •P
forze e le coppie che agiscono sul corpo rigido
ƒ Definiamo i vettori che definiscono la posizione di un Yk
Xk
volume elementare dv e la forza elementare
agente su di esso 5
ƒ Definiamo i vettori che definiscono la posizione di un volume 2
elementare dv e la forza elementare agente su di esso
(k ) (k )
⎧x⎫ ⎧ fx ⎫
⎪ y⎪ ⎧ 3 (k ) ⎫ ⎪f ⎪ ⎧⎪ 3 Fv(k ) ⎫⎪ Zk
( k) ⎪ ⎪ ⎪ P ⎪ ( k) ⎪ y ⎪
P =⎨ ⎬ =⎨ ⎬, Fv = ⎨ ⎬ = ⎨ ⎬
z
⎪ ⎪ ⎪
⎩ 1 ⎭ ⎪ f
⎪ z⎪ ⎪
⎩ 0 ⎪⎭ rk
⎪⎩1 ⎪⎭ ⎪⎩ 0 ⎪⎭ r Fv
P •P
ƒ Sottintendendo l’apice (k), consideriamo il prodotto
Xk Yk
Fv P T
− PFvT =⎨ {
⎧⎪ 3 Fv ⎫⎪ 3 T
⎪⎩ 0 ⎪⎭
}
⎬ P 1 − ⎨ ⎬ Fv
⎪⎩ 1 ⎪⎭
{
⎧⎪ 3 P ⎫⎪ 3 T
}
0 =

⎡ 3 Fv 3 P T 3 Fv ⎤ ⎡ 3 P 3 FvT
0⎤ ⎡ 3 Fv 3 P T −3 P 3 FvT 3 Fv ⎤
=⎢ ⎥−⎢ 3 T
⎥=⎢ 3 T ⎥
⎣⎢ 0 0 ⎦⎥ ⎢⎣ Fv
0⎥⎦ ⎢⎣ − Fv 0 ⎥⎦
r r r
ƒ Il termine Fv P − P Fv è il prodotto vettoriale → P × Fv = Cv e cioè il
3 3 T 3 3 T

momento delle forze di volume Fv che agiscono sull’elementino dv

=⎡⎢ C
T ⎡ Cv 3
F3v ⎤F ⎤
Fv P −
T PTFvT ⎥ v
Fv P − PFv = ⎢⎢⎣ − 33 FvvTT 0 ⎥⎦ ⎥
⎢⎣− Fv 0 ⎥⎦ 6
3
ƒ La matrice delle azioni Φk è definita

∫ (Fv P )dv = ∫ ⎡ 3 Fv 3 P T −3 P 3 FvT Fv ⎤ ⎡ Cv Fv ⎤



3 3
T
Φk = − PFvT ⎢ ⎥ dv = ⎢ 3 T ⎥ dv
V ⎢⎣ −3 FvT 0 ⎥⎦ ⎢⎣− Fv 0 ⎥⎦
V V

¾ La matrice delle azioni ha la struttura


(k )
⎡ ⎤ ⎡ 0 − Ck z Cky Fk x ⎤
⎢ ⎥
C(kk ) Fk(k ) ⎥ ⎢⎢ Ck z 0 − Ck x Fk y ⎥⎥
Φ (kk ) = ⎢⎢ ⎥ = ⎢ − Ck y Ck x 0 Fk z ⎥
⎢ ( k )T
⎥ ⎢ ⎥
⎢⎣ −F k 0 ⎥⎦ ⎢⎣ − Fk x − Fk y − Fk z 0 ⎥⎦
(k ) (k )
⎧Ck x ⎫ ⎧ Fk x ⎫
3C (k) e 3F (k) sono coppia e forza risultanti →3 (k ) ⎪ ⎪ 3 (k ) ⎪ ⎪
¾ k k C k = C
⎨ k y⎬ , Fk = F
⎨ k y⎬
⎪C ⎪ ⎪F ⎪
⎩ k z ⎭ ⎩ kz⎭
¾ Le matrici Φk(k) , Ck(k) e Fk(k) sono espresse nel sistema di riferimento (k)
solidale al corpo k
⎡ C Fv ⎤ 3
9 Fk(k) è la forza risultanteFvcon
P T −componenti
P FvT = ⎢ 3 v T espresse
⎥ rispetto a (k)
⎢⎣ − Fv 0 ⎥⎦
9 Ck(k) è la coppia risultante rispetto all’origine di (k) e componenti rispetto a (k)
7
4
ƒ Esprimiamo la matrice Φk(k) rispetto a una terna (h)
Zh k
generica partendo dalla definizione Zk
Yk
( k) ⎛ ( k ) (k )T
Φ κ = ∫ ⎜ Fv P ( k ) (k )T ⎞
− P Fv ⎟dv Xk Ok
V
⎝ ⎠
¾ Usiamo la matrice trasformazione omogenea Mkh Yh
Xh
⎧⎪P (k ) = M P (h ), P (k )T = P (h )TM T
kh kh

⎪⎩Fv(k ) = M khFv(h ), Fv(k ) = Fv(h ) M Tkh
T T

¾ Sostituendo nella matrice Φk(k), si ottiene l’espressione

( k) ⎛ ( k ) (k )T
Φ κ = ∫ ⎜ Fv P ( k ) (k )T ⎞ ⎛ ( h ) (h )T T ( h ) (h )T T ⎞
− P Fv ⎟dv = ∫ ⎜ M khFv P M kh − M kh P Fv M kh ⎟dv
V
⎝ ⎠ V
⎝ ⎠
¾ Essendo la matrice di posizione Mkh invariante rispetto al volume del corpo

Φ (k ) = M ⎛ F (h )P (h )T − P (h )F (h )T ⎞dvM T = M Φ (h ) M T
κ kh ∫ ⎜ v v ⎟ kh kh κ kh
V
⎝ ⎠
⎡ Cv 3 ⎤
Φ (kh ) = ∫Fv⎛⎜PFv( )P ( )= ⎢ −3 PT(h )FF(vh⎥)T ⎞dv
T
−h P FvTh T
¾ avendo posto ⎢⎣ − Fv 0v ⎥⎦ ⎟
V
⎝ ⎠
8
5
ƒ La formula del cambio di riferimento per la matrice Zi k
Zj
delle azioni Φk è Yj
Xj Oj
Φ (ki ) = M ij Φ (k j )M ijT
Yi
Xi
ƒ La matrice delle azioni Φk(i) del corpo k espressa nel sistema (i) è

⎡ ⎤
⎢ ⎥
C(ki ) Fk(i ) ⎥
Φ (ki ) = ⎢
⎢ ⎥
⎢ (i )T

⎢⎣ −F k 0 ⎥⎦

¾ Fk(i) → risultante delle forze agenti su k con componenti espresse


rispetto a (i)
¾ Ck(i) → coppia risultante delle forze agenti su k rispetto all’origine di
(i) e componenti rispetto a (i)

9
MATRICE DELLE INERZIE
Zk
ƒ Considerando un sistema di riferimento (k) solidale al
k
corpo k , sottintendendo l’apice (k) consideriamo il prodotto r
P • P
{
⎧⎪ 3 P ⎫⎪ 3 T
}
⎡ 3 P 3P T P⎤
3
T
PP = ⎨ ⎬ P 1 = ⎢ 3 T ⎥
⎪⎩ 1 ⎪⎭ ⎢⎣ P 1 ⎥⎦ Xk Yk

⎧x⎫ ⎡ x2
⎪ y⎪ xy xz ⎤
⎪ ⎪ 3 3 T ⎢ ⎥
¾ essendo → P = ⎨ ⎬, si ha P P = ⎢ yx y2 yz ⎥
⎪z⎪ ⎢ zx zy z2 ⎥
⎪⎩1 ⎪⎭ ⎣ ⎦

ƒ La matrice d’inerzia Ικ è definita dall’integrale


⎡ x2 xy xz x⎤
⎢ ⎥
⎡ 3 P 3P T P⎤
∫ ∫
3
⎢ yx y2 yz y⎥
Ι k = ∫ PP ρ dv =
T
⎢ 3 T ⎥ ρ dv = ρ dv
⎢⎣ P 1 ⎥⎦ ⎢ zx zy z2 z ⎥
V
V V ⎢ ⎥
⎢⎣ x y z 1 ⎥⎦
10
2

⎪ I xx = ∫ x 2 ρ dv I yy = ∫ y 2 ρ dv I zz = ∫ z 2 ρ dv
⎪ V V V

¾ Ponendo → ⎨ I xy = I yx = ∫ xyρ dv I xz = I zx = ∫ xzρ dv I yz = I zy = ∫ yzρ dv
⎪ V V V
⎪S = xρ dv = m x
⎪ x ∫ G S y = ∫ yρ dv = m yG S z = ∫ zρ dv = m zG
⎩ V V V

(k )
⎡ I xx I xy I xz m xG ⎤
⎢ m yG ⎥⎥
si ha la matrice simmetrica k ) ⎢ I yx I yy I yz
¾
→ (
Ιk =
⎢ I zx m zG ⎥
detta matrice dell’inerzie I zy I zz
⎢ ⎥
⎣m xG m yG m zG m ⎦

ƒ Ovviamente esiste una relazione tra i termini di Ι (kk ) e J (kk ) , ricordando le


definizioni di Jk

⎧ J xx = ( y 2 + z 2 )ρ dv J yy = ∫ (x 2 + z 2 )ρ dv J zz = ∫ (x 2 + y 2 )ρ dv
⎪ ∫
V V V

⎪ J xy = J yx = − ∫ xyρ dv J xz = J zx = − ∫ xzρ dv J yz = J zy = − ∫ yzρ dv
⎩ V V V
11
¾ Le relazioni sono 3

⎧ − J xx + J yy + J zz ⎧ J xx = I yy + I zz
⎪ I xx = ⎧ I xy = I yx = − J xy = − J yx
2 ⎪ ⎪
⎪ ⎪ ⎪
⎪⎪ J xx − J yy + J zz ⎪ ⎪
⎨ I yy = ⎨ J yy = I xx + I zz ⎨ I xz = I zx = − J xz = − J zx
⎪ 2 ⎪ ⎪
⎪ J xx + J yy − J zz ⎪ ⎪
⎪ I zz = ⎪ J zz = I xx + I yy ⎪⎩ I yz = I zy = − J yz = − J zy
⎪⎩ 2 ⎩
ƒ Per esprimere la matrice Ικ rispetto a una terna generica (h) si può iniziare dalla
relazione della sua definizione → Ι ( ) = P( k ) P( k )T ρ dv
k
k V ∫
¾ Usando la matrice di trasformazione omogenea (di posizione) Mkh si scrive

P( ) = M kh P( ) , P ( ) T = P ( )T M T
k h k h
kh
Ι (kh ) = ∫ P (h )P (h ) ρ dv
T
¾ che sostituita nella definizione di Ik(k) dà, essendo → V
(k ) = M kh P(
h)
P ( )T M T
h ( h ) P( h )T ρ dv M T = M Ι ( h ) M T
Ιk ∫V kh ρ dv = M kh ∫V P kh kh k kh
¾ Quindi la formula per il cambio di riferimento per la matrice d’inerzia Ik è
(i ) ( j) T
I k = Mij I k Mij 12
MATRICE DELLE INERZIE DI UN CORPO IN MOVIMENTO

Consideriamo un corpo rigido k, un sistema di riferimento (k) a esso solidale,


e un sistema di riferimento inerziale (J)

ƒ il corpo k è in movimento rispetto a (J) Zj k


Zs
Ys
ƒ Ik(k) è costante
( j ) = M Ι( k ) M T Xs O≡G
Ι
ƒ k jk k jk è variabile nel tempo e
dipende dal movimento del corpo k, poiché Yj
Xj
Mjk dipende dalla posizione del corpo k
& = W( j )M e derivando l’espressione di I (k) si ottiene
ƒ Ricordando che M jk jk jk k
( j)
& I( k ) M T + M I( k )M
& T = W ( j ) M I ( k ) M T + M I ( k ) M T W ( j )T
dI k =M jk k jk jk k jk jk jk k jk jk k jk jk
dt
( j)
d Ik ( j ) I ( j ) + I ( j ) W ( j )T
= W jk
dt k k jk
13
2
( j) Zj
dI k ( j ) ( j ) ( j ) W ( j )T
= W jk I k + I k Zs
k
dt jk Ys
Xs O≡G
ƒ Nel caso di un corpo rigido k vincolato tramite
un accoppiamento elicoidale al membro J si Yj
utilizza la descrizione dell’accoppiamento elicoidale Xj

tramite la matrice Ljk e lo spostamento del giunto q


( j)
W jk = L jk
( j ) dq
dt
ƒ Per l’espressione precedente si ottiene
( j)
d Ik ⎛ ( j ) ( j ) ( j ) ( j ) ⎞ dq
= ⎜ L jk I k + I k L jk T ⎟
dt ⎝ ⎠ dt
ƒ Oppure in funzione della coordinate dell’accoppiamento elicoidale q

( j)
d Ik ⎛ ( j) ( j) ( j) ( j) ⎞
= ⎜ L jk I k + I k L jk T ⎟
dq ⎝ ⎠
14
MATRICE DI ACCELERAZIONE E MATRICE DELLE AZIONI
La relazione si ricava partendo dalla definizione della matrice delle azioni Φk(i)
(i ) = ⎡ ( i ) ( i )T ( i )F( i )T ⎤ dv
Φk ∫V ⎢⎣ v
F P − P v ⎥

ƒ Esprimiamo la forza di volume Fv tramite la legge di Newton applicata
all’elemento infinitesimo
r dv r
r
r r F r
F = dm ⋅ a = ρ dv ⋅ a → Fv = = ρ ⋅a
dv
ƒ In forma matriciale usando le coordinate omogenee, la forza di volume Fv si
scrive i && ( i ) = H( i ) P( i )
A( ) = P →
(i )
F = ρ A( ) = ρ H
i ( i ) P( i )
0k v 0k
ƒ Sostituendo nella matrice delle azioni Φk(i) si ha
(i ) ⎡ (i ) i i (i )
Φ k = ∫ ⎢ H 0 k P ( ) P ( )T ρ − P ( ) P ( )T H 0 k T ρ ⎥ dv
i i ⎤
V⎣ ⎦
ƒ Osservando che la matrice delle accelerazioni H0k è costante rispetto
all’integrale sul volume si ha
(i ) (i ) P ( ) P ( )T ρ dv − ∫ P ( ) P ( )T ρ dv
i i i i (i )
H 0k T
Φ k = H 0k ∫V V
ƒ Ricordando che → I(k ) = ∫ P( i ) P( i )T ρ dv infine si ottiene
i
V

Φk
( i ) = H ( i ) I ( i ) − I ( i ) H ( i )T
0k k k 0k 15
2
ƒ La relazione Φ (ki ) = H (0ik) I (ki ) − (i ) (i ) Tè
I k H 0k valida per qualsiasi sistema di
riferimento purché tutte le grandezze siano espresse rispetto al medesimo
riferimento
ƒ La relazione matriciale ottenuta è equivalente a entrambe le equazioni
cardinali della dinamica
⎧⎪ 3 Fe(i ) = m 3 A G(i )
⎨ (i )
⎪⎩C = J (ki )ω & (i ) + ω (i )J (ki )ω (i )

ƒ L’equivalenza si intuisce esplicitando le strutture di Φ (ki ) , H (0ik) , I (ki )

(i )
⎡ ⎤
⎢ C 3 ⎥
F⎥
(i) ⎢
Φk =
⎢ ⎥
⎢ ⎥
⎣ −3 F T 0⎦
(i ) (i )
⎡ ⎤ ⎡ I xx I yx I zx m xG ⎤
⎢ ω& + ω2 3
A 0 k ⎥⎥ ⎢ m yG ⎥⎥
(i) (i ) ⎢ I xy I yy I zy
H 0k = ⎢ , Ik =
⎢ ⎥ ⎢ I xz I yz I zz m zG ⎥
⎢ ⎥ ⎢ ⎥
⎣0 0 0 0 ⎦ ⎣m xG m yG m zG m ⎦
16
MATRICE DELLA QUANTITÀ DI MOTO

ƒ Considerando un sistema di riferimento (k) solidale Zk


al corpo k , sottintendendo l’apice (k) nelle relazioni rk
r v
consideriamo il prodotto P •P
3&
⎧ ⎫
&PP − PP& = ⎨ ⎬{ P 1}− ⎨ P ⎫⎬ 3 P& T 0 =

P
{ }
3
T T 3 T
Xk Yk
⎩0⎭ ⎩1⎭
⎡ 3 P& 3PT 3 P& ⎤ ⎡ 3 P 3P& T 0⎤ ⎡ 3 P& 3PT −3 P 3P& T 3 P& ⎤
=⎢ ⎥−⎢ 3 &T ⎥=⎢ 3&T ⎥
⎣ 0 0 ⎦ ⎣ P 0 ⎦ ⎣ − P 0 ⎦
⎧x⎫ ⎧ x& ⎫
& sono la posizione e la velocità di dv ⎪ y⎪ ⎪ y& ⎪
ƒ in cui P e P → P = ⎨ ⎬, P& = ⎨ ⎬
z z&
⎪ ⎪ ⎪ ⎪
⎩1 ⎭ ⎩0 ⎭
r r r
ƒ il termine P P − P P è il prodotto vettoriale → P × v = kO ed è quindi, a
&
3 3 T 3 3&T
k
meno della massa infinitesima dm = ρ dv , il momento della quantità di moto
dell’elemento infinitesimo rispetto al generico polo Ok
⎡3 & 3 T 3 3 & T P& ⎤ ⎡ k Ok P& ⎤
3
&PP − PP = ⎢ P P − P P
3
T &T ⎥=⎢ 3 T ⎥
⎢⎣ −3 P& T 0 ⎥⎦ ⎢⎣ − P& 0 ⎥⎦
17
2
ƒ La matrice della quantità di moto Γk(k) del corpo k è definita nella terna (k)
3 & 3 T 3 3&T

&PP − PP& ρ dv = ⎢ P P − P P P& ⎤ ⎡ k 0k P& ⎤
( )
3 3
(k )
Γk = ∫ T T
∫V ⎣ −3 P& T ⎥ ρ dv = ∫V ⎢ 3 & T ⎥ ρ dv
⎣− P
V 0⎦ 0⎦
ƒ Detti 3qk(k) la quantità di moto di k e Kk(k) il momento della quantità di moto di k
rispetto al polo Ok descritti rispetto alla terna (k)
⎧ qx ⎫
(k ) ⎧Kx ⎫
(k )
3 q( k ) = ⎪ q ⎪ 3K(k ) = ⎪K ⎪
k ⎨ y⎬ , k ⎨ y⎬
⎪ ⎪ ⎪ ⎪
⎩ qz ⎭ ⎩Kz ⎭
ƒ La matrice della quantità di moto descritta rispetto alla terna (k) ha la
struttura
(k ) (k )
⎡ ⎤ ⎡ 0 − K z K y qx ⎤ Zk r
⎢ 3 ⎥ ⎢ K − K q ⎥ r v k
( ) K q ⎥ = ⎢
0 ⎥
Γ kk = ⎢ k z x y
P •P
⎢ ⎥ ⎢− K y K x 0 qz ⎥
⎢ 3 T ⎥ ⎢ ⎥
⎣ − q 0⎦ −
⎢⎣ xq − q y − q z 0 ⎥⎦ Xk Yk

ƒ Le grandezze riguardano il corpo k e sono espresse nel sistema di riferimento


(k) solidale al corpo k
18
ƒ Esprimiamo la Γk(k) rispetto a un riferimento (h) generico partendo dalla 3
definizione
k ∫V
(
Γ (k ) = P& ( k ) P (k ) − P (k ) P& (k ) ρ dv
T T
)
ƒ Tramite la matrice di trasformazione omogenea Mkh si hanno le trasformazioni

⎧⎪P (k ) = M P (h ) P (k )T = P (h )TM T
kh kh

⎪⎩P& (k ) = M kh P& (h ) P& (k ) = P& (h ) M Tkh
T T

ƒ Sostituendo nella matrice Γk(k) si ottiene

Γ (k ) = ⎛ M P& (h )P (h )TM T − M P (h )P& (h )TM T ⎞ ρ dv =


k ∫V ⎜⎝ kh kh kh kh ⎟

⎛ (
= M kh ∫ ⎜ P P
& h ) (h )T (
−P Ph ) & (h )T ⎞
ρ dvM Tkh = M kh Γ (kh )M Tkh
V⎝

Γ (kh ) = ∫ ⎛⎜ P& (h )P (h ) − P (h )P& (h ) ⎞⎟ ρ dv


T T
ƒ essendo →
V⎝ ⎠
ƒ La formula generale del cambio di riferimento della matrice Γk è

Γ (ki ) = M ij Γ (k j )M ijT
19
MATRICE DI VELOCITÀ E MATRICE DELLA QUANTITÀ DI MOTO
ƒ Sostituendo l’espressione che fornisce la velocità di un punto → P& (i ) = W0(ik)P (i )
nella definizione della matrice della quantità di moto Γk(i)

Γ (i ) = ⎡P& (i )P (i )T − P (i )P& (i )T ⎤ ρ dv
k ∫V ⎢⎣ ⎥⎦

→ Γ (i ) = ⎡ W (i )P (i )P (i )T − P (i )P (i )T W (i )T ⎤ ρ dv
ƒ si ha k ∫V ⎢⎣ 0k 0k ⎥

ƒ Portando fuori dall’integrale W0(ik) e W0(ik) si ha
T

Γ (i ) = W (i ) ⋅ P (i )P (i ) ρ dv − P (i )P (i ) ρ dv ⋅ W (i )
T T T
k 0k ∫V ∫V 0k

ƒ Ricordando che → I (ki ) = P (i )P (i ) ρdv si ottiene la relazione cercata


T
V ∫
(i) (i ) (i )
Γ = W I −I W (i) (i )T
k 0k k k 0k
r r
⎧ q = m vG
ƒ La relazione è equivalente alle equazioni vettoriali → ⎨ r r scritte,
K
⎩ 0 = Jω
come le precedenti relazioni vettoriali, assumendo come polo dei momenti il
centro di massa o, se esiste, un punto fisso del corpo
(i) (i ) (i ) (i) (i )T
ƒ La relazione Γ k = W0 k I k − I k W0 k è valida per qualsiasi sistema di
riferimento purché tutte le matrici si riferiscano al medesimo riferimento 20
MATRICE DELLE AZIONI E MATRICE DELLA QUANTITÀ DI MOTO

Le grandezze introdotte permettono di esprimere una relazione tra la matrice


della quantità di moto Γk e quella della azioni Φk
⎧d r r
ƒ È equivalente al principio di conservazione della ⎪ dt mvG = Fe
quantità di moto e del momento della quantità → ⎨d r r
di moto, cioè alle equazioni cardinali della dinamica ⎪ K O = Ce,O
⎩ dt
ƒ Derivando rispetto al tempo l’espressione matriciale che lega Γk a W0k
d Γ (ki ) & (i ) d ⎛ (i ) (i ) (i ) (i )T ⎞ & (i ) (i )
= Γ k = ⎜ W0 k I k − I k W0 k ⎟ = W0 k I k + W0(ik) I& (ki ) − I& (ki ) W0(ik) − I (ki ) W
& (i )T
T
0k
dt dt ⎝ ⎠
ƒ Sostituendo nella precedente l’espressione della derivata rispetto al tempo della
(0) (0 ) (0 )
matrice d’inerzia → I = W I + I W
& (0) (0 )T
si ha
k 0k k k 0k

& (i )I (i ) + W (i )⎛⎜ W (i )I (i ) + I (i )W (i )T ⎞⎟ − ⎛⎜ W (i )I (i ) + I (i )W (i )T ⎞⎟W (i )T − I (i ) W


&Γ (i ) = W & (i )T
k 0k k 0k
⎝ 0k k k 0k
⎠ ⎝ 0k k k 0k
⎠ 0k k 0k

ƒ eseguendo i prodotti e semplificando si ha


2
Γ& (ki ) = W
& (i )I (i ) + W (i )2I (i ) + W (i )I (i )W (i )T − W (i )I (i )W (i )T − I (i )W (i )T − I (i ) W
0k k 0k k 0k k 0k 0k k 0k k 0k k
& (i )T =
0k
2
& (i ) (i ) (i )2 (i ) (i ) (i )T (i ) & (i )T
= W0 k I k + W0 k I k − I k W0 k − I k W0 k
21
2
ƒ Raccogliendo nell’espressione precedente Ik(i) si ha

( i ) ⎛ ( i ) ( i ) 2⎞ i
( ) ( i ) ⎛ (i)T ( i ) T2 ⎞
Γ& k = ⎜ W & ⎜ &
0 k + W0 k ⎟ I k − I k ⎜ W0 k + W0 k


⎝ ⎠ ⎝ ⎠
ƒ Sostituendo la relazione tra matrici delle velocità e accelerazioni
2
(i) & (i) (i )2
H 0 k = W0 k + W0 k ⇒ (i)T & (i )T (i )T
H 0 k = W0 k + W0 k

risulta → &Γ (i ) = H (i ) I (i ) − I (i )H (i ) T
k 0k k k 0k

ƒ Infine dal confronto con relazione che lega la matrice delle azioni alla
matrice di accelerazione → Φ (ki ) = H (0ik) I (ki ) − I (ki )H (0ik) si ottiene
T

Γ& (ki ) = Φ (ki )

ƒ Questa relazione esprime, tramite le matrici introdotte, il principio di


conservazione della quantità di moto

22
OPERATORI MATRICIALI UTILI PER LA DINAMICA

Nell’elaborazione delle relazioni che riguardano la dinamica dei manipolatori


ricorrono alcuni operatori matriciali che è utile richiamare
ƒ L’operatore skew è definito dall’espressione → skew{A} = A − A T ed è una
misura dell’asimmetria della matrice
¾ Se A è simmetrica → A = A T ∴ skew{A} = A − A T = 0
¾ L’operatore skew è utile per scrivere alcune relazioni in forma compatta;
ricordando che la matrice d’inerzia Ik è simmetrica si ha
9 relazione tra matrici delle azioni Φk e delle accelerazioni H0k
(i) (i ) (i ) (i ) (i ) T (i ) (i ) (i )T (i ) T
{
Φ k = H 0 k I k − I k H 0 k = H 0 k I k − I k H 0k = skew H (0ik) I (ki ) }
9 relazione tra matrici della quantità di moto Γk e delle velocità W0k

Γ k = W0 k I k − I k W0k = W0k I k − I k W0 k = skew W0(ik) I (ki )


(i) (i ) (i ) (i) (i )T (i ) (i ) (i )T (i )T
{ }
ƒ Data matrice quadrata A di dimensioni (n x n) si definisce traccia l’operatore
n
traccia{A} = ∑ aii
i =1 23
CAMPO GRAVITAZIONALE
Un corpo k immerso nel campo gravitazionale è soggetto a un campo di forze
descritte dalla matrice delle azioni Φ (ki,)g
ƒ L’accelerazione di un corpo sottoposto al campo gravitazionale si descrive con la
matrice di accelerazione Hg
(i )
⎡0 0 0 gx ⎤
⎢0 0 g y ⎥⎥
H (gi ) = ⎢ (i) 2 (i) 2 (i) 2
0
con g x + g y + g z = 9.81m s 2
⎢0 0 0 gz ⎥
⎢ ⎥
⎣0 0 0 0⎦
¾ gx , gy , gz sono le componenti dell’accelerazione di gravità lungo gli assi
della terna (i); con Z verticale diretto verso l’alto si ha g x = 0, g y = 0, g z = −9.81
ƒ La matrice delle azioni Φ (ki,)g dovuta al campo gravitazionale sul corpo k è
Φ (ki,)g = H (gi )I (ki ) − I (ki ) H (gi ) Φ (ki,)g = skew{H (gi ) I (ki ) }
T

ƒ L’energia potenziale del campo gravitazionale


⎧ ⎡0 0 0 g x ⎤ ⎡ I xx I yx I zx m xG ⎤ ⎫
⎪⎢ ⎪
0 0 g y ⎥⎥ ⎢⎢ I xy m yG ⎥⎥ ⎪
{ } ⎪ 0
E g = traccia H (gi ) I (ki ) = traccia ⎨⎢
0 0 g z ⎥ ⎢ I xz
I yy I zy
m zG ⎥ ⎪
(
⎬ = m g x xG + g y yG + g z zG)
⎪ ⎢0 I yz I zz
⎪⎢⎣0 ⎥⎢ ⎥
⎩ 0 0 0 ⎦ ⎣m xG m yG m zG m ⎦ ⎪⎭ 24
ENERGIA CINETICA
L’energia cinetica di un corpo rigido k può essere espressa utilizzando le
grandezze matriciali introdotte
ƒ L’energia cinetica di un corpo rigido k si scrive in forma matriciale per
una terna solidale con il corpo e avente origine nel centro di massa G
1 2 1 T
Ec = mvG + ω J ω
2 2
ƒ Utilizzando le grandezze matriciali abituali, scritte rispetto a una terna
(i) qualsiasi, l’energia cinetica ha l’espressione
1 ⎧ (i ) (i ) (i )T ⎫
Ec = traccia⎨ W0 k I k W0 k ⎬
2 ⎩ ⎭

¾ L’equivalenza di questa espressione con la precedente forma


matriciale si mostra esplicitando le matrici W( i ) e I( i )
0k k
⎧⎡ 0 − ω z ω y vOx ⎤⎡ I xx I yx I zx m xG ⎤ ⎡ 0 ω z − ω y 0⎤ ⎫
⎪⎢ ⎥⎢ I ⎥ ⎢− ω ⎥⎪
1 ⎪ ω 0 − ω vOy ⎥ ⎢ xy I I m y G ⎥⎢ 0 ω 0 ⎥⎪
Ec = traccia⎨⎢ z x yy zy z x

2 ⎪ ⎢ − ω y ω x 0 vOz ⎥ ⎢ I xz I yz I zz m zG ⎥ ⎢ ω y − ω x 0 0 ⎥

⎪⎢⎣ 0 ⎥⎢ ⎥⎢ ⎥
0 0 0 ⎦⎣m xG m yG m zG m ⎦ ⎢⎣ vOx vOy vOz 0⎥⎦ ⎪
⎩ ⎭25
¾ Effettuando i prodotti e calcolando la traccia si ottiene 2

Ec =
1
2
2
m vOx( + vOy
2
+ vOz
2
+ )
1
2
( )
1
2
1
2
( ) ( )
+ ω x2 I yy + I zz + ω 2y (I xx + I zz ) + ω z2 I xx + I yy − ω xω y I xy + ω xω z I xz + ω yω z I yz +

[( ) ( ) ]
+ ω z vOy − ω y vOz xG + (ω x vOz − ω z vOx ) yG + ω y vOx − ω x vOy zG m =

=
1
2
(2
m vOx + vOy
2
+ vOz
2 1
2
) ( ) (
+ ω x2 J xx + ω 2y J yy + ω z2 J zz − ω xω y J xy + ω xω z J xz + ω yω z J yz +)
[( ) ( ) ]
+ ω z vOy − ω y vOz xG + (ω x vOz − ω z vOx ) yG + ω y vOx − ω x vOy zG m ← O ≡/ G
¾ L’espressione all’ultimo termine si ottiene ricordando le relazioni tra le
matrici Ik e Jk che descrivono la distribuzione della massa del corpo k
¾ I termini che contengono il prodotto tra la velocità angolare e la
velocità del polo esistono in quanto l’origine della terna (i) in generale
non coincide con il centro di massa o con un punto fisso del corpo k
¾ In conseguenza dell’osservazione fatta appare evidente l’equivalenza
dell’espressione precedente con la relazione matriciale
1 2 1 T
Ec = mvG + ω J ω
2 2 26
POTENZA DI SISTEMI DI FORZE
Le grandezze introdotte si prestano a descrivere la potenza di sistemi di forze
ƒ La potenza delle forze d’inerzia di un corpo rigido k si calcola analogamente
a quanto fatto per l’energia cinetica, infatti si potrebbe mostrare

Pk ,in ⎧ (i ) (i ) (i)T ⎫
= − traccia ⎨ W0 k I k H 0 k ⎬
⎩ ⎭
ƒ La potenza di un sistema di forze arbitrario che agisce su un corpo k, il cui
moto è descritto
r dalla
r matrice delle velocità W0k , è espresso dalla relazione
r r
Pk = F ⋅ v + C ⋅ ω = Fx vx + Fy v y + Fz vz + C xω x + C yω y + C zω z
¾ Ricordando la struttura delle matrici delle velocità W(i)0k e delle azioni Φ(i)0k
(i ) (i )
⎡ 0 − Cz Cy Fx ⎤ ⎡ 0 − ωz ωy v0x ⎤
⎢C 0 − Cx Fy ⎥⎥ ⎢
(i) ⎢ z (i ) ⎢ ωz 0 − ωx v0 y ⎥⎥
Φk = W0k =
⎢− Cy Cx 0 Fz ⎥ ⎢− ωy ωx 0 v0z ⎥
⎢ ⎥ ⎢ ⎥

⎢⎣ xF − Fy − Fz 0 ⎥⎦ ⎣ 0 0 0 0 ⎦

¾ si scrive → { Pk = Fxvx + Fyv y + Fz vz + Cxω x + C yω y + Czω z =


= φ14w14 + φ24w24 + φ34w34 + φ32w32 + φ13w13 + φ21w21
¾ per indicare questa operazione si può quindi definire un nuovo operatore ° ,
(i )
detto prodotto pseudo-scalare, e scrivere → Pk = Φ k o W0 k
(i )
27
LAVORO INFINITESIMO

Si consideri un corpo rigido k in moto rispetto a un riferimento (0)


ƒ Il lavoro infinitesimo compiuto da un sistema di forze applicato al
corpo k per uno spostamento infinitesimo del corpo k si scrive

dLk = Fx dx + Fy dy + Fz dz + Cx dαx + Cy dαy + Cz dαz


ƒ In notazione matriciale, utilizzando la matrice dell’asse elicoidale L(i)0k , lo
spostamento infinitesimo di k rispetto a (0) si scrive,

(i )
⎡ 0 − uz u y t x ⎤
⎢u − u t ⎥
(i)
L0k dα = ⎢ z 0 x y ⎥ dα
⎢− u y ux 0 tz ⎥
⎢ ⎥
⎣ 0 0 0 0⎦

ƒ e quindi l’espressione del lavoro infinitesimo si può scrivere


dL k = Fx dx + Fy dy + Fz dz + Cx dα x + Cy dα y + Cz dα z =
= (φ14 l14 + φ24 l24 + φ34 l34 + φ32 l32 + φ13 l13 + 21 l21) dα
28
ƒ Anche in questo caso si può usare l’operatore del prodotto pseudo-scalare ° , e 2
scrivere in forma compatta

dLk = Φ(ki ) o L(0i )k dα


(i ) (i )
ƒ L’espressione del lavoro elementare → dLk = Φ k o L 0k dα analoga a quella
() ()
della potenza → Pk = Φ ki o W0ik si sarebbe potuta ricavare direttamente da
quest’ultima; infatti la relazione tra lavoro infinitesimo e potenza è

dLk = Pk dt = Φ(ki ) o W0(ik)dt

ƒ Ricordando la relazione che lega la matrice delle velocità alla matrice


dell’asse elicoidale → L(0i )k dα = W0(ik) dt si ha

dLk = Φ(ki ) o W0(ik)dt = Φ(ki ) o L(0i )k dα

ƒ Dall’espressione del lavoro infinitesimo si ricava direttamente il lavoro virtuale,


utile per scrivere il principio dei lavori virtuali, sostituendo δ → d

δ Lk = Φ(ki ) o L(0i )k δα
29
DINAMICA DEI MANIPOLATORI
Utilizziamo ora le relazioni matriciali introdotte per descrivere la dinamica dei
manipolatori. Il manipolatore si schematizza come
ƒ un sistema multicorpo seriale → catena cinematica aperta con
¾ membri rigidi connessi da
¾
{
accoppiamenti → prismatici
rotoidali

qn qi+1 qi qi-1
(n) q2
n i i-1
2
q1
1
0
ƒ Si vuole risolvere il problema dinamico (0)
¾ Diretto → determinazione del moto del robot assegnate le forze
motrici degli attuatori e tutte le azioni applicate al robot
¾ Inverso → calcolo delle azioni motrici degli attuatori ai giunti per
ottenere un assegnato moto
30
ƒ La formulazione del problema dinamico si ottiene tracciando per ogni generico 2

membro i il diagramma di corpo libero → indichiamo le azioni con

¾ Φ*i → azione del corpo i su i-1 → reazioni vincolari e azioni motrici

¾ Φ*i+1 → azione del corpo i+1 su i reazioni vincolari e azioni motrici

¾ { ~
}
Φi = skew H g I i + Φi − skew {H 0i I i } → tutte le altre azioni agenti su i
9 azioni del peso → {
Φ g ,i = skew H g I i } Φi Φ*i+1
~
9 altre azioni → Φi
i
9 azioni d’inerzia → Φi,in = − skew { H 0i Ii } Φ*i
™ le azioni d’inerzia per un corpo i soggetto alle azioni Φi,e , si ottengono dal
principio di d’Alambert e dalla relazione Φi,e = skew { H 0i Ii }
r r
⎧⎪ Fi,e + Fi,in = 0
⎨r r → Φi,e + Φi,in = 0 → Φi,in = − skew { H 0i I i }
⎪⎩Ci,e + Ci,in = 0

¾ L’equilibrio del corpo i è → −Φ*i + Φi*+1 + Φi = 0


31
PROBLEMA DINAMICO INVERSO
Il problema dinamico inverso è più semplice da risolvere di quello diretto
ƒ Si debbono determinare le azioni motrici degli attuatori
corrispondenti a un assegnato moto del robot
ƒ Si possono individuare 3 passi successivi in cui
1) si determinano le azioni esterne applicate al manipolatore
2) determinazione delle azioni tra membri contigui → reazioni
vincolari e azioni motrici
3) si estraggono le azioni motrici degli attuatori dalle precedenti
ƒ Il procedimento si applica ricorsivamente a ogni membro
¾ una volta risolto il problema
Φi Φ*i+1
cinematico e quindi note le posizioni, velocità
e accelerazioni del manipolatore e individuate
le azioni esterne applicate, con il secondo i
Φ*i
passo si determinano le azioni che si
scambiano 2 membri contigui con l’espressione

{ }
Φ*i = Φ*i +1 + Φi = Φ*i +1 − skew {H 0i Ii } + skew H g Ii + Φ
%
i
32
2
¾ Il procedimento inizia dall’organo terminale, cioè il corpo n,
poiché permette di determinare l’azione tra n-1 e n poiché
Φ*n Φ*n +1 = 0
{
Φ*n = − skew {H 0n I n } + skew H g I n + Φ
%
n }
¾ applicando ricorsivamente la formula precedente

Φ*i = Φ*i+1 − skew{H 0i I i } { ~


+ skew H g I i + Φi }
si può determinare l’azione scambiata tra
Φi Φ*i+1
tutti i membri del robot

¾ Le azioni Φ*i scambiate al giunto i sono i


Φ*i
la somma di tutte le azioni applicate ai
membri i → n

{ {
Φ*i = Φ*i+1 − skew{H 0i Ii }+skew H g Ii + Φi }
~

n n n
∑ skew {H0 j I j }+ ∑ { } ~
Φ*i = − skew H g I j + ∑ Φj
j =i j =i j =i
33
ƒ Le matrici nelle espressioni precedenti sono tutte espresse nello 3

stesso sistema di riferimento che quindi è sottinteso; tuttavia le


matrici sono inizialmente espresse rispetto riferimenti diversi:
¾ le matrici di accelerazione H0i sono espresse nel sistema fisso (0)
¾ le matrici d’inerzia Ii sono espresse nel sistema solidale al corpo (i)
qn qi+1 qi qi-1
(n) q2
n i i-1
2
q1
1
0 (0)
ƒ È quindi necessario trasformare le grandezze in modo da riportarle
nello stesso sistema di riferimento; si hanno 2 possibilità
a) Trasformare le matrici d’inerzia Ii nel sistema di riferimento fisso (0)
* (i +1)
b) Trasformare le matrici di accelerazione H0i e le matrici delle azioni Φi +1
scambiate con il membro successivo nel sistema di riferimento (i)
solidale al membro che si sta esaminando
34
ƒ Nota l’azione Φi* che il membro i esercita su i-1, l’azione motrice φi , cioè 4
la coppia o la forza, sviluppata dall’i-esimo attuatore si calcola
applicando il principio dei lavori virtuali a uno spostamento virtuale
costituito da uno spostamento δqi del solo giunto i-esimo
¾ Deve risultare nulla la somma del
9 lavoro virtuale corrispondente allo spostamento δqi dell’azione φi su i ,
esercitata dall’attuatore i-esimo posto su i-1 → φi δqi
9 lavoro virtuale corrispondente allo spostamento Li-1,i δqi di tutte le
azioni applicate ai membri che si muovono cioè i…n, pari all’azione Φi*
esercitata da i su i-1, → Φi* ° Li-1,iδ qi

φi ⋅ δqi + Φ*i o Li −1,i δqi = 0 ⇒ φi = − Φ*i o Li −1,i


¾ Se si è scelto di rappresentare le matrici nel riferimento (i), l’asse del
giunto coincide in genere con un asse coordinato e la matrice L(ii−−11,)i
contiene uno o due elementi unitari e tutti zeri, quindi il prodotto
pseudo-scalare si riduce all’estrazione di un elemento da Φ*i
35
PROBLEMA DINAMICO DIRETTO
qn qi+1 qi qi-1
(n ) q2
n i i-1
2
q1
1 (0)
0

Consiste nella determinazione del moto del manipolatore una volta


note tutte le azioni, esterne e motrici, agenti su di esso
ƒ Il problema dinamico diretto richiede la formulazione e soluzione di un
sistema di equazioni differenziali del 2o ordine
¾ Con numero di equazioni pari ai gradi di mobilità del manipolatore
¾ L’integrazione delle equazioni differenziali è fatta a partire dallo
stato iniziale del manipolatore → posizione e velocità
¾ La soluzione è complessa e l’integrazione è in genere numerica
ƒ Le equazioni si possono ricavare tramite il principio dei lavori virtuali
applicato a ogni giunto i
36
Principio dei lavori virtuali per il giunto i
Considerato l’i-esimo giunto → la variazione virtuale δqi della variabile di
giunto qi causa lo spostamento virtuale Li-1,i δqi del membro i e di tutti i
membri compresi tra i+1 → n
ƒ il lavoro virtuale per lo spostamento virtuale δqi del giunto i è la somma
¾ del lavoro virtuale dell’azione motrice φi dell’i-esimo attuatore per lo
spostamento virtuale δqi
¾ del lavoro virtuale delle azioni, espresse da Φi*, applicate dal membro
i → i -1 per lo spostamento virtuale Li-1,i δqi
δ Li = φi ⋅ δqi + Φ*i o Li −1,i δ qi
¾ Φi* rappresenta tutte le azioni applicate ai membri i → n
Φ = −∑ skew{H 0 j I j }+ ∑ skew{H g I j }+ ∑ Φ j
n n n
* ~
i
j =i j =i j =i

ƒ In corrispondenza dello spostamento virtuale δqi di ogni giunto i deve


essere nullo il lavoro virtuale, per qualsiasi valore di δqi

δ Li = 0 ∴ φi + Φ*i o Li −1,i = 0
37
Calcolo della matrice delle azioni Φi*
ƒ La matrice Φi* costituisce l’azione del corpo i su i-1
n n n
Φ*i {
= − ∑ skew H 0 j I j + } ∑ skew{H g I j } + ∑ Φ~ j
=i j =i j =i
1j4 4
42444
3 1 442443 1 23
inerzie peso esterne
n
ƒ Le azioni d’inerzia − ∑ skew H 0 j I j { } si scrivono considerando le H0 j
j =i
j j j r −1
H0 j = ∑ L h−1,h q&&h + ∑ L2h−1,h q&h2 + 2 ∑ ∑ L s −1, s L r −1,r q&s q&r
h =1 =1444444r4
h1 =4
22s =41 4444444
3
H*
j
ƒ è opportuno raggruppare i termini come indicato in quanto
j
¾ ∑ Lh−1,h q&&h → dipende dalle accelerazioni delle variabili di giunto Q
&&
h =1
¾ H*j → dipende dalle velocità delle variabili di giunto Q
&

¾ il termine j-esimo della sommatoria delle azioni d’inerzia si può scrivere


⎧⎪⎡ j ⎤ ⎫⎪
{ }
j
{ } { }
skew H 0 j I j = skew ⎨⎢ ∑ L h −1, h q&&h + H j ⎥I j ⎬ = ∑ skew L h −1, h I j q&&h + skew H*j I j
*
⎪⎩⎢⎣h =1 ⎥⎦ ⎪⎭ h =1 38
⎧ q1 ⎫ ⎧ q&1 ⎫ ⎧ q&&1 ⎫ 4
⎪M⎪ ⎪M⎪ ⎪M⎪ 2
ƒ Nelle relazioni si indicano i ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎪
Q = ⎨ qi ⎬, & = ⎨ q& ⎬, Q
Q && = ⎨ q&& ⎬
i i
vettori delle variabili di giunto ⎪M⎪ ⎪M⎪ ⎪M⎪
⎪ ⎪ ⎪ ⎪ ⎪ ⎪
⎪⎩qn ⎪⎭ ⎪⎩q&n ⎪⎭ ⎪⎩q&&n ⎪⎭
ƒ La matrice Φi* risulta

} ∑ skew{H*j I j } + ∑ skew{H g I j } + ∑ Φ~ j
n j n n n
{
Φ*i = − ∑ ∑ skew L h −1, h q&&h I j −
j =i h =1 j =i j =i j =i

e contiene
~
¾ tutte le azioni esterne Φ j applicate ai membri i → n

¾ {
tutte le azioni peso skew H g I j } applicate ai membri i → n

¾ {
tutti i termini skew H*j I j } già definiti applicati ai membri i → n
j
¾ le sommatorie ∑ skew{Lh −1,h q&&h I j }, con j = i, i+1, … n
h =1 39
ƒ Per il calcolo della matrice Φi* è di aiuto la tabella delle azioni che contiene, ordinate
per colonna, le azioni applicate ai membri del manipolatore (Lh-1,h ≡ Lh) 5

{ }+ ∑ skew {H g I j }+ ∑ Φ~ j
n j n n n
Φ*i { }
= − ∑ ∑ skew L h q&&h I j − ∑ skew H *j I j
3

j = i h =1 j =i j =i j =i

Consideriamo un robot con 4 gradi di mobilità


¾ → 4 membri
membri → 1 2 3 4

azioni esterne → ~
Φ1
~
Φ2
~
Φ3
~
Φ4

azioni del peso → {


skew H g I1 } {
skew H g I 2 } {
skew H g I3 } {
skew H g I 4 }
termini Hi* I → { }
− skew H1*I1 { }
− skew H*2I 2 { }
− skew H*3I 3 { }
− skew H*4I 4

sommatorie → − skew{L1q&&1I1} − skew{L1q&&1I 2 } − skew{L1q&&1I3} − skew{L1q&&1I 4 }




− skew{L 2 q&&2 I 2 } − skew{L 2 q&&2 I 3} − skew{L 2 q&&2 I 4 }

9 La 4a riga contiene le azioni − skew{L3 q&&3I3} − skew{L3 q&&3I 4 }


d’inerzia dipendenti dalla velocità
Le righe successive alla 4a j
− skew{L 4 q&&4 I 4 }
∑ skew{Lh q&&h I j }
9

indicano le sommatorie → j = i, i + 1, K, n
h =1 40
Formulazione dell’equazioni differenziali 6

ƒ Come esempio scriviamo il lavoro virtuale per una variazione δq3 del giunto 3
¾ i membri 1 e 2 sono fermi e le azioni a essi applicate non compiono lavoro
¾ i membri 3 e 4 subiscono uno spostamento virtuale L3 δ q3 e il lavoro virtuale
prodotto dalle azioni applicate a essi deve essere considerato
¾ l’attuatore 3 è l’unico che produce lavoro

δ L3 = φ3⋅ δq3 + Φ*3 o L3δq3 =


~
( ~
{ } { } { }
= φ3⋅ δq3 + Φ3 + Φ 4 + skew H g I 3 + skew H g I 4 − skew H*3I 3 − skew H*4I 4 + { }
− skew {L1q&&1I 3} − skew{L 2 q&&2 I 3} − skew{L3 q&&3I 3} +
− skew {L1q&&1I 4 } − skew{L 2 q&&2 I 4 } − skew{L3 q&&3 I 4 } − skew{L 4 q&&4 I 4 }) o L3δq3 = 0

¾ per il principio dei lavori virtuali si ha δ L3 = 0 ∴ φ3 + Φ*3 o L3 = 0

(~ { }
φ3 + Φ3 + Φ 4 + skew {H g I 3 }+ skew {H g I 4 }− skew H*3I 3 − skew H*4I 4 +
~
{ }
− skew {L1q&&1I 3} − skew {L 2 q&&2 I 3} − skew {L3 q&&3 I 3} +
− skew {L1q&&1I 4 } − skew {L 2 q&&2 I 4 } − skew {L3 q&&3 I 4 } − skew {L 4 q&&4 I 4 }) o L3 = 0
41
7
¾ Applicando alcune proprietà dell’operatore skew
2
⎧skew {A + B} = skew {A} + skew {B}
⎪ {
⎧skew {H I}o L = traccia L I H T
⎪ }
⎨ ⎨
⎪⎩skew{c ⋅ A} = c ⋅ skew{A} {
⎪skew {L h I} o L k = traccia L k I LTh
⎩ }
n
¾ e ponendo → Îi = ∑ I j , nell’equazione precedente
j =i
~
( ~
{ } { } { }
φ3 + Φ3 + Φ 4 + skew H g I 3 + skew H g I 4 − skew H*3I 3 − skew H*4I 4 + { }
− skew {L1q&&1I 3 } − skew {L 2 q&&2 I 3} − skew {L3 q&&3 I 3} +
− skew {L1q&&1I 4 } − skew {L 2 q&&2 I 4 } − skew {L3 q&&3 I 4 } − skew {L 4 q&&4 I 4 }) o L3 = 0
si ha
(~ { } { }
¾
~
{ }
φ3 + Φ3 + Φ 4 + skew H g Iˆ 3 − skew H*3I 3 − skew H*4I 4 +
{ } { } { }
− q&&1 skew L1Iˆ 3 − q&&2 skew L 2 Iˆ 3 − q&&3 skew L3 Iˆ 3 − q&&4 skew {L 4 I 4 }) o L3 = 0

φ3 + ( Φ
% +Φ
3 4 3 3 3 g{ } 3 3 3 { 3 4}
% ) o L + traccia L Iˆ H T − traccia L I H*T − traccia L I H* T +
4 { }
− q&&1traccia {L3 Iˆ 3LT
1} 2
− q
&& traccia { 3 3 2} 3 { 3 3 3 } 4 { 3 4 4}
L ˆ LT − q&& traccia L Iˆ LT − q&& traccia L I LT = 0
I

ƒ Si può scrivere un’equazione di questo tipo per ogni giunto ottenendo n equazioni 42
8
ƒ Il sistema di equazioni ottenuto può essere scritto
3
&& = F
MQ
ƒ Per mostrare la composizione delle matrici M e F che compaiono nel sistema di
equazioni differenziali sono necessarie alcune considerazioni
ƒ Gli elementi della matrice delle masse M sono

[ ] {
M = mij = traccia Li Iˆ hLTj } con h = max(i, j )

¾ Come applicazione si individua il termine m32 dell’esempio precedente

¾ Nell’equazione trovata per uno spostamento virtuale δq3 del giunto 3

(~ ~
) { } ⎧ T⎫
φ3 + Φ3 + Φ 4 o L3 + traccia L3 Iˆ 3 H Tg − traccia ⎨L3 I3 H*3 ⎬ − traccia ⎨L3 I 4 H*4 ⎬ +
⎩ ⎭


T⎫


− q&&1traccia {L3 Iˆ 3LT
1 }− q
&&2 traccia {L3 Iˆ 3LT2 }− q&&3traccia {L3 Iˆ 3LT3 }− q&&4 traccia {L3 I 4LT4 }) = 0

m32 è il termine che moltiplica q


&&2 → {
traccia L 3 Iˆ 3LT2 }
¾ Quindi per la matrice M si ha la dipendenza funzionale → M (Q )
43
9
ƒ Gli elementi del vettore delle forze ridotte F comprendono tutti i termini noti che non
4
moltiplicano le accelerazioni dei giunti
⎛ n ~ ⎞
{ }
n ⎛
⎜ ⎟ ⎧ * T ⎫⎞
F = [ fi ] = φi + ∑ Φ j o Li + traccia Li I i H g − ∑ ⎜⎜ traccia ⎨Li I j H j ⎬ ⎟⎟
ˆ T
⎜ ⎟ ⎩ ⎭⎠
⎝ j = i ⎠ j =i ⎝

¾ Come applicazione si individua il termine f3 dell’esempio precedente

¾ Nell’equazione trovata per uno spostamento virtuale δq3 del giunto 3

( ~ ~
) { ˆ } T ⎧ *T ⎫ ⎧
φ3 + Φ3 + Φ 4 o L3 + traccia L3 I3 H g − traccia ⎨L3 I3 H 3 ⎬ − traccia ⎨L3 I 4 H 4 ⎬ +
⎩ ⎭ ⎩
*T ⎫

{
− q&&1traccia L3 Iˆ 3LT
1 −}q
&&2 {
traccia L I}
3 3 2 3 { }
3 3 3 4 { })
ˆ LT − q&& traccia L Iˆ LT − q&& traccia L I LT = 0
3 4 4

f3 raggruppa i termini che non moltiplicano le q&&i

~
( ~
) {
ˆ T
} ⎧ *T ⎫ ⎧ *T ⎫
f 3 = φ3 + Φ3 + Φ 4 o L3 + traccia L3 I3 H g − traccia ⎨L3 I3 H 3 ⎬ − traccia ⎨L3 I 4 H 4 ⎬
⎩ ⎭ ⎩ ⎭

ƒ Il vettore F risulta → F (Q,Q


& ,Φ ,Φ , t )
est att con Φ att = {φ1, φ2 , L, φn }T

ƒ In definitiva si ha && = F (Q, Q


→ M (Q ) Q & ,Φ ,Φ , t )
est att 44
Procedura di integrazione 10

Il sistema di equazioni formulato si risolve in genere con un un’integrazione al


passo. La procedura adottata si può descrivere con una sequenza di passaggi.
ƒ Noto lo stato del sistema Q(t ) e Q
& (t ) si calcolano al tempo t
¾ la matrice delle masse → M (Q(t ))

¾ il vettore delle forze ridotte agli attuatori → F (Q(t ), Q& (t ), Φest , Φ att , t )
ƒ Si calcolano le accelerazioni dei giunti Q ()
&& t risolvendo, al tempo t, il sistema
algebrico
Q (
&& (t ) = M -1 (Q(t )) ⋅ F Q(t ), Q
& (t ), Φ , Φ , t
est att )
ƒ Si esegue un’integrazione al passo per determinare le posizioni Q(t + Δt ) e le
& (t + Δt ) all’istante di tempo successivo t + Δt
velocità Q
¾ In genere si usa un metodo di integrazione di 2°, 3° o 4° ordine, tipo Runge-Kutta
¾ Come esempio mostriamo i passaggi relativi al metodo di Eulero (primo ordine)

9 Velocità → & (t + Δt ) = Q
Q & (t ) + Q
&& (t )Δt

9 Posizione → Q(t + Δt ) = Q(t ) + Q


& (t )Δt + 1 Q
&& (t )Δt 2
2
ƒ Il ciclo di integrazione è concluso → si inizia il ciclo relativo all’istante t + Δt
45
(
ƒ Il calcolo della matrice M (Q(t )) e del vettore F Q(t ), Q
& (t ), Φ , Φ , t deve
est att )
11
essere eseguito a ogni ciclo di integrazione, è quindi utile minimizzare le operazioni 2
da eseguire: si può seguire la procedura seguente
*
¾ Calcolo delle accelerazioni Hi di ogni membro
9 && = 0
impiegando i metodi della cinematica diretta, ponendo Q
9 procedendo dalla base all’organo terminale

¾ Calcolo della matrice simmetrica M {


→ mij = traccia Li Iˆ hLTj }
9 partendo dall’organo terminale verso la base, cioè dalle cornici esterne in
basso e a destra verso l’elemento m11

9 I termini Îi si calcolano progressivamente → Iˆ i = Iˆ i +1 + Ii


¾ Calcolo del vettore F
⎛ n ~ ⎞
{ }
n ⎛
⎜ ⎟ ⎧ * T ⎫⎞
fi = φi + ∑ Φ j o Li + traccia Li I i H g − ∑ ⎜⎜ traccia ⎨Li I j H j ⎬ ⎟⎟
ˆ T
⎜ ⎟ ⎩ ⎭⎠
⎝ j = i ⎠ j =i ⎝
9 insieme agli analoghi termini di M , si riempie dal basso verso l’alto

9 per i termini che compaiono in fi si trovano procedure analoghe a quelle per il


calcolo di Î i
46