Dinamica dei Sistemi Multicorpo - LaDiSpe

Dinamica dei Sistemi Multicorpo
Basilio Bona
Dipartimento di Automatica e Informatica
Politecnico di Torino
versione corrente: 20 novembre 2003
1
Basilio Bona - Dinamica dei Sistemi Multicorpo
2
Il contenuta di questa dispensa è stato controllato al meglio per evitare la presenza
di errori di battitura, tuttavia è possibile che ve ne siano ancora; chi ne trovasse o
volesse dare suggerimenti all’autore, è pregato di inviare una email a:
[email protected]
3
Basilio Bona - Dinamica dei Sistemi Multicorpo
1
Introduzione
In questa breve dispensa vengono prima ricavate le equazioni dinamiche di un corpo
rigido, utilizzando le equazioni di Newton-Eulero e di Lagrange e successivamente
si trattano i sistemi multicorpo, ossia quelli costituiti da più corpi rigidi tra loro
opportunamente collegati.
Prima di descrivere questi due approcci, è opportuno riassumere brevemente alcuni
concetti relativi alle matrici di inerzia ed ai momenti angolari; il lettore interessato
può consultare il Goldstein [4] per ulteriori approfondimenti.
1.1
Tensori o matrici d’inerzia
La matrice o tensore d’inerzia 1 di un corpo rigido, è quella grandezza che definisce
le caratteristiche inerziali del corpo rigido rispetto alla rotazione. Essa viene definita
specificando un punto rispetto a cui viene calcolata; di solito questo punto viene
fatto coincidere con il centro di massa del corpo stesso, ma ciò non è strettamente
necessario.
Dato un corpo rigido B, indicato dal generico pedice b, e un sistema di riferimento
R` , il centro di massa di B ha posizione data dal vettore r `cb , definito nel modo
seguente:
Z
Z
r `cb
r `b dm
dm = r `cb m =
B
¡
B
¢T
dove r `b = x y z rappresenta
la posizione della generica massa elementare dm
R
appartenente al corpo b e m = B dm è la massa totale del corpo.
La matrice d’inerzia Γ `b/c ∈ R3×3 intorno al centro di massa r `cb viene implicitamente definita dalla relazione
(1)
h`b = Γ `b/c ω `b
dove h`b è il momento angolare del corpo rigido e ω `b la velocità angolare totale del
corpo rigido, entrambi rappresentati nel sistema di riferimento R` .
Se ora fissiamo R` al corpo rigido e poniamo la sua origine nel centro di massa C,
possiamo definire la matrice d’inerzia Γ `b/c nel modo seguente
Γ `b/c
=−
Z
B
S(r `b )S(r `b )dm
Z h
° ` °2
°r b ° I
=
B

Γxx Γxy
= Γyx Γyy
Γzx Γzy
i
− r `b (r `b )T dm

Γxz
Γyz 
Γzz
(2)
dove ricordiamo che r `b (r `b )T è un prodotto diadico che genera una matrice 3 × 3.
1 Con il termine tensore si indica l’ente matematico (una generalizzazione del vettore), mentre
con il termine matrice si indica la sua rappresentazione in un qualche dato sistema di riferimento.
Preferiamo usare il termine “matrice”, piuttosto che “tensore”.
Basilio Bona - Dinamica dei Sistemi Multicorpo
da:
4
Gli elementi sulla diagonale sono detti momenti principali di inerzia e sono dati
¢
R¡ 2
Γxx =
y + z 2 dm
¢
RB ¡ 2
Γyy =
x + z 2 dm
(3)
¢
RB ¡ 2
Γzz =
x + y 2 dm
B
dove x, y e z sono le coordinate in R` del generico elemento di massa dm.
Gli elementi fuori dalla diagonale sono detti prodotti d’inerzia e sono dati da:
R
Γxy = Γyx = − xy dm
RB
Γyz = Γzy = − yz dm
(4)
B
R
Γzx = Γxz = − xz dm
B
Il sistema di riferimento “privilegiato” R∗ per cui la matrice d’inerzia assume la forma
diagonale, ossia


Γx 0
0
Γ ∗b/c =  0 Γy 0  ,
0
0 Γz
ha i tre assi allineati con i cosiddetti assi principali d’inerzia; la matrice stessa si
definisce matrice principale d’inerzia.
Se ora consideriamo un altro sistema di riferimento Rk , rispetto a cui R` è rappresentato dalla matrice di rotazione Rk` , la matrice d’inerzia corrispondente è legata
a quella precedente dalla relazione
Γ kb/c = Rk` Γ `b/c R`k = Rk` Γ `b/c (Rk` )T
o, analogamente
Γ kb/c Rk` = Rk` Γ `b/c .
(5)
Nell’ipotesi che il sistema di riferimento sia fisso al corpo B, la matrice d’inerzia è
costante nel tempo; in caso contrario la matrice d’inerzia è tempo-variante.
1.2
Teorema degli assi paralleli
Supponiamo ora di voler calcolare la matrice d’inerzia non più rispetto al punto C,
ma rispetto ad un diverso punto O (vedi Fig. 1)
Risulta
r o = r co + r b
e questa relazione è valida per qualunque sistema di riferimento in cui rappresentiamo
i vettori.
Ne segue che l’elemento di massa elementare dm che si trovava, rispetto al punto in relazione al quale si calcola la matrice d’inerzia, nella posizione di coordinate r b , si trova ora nella posizione di coordinate r o . Precisiamo che definiamo
¡
¢T
r co = xc yc zc .
5
Basilio Bona - Dinamica dei Sistemi Multicorpo
dm
rb
ro
C
rco
O
Figura 1: Punti relativi.
La nuova matrice d’inerzia, che indicheremo con Γ `b/o , sarà definita come
i
h° °2
Γ `b/o = Γ `b/c − mS(r bco )S(r bco ) = Γ `b/c + m °r bco ° I − r bco (r bco )T
(6)
ovvero, più semplicemente
Γ `b/o
dove:
 0
Γxx
0
= Γyx
0
Γzx
0
Γxy
0
Γyy
0
Γzy

0
Γxz
0 
Γyz
0
Γzz
¡
¢
0
Γxx
= Γxx + m yc2 + zc2
¢
¡
0
Γyy
= Γyy + m x2c + zc2
¢
¡
0
Γzz
= Γzz + m x2c + yc2 .
(7)
I prodotti di inerzia possono essere riscritti in modo analogo:
0
Γxy
= Γxy + m xc yc
0
Γxz
= Γxz + m xc zc
0
Γyz
(8)
= Γyz + m yc zc
Queste relazioni permettono quindi di calcolare la matrice d’inerzia rispetto ad un
qualsiasi altro punto, avendo a disposizione i dati relativi alla matrice d’inerzia rispetto al centro di massa.
1.3
Momento angolare ed equazione di Eulero
L’espressione del momento della quantità di moto angolare è stato brevemente definito
in (1); vorremmo ora giustificare questa formula derivando la relazione in modo più
rigoroso.
6
Basilio Bona - Dinamica dei Sistemi Multicorpo
Un corpo rigido B è composto da un continuo di particelle elementari di massa
dm in posizione r kp , con velocità v kp e accelerazione akp ; Rk è un generico sistema di
riferimento rispetto a cui esprimiamo i vettori.
Per semplificare la trattazione della dinamica del corpo rigido, possiamo ricondurre
l’azione delle forze e delle coppie agenti su di esso ad una forza equivalente f kbc , con
linea d’azione attraverso il centro di massa di B e modulo pari a quello della somma
vettoriale delle forze agenti, e ad una coppia equivalente τ kbc = nkb/c pari al momento
nkb/c totale delle forze agenti sul corpo, relativo al centro di massa.
L’equazione di Eulero afferma che
· ¸
d
hk
τ kbc =
dt i b/c
dove abbiamo indicato che la derivata va fatta relativamente ad un sistema di riferimento inerziale, che indicheremo d’ora in avanti con Ri .
Il vettore hkb/c è detto momento della quantità di moto angolare ed è definito come
Z
hkb/c = (r k × v kp )dm
(9)
B
dove
r k = r kp − r kc
rappresenta la posizione della massa elementare rispetto al centro di massa; la velocità
v kp può venir espressa in relazione alla velocità del centro di massa v kc nel modo
seguente
k
× rk
(10)
v kp = v kc + ωib
k
, che va intesa come la velocità angolare del
È stata introdotta la velocità angolare ωib
corpo b rispetto al sistema di riferimento inerziale Ri , ossia quella che solitamente si
chiama velocità angolare totale del corpo b. Sostituendo la (10) nella (9), otteniamo
¶
µZ
Z
k
× r k )dm =
r k × (ωib
r k dm × v kc +
hkb/c =
B
B
Il termine
R
k
B
r dm vale zero in quanto
Z
Z
Z
k
k
k
r dm = (r p − r c )dm =
r kp dm − mr kc = 0
B
B
B
per definizione di centro di massa; quindi resta
Z
Z
k
k
hkb/c =
× r k )dm = − r k × (r k × ωib
r k × (ωib
)dm
B
B
Z
Z
k
k
dm = − S(r `b )S(r `b )dm ωib
= − S(r `b )S(r `b )ωib
B
B
k
= Γ kb/c ωib
In un diverso sistema di riferimento R` avremo
`
.
h`b/c = Γ `b/c ωib
(11)
Basilio Bona - Dinamica dei Sistemi Multicorpo
con
7
Γ `b/c = R`k Γ kb/c Rk`
Per completare l’equazione di Eulero si tratta ora di definire la derivata del
momento della quantità di moto angolare.
· ¸
· ¸
k
d
d
k
k
(Γ kb/c ωib
(Γ k ω k ) + ω kib × (Γ kb/c ωib
)=
)
ḣb/c =
dt i
dt b b/c ib
Essendo Γ kb/c costante in Rb , ne segue che
k
k
ḣb/c = Γ kb/c αib + ω kib × (Γ kb/c ωib
)
dove αib è l’accelerazione angolare totale del corpo b rispetto al riferimento inerziale.
Un altro modo per giungere alla stessa formula è il seguente: ipotizziamo che il
corpo b ruoti con velocità angolare totale ω 0 rispetto ad un riferimento inerziale R0 ,
con origine posta nel centro di massa del corpo.
L’equazione di Eulero (della dinamica del corpo in rotazione) stabilisce che la
variazione del momento angolare sia pari alla risultante τ 0 delle coppie applicate al
corpo, anch’essa espressa in R0 , ossia:
ḣ0 ≡
d
(Γ 0 ω 0 ) = τ 0
dt
(12)
Sia Γ 0 sia ω 0 sono funzioni del tempo, e quindi risulta
ḣ0 = Γ̇ 0 ω 0 + Γ 0 ω̇ 0
(13)
Per calcolare più agevolmente Γ̇ 0 è opportuno cambiare sistema di riferimento.
Se R` è il riferimento locale solidale al corpo, con origine nel suo centro di massa, se
R è la matrice di rotazione che rappresenta R` in R0 e Γ ` è il tensore d’inerzia del
corpo, espresso in R` , allora abbiamo visto che vale la relazione:
Γ 0 = RΓ ` RT
(14)
Chiamando ω ` la velocità angolare del corpo espressa in R` , avremo ω 0 = Rω `
ovvero ω ` = RT ω 0 e quindi:
h0 = Γ 0 ω 0 = RΓ ` RT Rω ` = RΓ ` ω ` = Rh`
(15)
dove abbiamo introdotto il momento angolare h` = Γ ` ω ` espresso nel riferimento
locale R` . Quest’ultima relazione mostra che il vettore del momento angolare si
trasforma nello stesso modo degli altri vettori, premoltiplicandolo per la matrice di
rotazione R.
Derivando ora h0 nella (15), otteniamo:
ḣ0 =
d
(RΓ ` ω ` ) = ṘΓ ` ω ` + RΓ̇ ` ω ` + RΓ ` ω̇ `
dt
(16)
Ricordando che il tensore d’inerzia Γ ` è costante nel tempo, in quanto è espresso
nel riferimento R` solidale con il corpo rotante, risulta quindi Γ˙ ` = O e la (16) si
semplifica come segue:
ḣ0 = S(ω 0 )RΓ ` ω ` + RΓ ` ω̇ ` = ω 0 × (RΓ ` ω ` ) + RΓ ` ω̇ `
(17)
Basilio Bona - Dinamica dei Sistemi Multicorpo
8
Questo vettore è espresso in R0 e contiene sia velocità ω ` sia ω 0 ; se lo vogliamo
esprimere in R` dovremo premoltiplicare per RT .
Ricordando le proprietà delle matrice antisimmetriche, otteniamo
RT ḣ0
= RT S(ω 0 )RΓ ` ω ` + RT RΓ ` ω̇ `
= S(RT ω 0 )Γ ` ω ` + Γ ` ω̇ `
= S(ω ` )Γ ` ω ` + Γ ` ω̇ `
(18)
= ω ` × Γ ` ω ` + Γ ` ω̇ `
Poiché RT ḣ0 = ḣ` e, per l’equazione di Eulero ḣ` = τ ` , segue:
τ ` = ω ` × Γ ` ω ` + Γ ` ω̇ `
(19)
dove τ ` = RT τ 0 è la risultante delle coppie applicate, espressa in R` .
Se volessimo invece esprimere la coppia in R0 , dovremmo utilizzare la (17), sostituendo Γ 0 R al posto di RΓ ` , ottenuta dalla (14); in questo modo si giunge alla
relazione
(20)
τ 0 = ω 0 × Γ 0 ω 0 + Γ 0 ω̇ 0
Come si può osservare, le equazioni (19) e (20) sono identiche, purché tutti i vettori
coinvolti siano stati espressi nello stesso sistema di riferimento.
2
Equazioni di Newton-Eulero
Le equazioni di Newton-Eulero si possono ricavare come equazioni di equilibrio dinamico delle forze e dei momenti, compresi quelli inerziali, esterni e di vincolo, agenti
sul corpo rigido B.
Si scrivono quindi due equazioni vettoriali, la prima (equazione di Newton) di
equilibrio tra le forze lineari, la seconda (equazione di Eulero) di equilibrio tra i
momenti angolari.
Per semplicità di notazione supporremo d’ora in avanti che i vettori introdotti siano
tutti rappresentati nel riferimento R0 , trascurando di indicare il pedice relativo.
Supponendo che il corpo rigido sia collegato ad altri corpi, vanno considerati nelle
equazioni anche le forze e i momenti vincolari che vengono trasmessi dai corpi contigui
al corpo in questione.
Il moto del corpo B, supposto perfettamente rigido, risulta decomposto in due
moti distinti:
1. un moto traslatorio del suo centro di massa, descritto dalle equazioni vettoriali
di Newton, che impongono l’equilibrio, rispetto al centro di massa, di tutte le
forze agenti sul corpo, comprese quelle dinamiche:
f m + f v + mg − mac = 0
(21)
dove ac = v̇ c = r̈ c è l’accelerazione del centro di massa, g e l’accelerazione di
gravità, f m è la risultante delle forze attive applicate al corpo dall’esterno e f v
è la risultante delle forze vincolari tra i corpi.
9
Basilio Bona - Dinamica dei Sistemi Multicorpo
2. un moto rotatorio, intorno al centro di massa, descritto dalle equazioni vettoriali di Eulero, che impongono l’equilibrio, rispetto al centro di massa, di tutti
i momenti agenti sul corpo, compresi quelli generati dalle forze d’inerzia:
τ m + τ v + τ fm + τ fv + τ g + τ a − Γ α − ω × Γ ω = 0
(22)
dove τ m è la risultante dei momenti attivi applicati al corpo dall’esterno, τ v è
la risultante dei momenti vincolari, τ fm è la risultante dei momenti dovuti alle
forze esterne, τ fv è la risultante dei momenti dovuti alle forze vincolari, τ g è il
momento dovuto al campo gravitazionale e τ a è il momento dovuto alla forza
d’inerzia −mac , mentre α è l’accelerazione angolare totale.
Questa equazione viene semplificata se i momenti e la matrice d’inerzia vengono
calcolate rispetto al centro di massa: in questo caso si ha τ g = τ a = 0 e
l’equazione di Eulero si riduce a
τ m + τ v + τ fm + τ fv − Γ α − ω × Γ ω = 0
(23)
Come si può notare, le equazioni sono espresse in funzione delle accelerazioni
lineari del centro di massa ac , dell’accelerazione angolare α e della velocità angolare
ω.
Le equazioni di Newton-Eulero si possono anche scrivere in una forma matriciale
più compatta, ad esempio
µ
¶µ b ¶ µ
¶ µ b ¶
mI
0
0
ac
f bc
+
=
αbib
0 Γ bb/c
S(ω bib )Γ bb/c
τ bbc
Ricordando che abc = v̇ bc + ω bib × v bc , avremo anche una seconda forma possibile
µ
mI
0
0
Γ bb/c
¶µ
v̇ bc
αbib
¶
µ
mS(ω bib )
0
+
0
S(ω bib )Γ bb/c
¶µ
v bc
ω bib
¶
=
µ
f bbc
τ bbc
¶
Se poi volessimo esprimere le equazioni in relazione ad un generico punto O, ove r oc
è il vettore da O al centro di massa C, allora avremo
¶ µ b ¶
¶µ b ¶ µ
µ
mS(ω bib )S(ω bib )r boc
mI
mS(r boc )T
ao
f bo
+
=
αbib
S(ω bib )Γ bb/o ω bib
mS(r boc ) Γ bb/c ω bib
τ bbo
In conclusione vorremmo aggiungere che una delle maggiori difficoltà che sorgono
nell’utilizzare le equazioni di Newton-Eulero per scrivere simbolicamente le equazioni
dinamiche del sistema multicorpo nasce dalla presenza delle forze generalizzate (forze e
momenti) di vincolo; queste infatti non servono a caratterizzare direttamente il moto
del corpo, ma hanno l’unica funzione di sostituire i vincoli geometrici con quntità
vettoriali inseribili nelle equazioni.
Tuttavia, se quello che interessa non è scrivere simbolicamente le equazioni dinamiche, ma calcolare numericamente le grandezze cinematiche o dinamiche del corpo,
le equazioni di Newton-Eulero, poste in una opportuna forma ricorsiva, sono assai
efficienti e possono servire alla soluzione numerica di problemi dinamici.
Basilio Bona - Dinamica dei Sistemi Multicorpo
3
10
Coordinate generalizzate e vincoli
Un insieme di N masse puntiformi, ciascuna definita univocamente nello spazio dal
vettore


ξi,1 (t)
r i (t) = ξi,2 (t) , i = 1, . . . , N
ξi,3 (t)
è globalmente descrivibile da 3N grandezze. Possiamo ora pensare di “radunare”
queste componenti in un unico vettore di lunghezza 3N


ξ1,1


   ξ1,2 
x1


r1

 

 r 2   ξ1,3   x2 
   ..   x3 
x= . = . =

  . 
 ..  
ξN,1   .. 


rN
ξN,2 
x3N
ξN,3
Lo spazio R3N si dice spazio di configurazione del sistema e ogni movimento dell’insieme viene descritto da una traiettoria in questo spazio multidimensionale.
Un corpo rigido, composto da un insieme infinito di masse elementari avrà virtualmente uno spazio di configurazione di dimensioni infinite.
Nell’ipotesi che questi N oggetti puntiformi siano tra loro rigidamente collegati,
sappiamo che il multicorpo totale avrà, nello spazio cartesiano, non più di 6 parametri
liberi (3 di posizione + 3 di assetto). Possiamo dire che i 3N parametri originari
sono stati ridotti per la presenza di un certo numero di vincoli, che rappresentiamo
analiticamente con delle equazioni vettoriali del tipo seguente:
2
kr i − r j k = dij ,
i, j = 1, . . . , N, i 6= j.
(24)
Facciamo altri esempi:
Esempio 1. Consideriamo il moto di un corpo rigido vincolato a ruotare intorno ad
un asse fisso nello spazio e rigidamente collegato ad un punto su questo asse, in
modo che non siano consentiti moti di traslazione.
Esempio 2. Consideriamo un corpo rigido il cui unico moto consentito è quello di
traslazione lungo un asse particolare.
Esempio 3. Consideriamo un disco che ruota in contatto di un piano, aderente ad
esso, ma senza moti di strisciamento.
In generale un vincolo si rappresenta in forma implicita come
φ(x1 , . . . , x3N , t) = 0
Se i vincoli sono nv , allora avremo un sistema di uguaglianze
φ1 (x1 , . . . , x3N , t) = 0
φ2 (x1 , . . . , x3N , t) = 0
..
.
φnv (x1 , . . . , x3N , t) = 0
Basilio Bona - Dinamica dei Sistemi Multicorpo
11
equivalente all’equazione matriciale
φ(x(t), t) = 0.
(25)
In generale non tutti i vincoli sono indipendenti dagli altri; ad esempio nel caso di
N masse puntiformi, l’insieme di equazioni di vincolo (24) non sono tutte tra loro
indipendenti. Supponiamo per semplicità che, d’ora in avanti, quando specifichiamo
le equazioni dei vincoli, queste siano tra loro indipendenti e nv sia il numero di vincoli
indipendenti.
La dipendenza diretta dei vincoli dal tempo si ha quando i vincoli stessi sono
funzione di qualche legge temporale esterna. Spesso essi sono indipendenti dal tempo
in modo diretto, per cui la (25) si semplifica e diventa:
φ(x(t)) = 0.
(26)
In questo caso il teorema della funzione implicita ci assicura che è possibile esprimere nv variabili in funzione delle rimanenti n = 3N − nv .
Abbiamo cosı̀ generato n = 3N − nv variabili indipendenti q1 , q2 , . . . , qn , che
prendono il nome di variabili o coordinate generalizzate


q1 (t)


q(t) =  ...  .
qn (t)
Esse sono quelle variabili che rappresentano univocamente il moto del multicorpo,
tenendo implicitamente conto dei vincoli cinematici presenti. Tutte le altre variabili
di configurazione sono ricavabili da queste utilizzando le equazioni di vincolo.
Considerando l’Esempio 1, l’unico moto geometricamente ammissibile è quello di
rotazione intorno ad un asse, e quindi l’insieme di coordinate generalizzate è composto
dal solo angolo di rotazione q = θ rispetto ad una origine specificata. Ogni altra
grandezza cinematica sarà esprimibile in funzione di questa.
L’insieme delle coordinate generalizzate non è unico, nel senso che possono esistere diversi insiemi di coordinate (o anche un numero infinito di insiemi) capaci di
esprimere in modo univoco il moto del corpo, ma esso deve essere completo, nel senso
che deve poter permette di esprimere completamente il movimento del corpo vincolato, e indipendente, nel senso che non devono esistere qi ricavabili come combinazione
lineare di altre coordinate generalizzate.
Nell’Esempio 1, se fissiamo in modo diverso l’origine dell’angolo, avremo infinite
coordinate generalizzate che differiscono tra loro per una costante. A questo proposito
va fatto osservare che se l’insieme delle coordinate generalizzate non è unico, il loro
numero n invece lo è.
In conclusione è ora possibile esprimere ogni vettore di posizione r i in funzione
delle coordinate generalizzate, secondo la
r i = ri (q(t); t)
(27)
dove ri è una generica funzione non lineare, derivabile quanto basta rispetto ai suoi
argomenti. La dipendenza diretta dal tempo si ha quando esistono delle specifiche
12
Basilio Bona - Dinamica dei Sistemi Multicorpo
esterne di moto tempo-variante oppure vincoli anch’essi tempo-varianti. Analogamente, se consideriamo le variabili di configurazione x, possiamo scrivere la dipendenza
dalla coordinate generalizzate cosı̀:
x = x(q(t), t)
Una volta definite le coordinate generalizzate, è possibile definire le velocità generalizzate, come le derivate di queste


q̇1 (t)
dq(t)  . 
=  ..  .
q̇(t) =
dt
q̇n (t)
La relazione tra ẋ e q̇ vale
ẋ = Aq̇ + b
(28)
dove A ∈ R3×3 e b ∈ R3×1 sono definite dai loro elementi generici
[A]ij =
∂xi (t)
∂qj (t)
[b]i =
∂xi (t)
∂t
La matrice A prende il generico nome di jacobiano della trasformazione; vedremo più
oltre come alcune di queste matrici sono particolarmente importanti in problemi di
cinematica e dinamica dei sistemi multicorpo.
Se esistono dei vincoli è possibile esprimerli in funzione delle coordinate ed eventualmente delle velocità generalizzate; avremo allora
h(q(t), q̇(t), t) = 0
(29)
h(q(t), q̇(t)) = 0
(30)
oppure
4
Spostamenti virtuali, vincoli e gradi di libertà
Avendo definito le coordinate generalizzate qi , introduciamo il concetto di spostamento
virtuale o, come qualche autore preferisce scrivere, variazione ammissibile.
Lo spostamento virtuale è un piccolo spostamento consentito dai vincoli cinematici
agenti sul corpo rigido o sul sistema di corpi rigidi interconnessi, che può avvenire
indipendentemente dal tempo. Esso si indica con il simbolo δr, che ha somiglianza
con lo spostamento differenziale dr; ma mentre il secondo è lo spostamento consentito
sia dai vincoli sia dalle forze presenti nel sistema multicorpo, il primo è indipendente
dalla reale possibilità che tale spostamento si verifichi, in conseguenza della dinamica
del sistema multicorpo.
Esso è il frutto di un esperimento mentale, e come tale può essere contemporaneo
ad altri spostamenti virtuali, con la sola condizione che vengano rispettati i vincoli
cinematici; esso, contrariamente all’incremento dr che avviene nell’intervallo infinitesimo dt, avviene in un tempo istantaneo e per questo motivo si considera sempre
δt = 0.
13
Basilio Bona - Dinamica dei Sistemi Multicorpo
I concetti di completezza e indipendenza che si applicano alle coordinate generalizzate si applicano pure agli spostamenti virtuali.
Normalmente il numero di coordinate generalizzate (indipendenti e complete) e
il numero di spostamenti virtuali (indipendenti e completi) sono uguali e coincidono
con i gradi di libertà del sistema. I vincoli per cui questo accade si dicono olonomi e
il sistema multicorpo prende il nome di sistema olonomo. In caso contrario si hanno
vincoli anolonomi e il sistema si dice anolonomo.
Il numero di spostamenti virtuali indipendenti e completi prende il nome di gradi
di libertà del sistema multicorpo.
Se nel sistema agiscono solo vincoli olonomi, i gradi di libertà del sistema ngdl
coincidono con il numero di variabili generalizzate, ossia n = ngdl . In caso di vincoli anche anolonomi, il numero di gradi di libertà è minore del numero di variabili
generalizzate n ≤ ngdl .
4.1
Vincoli olonomi e anolonomi
Dato un corpo rigido o un sistema multicorpo caratterizzato
¢T
¡
• da n coordinate generalizzate q(t) = q1 · · · qn indipendenti e costituenti
un insieme completo,
• dalle relative velocità generalizzate q̇(t),
¡
• da n variazioni ammissibili δq = δq1 · · ·
complete,
δqn
¢T
, anch’esse indipendenti e
abbiamo visto in (29) che il sistema può venire assoggettato a nv vincoli di uguaglianza
hi (q(t), q̇(t), t) = 0,
i = 1, . . . , m
Se questi sono funzione delle sole posizioni, come
hi (q(t), t) = 0
(31)
allora risultano essere sempre olonomi; se invece sono funzione sia delle posizioni sia
delle velocità, possono essere olonomi oppure anolonomi.
Vediamo ora di caratterizzare meglio i vincoli anolonomi.
Si dicono anolonomi due classi di vincoli:
• la prima classe comprende i vincoli di diseguaglianza, descritti da espressioni
analitiche del tipo seguente
h0 (q(t), q̇(t), t) ≤ 0
• la seconda classe comprende quei vincoli del tipo
h00 (q(t), q̇(t), t) = 0
che non possiedono un integrale esatto. In particolare, per semplicità, restringiamo la nostra attenzione su vincoli espressi come funzione delle sole
velocità:
h00 (q̇(t), t) = 0
(32)
Quando questi non possiedono un integrale esatto, sono anolonomi.
14
Basilio Bona - Dinamica dei Sistemi Multicorpo
Vediamo di caratterizzare meglio, sia dal punto di vista analitico, sia dal punto di
vista fisico, quest’ultima classe di vincoli anolonomi.
Il vincolo olonomo (31) può essere derivato rispetto al tempo, dando origine ad
un generico vincolo sulle velocità che si esprime in modo analogo alla (28), ossia
a(q)T q̇ + b(q) = 0
dove

∂h(t)
 ∂q1 (t) 




a(q) =  ... 


 ∂h(t) 

bi (q) =
(33)
∂h(t)
∂t
∂qn (t)
Questo stesso vincolo si può esprimere in forma differenziale, come:
a(q)T dq + b(q)dt = 0
(34)
che definisce la forma pfaffiana del vincolo. Al posto dei differenziali si possono
sostituire gli spostamenti virtuali e, ricordando che δt ≡ 0, ottenere:
a(q)T δq = 0.
Ora, se la (34) è integrabile, ovvero essa rappresenta un differenziale esatto, la si
può ricondurre alla (31); in questo caso il vincolo corrispondente risulta olonomo.
Se invece la forma pfaffiana non è un differenziale esatto, il vincolo corrispondente
è anolonomo.
Ricordiamo quali sono le condizioni per avere un differenziale esatto: la forma
differenziale
dh = a(q)T dq
R
è esatta in Rn se dh è indipendente dal cammino di integrazione. Ciò è verificato
quando
dh = (∇h)T dq
¶
µ
∂h
∂h
···
. Quindi i coefficienti a(q) devono
dove (∇h)T = (grad h)T =
∂q1
∂qn
soddisfare la relazione
∂h
ai (q) =
, i = 1, . . . , n
∂qi
Inoltre deve valere la seguente relazione tra le derivate parziali seconde
∂2h
∂2h
=
,
∂qj qi
∂qi qj
∀i, ∀j = 1, . . . , n
che implica
∂ai (q) ∂aj (q)
−
= 0,
∂qj
∂qi
∀i, ∀j = 1, . . . , n
(35)
Ne consegue che, se i coefficienti ai soddisfano alle relazioni (35), la forma differenziale è integrabile esattamente e il vincolo è olonomo. In caso contrario il vincolo è
anolonomo.
15
Basilio Bona - Dinamica dei Sistemi Multicorpo
Dal punto di vista fisico le cose si apprezzano meglio considerando un problema
in cui appare un vincolo anolonomo. L’esempio classico è quello di una ruota che si
muove rotolando su un piano, con l’asse di rotazione parallelo al piano e in assenza
di strisciamento.
Figura 2: Esempio di vincolo anolonomo: un disco che ruota a contatto di un piano
senza strisciamento.
... continuare ... aggiungere che cosa è ora il numero di gdl e la
caratterizzazione fisica (con esempi) dei vincoli anolonomi
4.2
Principio dei lavori virtuali
Una configurazione geometricamente ammissibile di N masse elementari è in equilibrio
(statico o dinamico) se il lavoro virtuale
δW =
N
X
f i · δr i
i=1
è nullo, ossia
δW =
N
X
f i · δr i = 0
(36)
i=1
dove f i sono le forze applicate dall’esterno sul sistema e agenti nelle posizioni r i , e
δr i sono gli spostamenti virtuali delle medesime posizioni.
Se il sistema è un corpo rigido o un multicorpo, sul quale agiscono sia forze sia momenti, occorre caratterizzare in modo diverso i rispettivi contributi al lavoro virtuale;
avremo allora:
Nf
Nτ
X
X
δW =
f i · δr i +
τ i · δαi = 0
(37)
i=1
i=1
dove ora vi sono anche i momenti τ i e le rispettive variazioni angolari virtuali αi .
Basilio Bona - Dinamica dei Sistemi Multicorpo
5
16
Equazioni cinematiche del corpo rigido
Le equazioni dinamiche di un sistema composto da uno o più corpi rigidi sono formulate a partire dalle grandezze cinematiche di posizione, velocità e accelerazione lineare,
che chiameremo rispettivamente r, ṙ, r̈ e le grandezze cinematiche di assetto, velocità
e accelerazione angolare, che chiameremo rispettivamente α, α̇, α̈.
Sapendo che l’assetto di un corpo rigido si può rappresentare in molti modi, nessuno dei quali è un vettore in senso stretto, ci possiamo chiedere che significato abbia
α; si tratta di una rappresentazione convenzionale dei tre parametri angolari associati
alla rotazione: essi possono essere i tre angoli di Eulero o gli angoli di roll, pitch e
yaw, oppure le componenti indipendenti di un quaternione unitario.
Come abbiamo visto al Paragrafo precedente, possono essere presenti vincoli cinematici che limitano il moto dei corpi. Questi vincoli possono essere generati dal
progettista del sistema oppure essere imposti dall’ambiente in cui il sistema opera.
In generale, avendo definito le variabile generalizzate q(t), avremo la possibilità di
esprimere il moto del corpo mediante equazioni espresse in forma vettoriale:
r(t) = g r (q(t), π, t)
α(t) = g α (q(t), π, t)
dove π rappresenta un generico vettore di parametri geometrici, che sono propri del
sistema.
Il vettore r può rappresentare le coordinate di un punto particolare del nostro
corpo rigido, di cui ci interessa la posizione; ad esempio potrebbe essere il vettore del
centro di massa del corpo, oppure un punto posto alla sua estremità o altro ancora. Analogamente, il “vettore” α potrebbe rappresentare l’assetto di un particolare
sistema di riferimento associato al corpo rigido.
Questo sistema di equazioni, di solito non lineari, prende il nome di funzione
cinematica diretta di posizione; si dice che è diretta in quanto è possibile, dato q
calcolare (abbastanza agevolmente) i corrispondenti r e α; si dice che è di posizione,
intendendo la posizione “generalizzata”, che include anche le variabili di assetto. Se
costruiamo un vettore 6 × 1 di coordinate di posizione
µ
¶
r(t)
p(t) =
α(t)
si può scrivere in forma compatta l’equazione di vincolo, come segue:
p(t) = g(q(t), π, t)
(38)
¶
g r (·)
.
g α (·)
È possibile definire ora la funzione cinematica inversa di posizione, data dalla
relazione non lineare
dove g(·) =
µ
q(t) = g −1 (r(t), α(t), π, t) = g −1 (p(t), π, t)
Questa è di solito assai pù complicata da calcolare in quanto richiede l’inversione di
funzioni non lineari.
Basilio Bona - Dinamica dei Sistemi Multicorpo
17
Analogamente è possibile esprimere le velocità ṙ(t) del corpo rigido in funzione
delle velocità q̇(t), mediante la funzione cinematica diretta delle velocità:
ṙ(t) ≡
dq(t) ∂g r (q(t), π, t)
d
g r (q(t), π, t) = J r (q(t), π)
+
dt
dt
∂t
dove la matrice J r prende il nome di matrice Jacobiana o jacobiano lineare ed è
definita nel modo seguente
¸
·
∂gi (q(t), π)
J r (q(t), π) =
∂qj (t)
Quando i vincoli non dipendono esplicitamente dal tempo, avremo la forma semplificata
dq(t)
ṙ(t) = J r (q(t), π)
= J r (q(t), π)q̇(t)
dt
Se la matrice Jacobiana è quadrata e ha rango pieno, possiamo invertire questo
sistema di equazioni e ottenere la funzione cinematica inversa delle velocità
q̇(t) = J r (q(t), π)−1 ṙ(t)
Osserviamo che queste ultime due funzioni cinematiche sono lineari, nel senso che
la relazione tra le velocità generalizzate e le velocità dei punti è ottenuta attraverso
il prodotto della matrice Jacobiana o della sua inversa. Va anche osservato che lo
jacobiano non è, in generale, una matrice costante, in quanto varia nel tempo al
variare delle coordinate generalizzate qi (t).
In modo del tutto analogo possiamo procedere considerando le variabili di assetto.
La funzione cinematica diretta delle velocità angolari sarà:
α̇(t) ≡
d
dq(t) ∂g α (q(t), π, t)
g α (q(t), π, t) = J α (q(t), π)
+
dt
dt
∂t
Di solito, se α ha come componenti degli angoli (Eulero, RPY ecc.), la velocità α̇
la indichiamo con il simbolo ω e l’accelerazione α̈ con il simbolo ω̇. Nel Paragrafo
successivo preciseremo meglio alcune questioni che riguardano la rappresentazione di
queste velocità angolari.
Ora, considerando insieme le velocità lineari e angolari, definiamo il vettore
¶
¶ µ
µ
v(t)
ṙ(t)
(39)
≡
ṗ(t) =
ω(t)
α̇(t)
che spesso nella letteratura scientifica prende il nome di twist. Possiamo quindi
scrivere in forma compatta la cinematica delle velocità generalizzate:
ṗ(t) ≡
d
dq(t) ∂g(q(t), π, t)
g(q(t), π, t) = J (q(t), π)
+
dt
dt
∂t
(40)
dove ora lo jacobiano J è la matrice composta dalle due matrici jacobiane J r e J α
¶
µ
J r (q(t), π)
.
(41)
J (q(t), π) =
J α (q(t), π)
18
Basilio Bona - Dinamica dei Sistemi Multicorpo
Il numero di righe è pari al numero di variabili cinematiche, che in generale è uguale
a 6, mentre il numero di colonne vale n, ossia il numero di coordinate generalizzate
qi . Questa matrice si può dunque invertire solo quando n = 6 e il rango è pieno
(jacobiano non singolare). In tale caso, se le equazioni della cinematica non dipendono
direttamente anche dal tempo, avremo:
q̇(t) = J (q(t), π)−1 ṗ(t).
(42)
Da ultimo va fatto notare che, essendo lo jacobiano funzione delle variabili generalizzate, potrebbero esistere dei casi in cui la matrice Jacobiana inversa diventa singolare
al variare delle qi (t); si dice allora che si ha una singolarità cinematica. Esula dagli
obbiettivi di questi appunti la trattazione dei casi di singolarità cinematica.
5.1
Trasformazioni tra velocità angolari
Supponiamo ora che p (t) indichi la posizione e l’assetto di un particolare riferimento
sul corpo rigido, identificato dal sistema RP rispetto al riferimento fisso R0 e che
¡
¢T
l’assetto sia dato dagli angoli di Eulero αE = φ θ ψ :


x1 (t)


µ
¶ x2 (t)

x(t)
x3 (t)

p(t) =
=
(43)


αE (t)
 φ(t) 
 θ(t) 
ψ(t)
Derivando rispetto al tempo, otteniamo:

ẋ1 (t)
ẋ (t)
µ
¶  2 
ẋ3 (t)
v(t)

ṗ(t) =
=
 φ̇(t) 
ω E (t)


 θ̇(t) 
(44)
ω(t) = bφ φ̇ + bθ θ̇ + bψ ψ̇,
(45)

ψ̇(t)
Occorre osservare che la velocità angolare “euleriana” ω E (t), pur definendo una velo¢T
¡
cità angolare tra RP e R0 , ha le sue componenti descritte nella base bφ bθ bψ ,
dove bφ , bθ e bψ sono i versori che individuano gli assi intorno ai quali avvengono le
rotazioni di Eulero, espressi nel sistema di riferimento R0 .
Se rappresentiamo bφ , bθ e bψ rispetto ad R0 , poiché le velocità angolari sono
vettori, potremo sommarne i contributi e trasformare la velocità angolare euleriana
ω E (t) nella velocità angolare cartesiana nel modo seguente
rappresentandola nello stesso riferimento in cui è rappresentata la velocità lineare
v e quindi potremo usarla senza ambiguità in formule quali, ad esempio, ṗ0 (t) =
v(t) + ω(t) × r, mentre questo non sarebbe possibile usando la velocità euleriana, a
causa dei sistemi di riferimento non congruenti.
Basilio Bona - Dinamica dei Sistemi Multicorpo
Esprimendo bφ , bθ , bψ nel riferimento R0 avremo:




 
sin φ(t) sin θ(t)
cos φ(t)
0
bφ = 0 , bθ =  sin φ(t)  , bψ = − cos φ(t) sin θ(t)
cos θ(t)
0
1
Possiamo ora definire la trasformazione lineare da ω E (t) a ω(t),
 
φ̇
ω(t) = M E (t)  θ̇  = M E (t)ω E (t)
ψ̇
19
(46)
(47)
rappresentata dalla matrice

0
M E (t) = 0
1
cos φ(t)
sin φ(t)
0

sin φ(t) sin θ(t)
− cos φ(t) sin θ(t) .
cos θ(t)
(48)
Va notato che M E non è una matrice ortogonale, dipende da due soli angoli φ(t) e
θ(t) varianti nel tempo, che può cadere di rango per particolari valori di questi ultimi,
ad esempio, φ = 90◦ , θ = 0◦ .
Un discorso analogo si può fare quando si usano gli angoli RPY per definire
l’assetto in p (t):


x1 (t)


¶ x2 (t)
µ

x(t)
x3 (t)

=
p(t) =
(49)


αRPY (t)
θx (t)
 θy (t) 
θz (t)
Derivando rispetto al tempo, otteniamo:


ẋ1 (t)
ẋ (t)
¶  2 
µ
ẋ3 (t)
v(t)

=
ṗ(t) =
θ̇x (t)
ω RPY (t)


 θ̇y (t) 
θ̇z (t)
(50)
¢T
¡
La velocità angolare ω RP Y (t), ha le sue componenti descritte nella base bx by bz ,
dove bx , by e bz sono i versori che individuano gli assi intorno ai quali avvengono le
rotazioni di RPY, espressi nel sistema di riferimento R0 .
Avremo:




 
cos θz (t) cos θy (t)
− sin θz (t)
0
bx =  sin θz (t) cos θy (t)  , by =  cos θz (t)  , bz = 0
(51)
− sin θy
0
1
Possiamo ora definire la trasformazione lineare da ω RP Y (t) a ω (t):
ω (t) = M RPY (t)ω RPY (t)
(52)
20
Basilio Bona - Dinamica dei Sistemi Multicorpo
rappresentata dalla matrice

cos θz (t) cos θy (t)
M RPY (t) =  sin θz (t) cos θy (t)
−sy

− sin θz (t) 0
cos θz (t) 0 .
0
1
(53)
Osserviamo che, per angoli piccoli, vale ci ' 1, si ' 0 e quindi M RPY ' I; in questo
caso risulta ω(t) ' ω RPY (t).
6
Equazioni di Lagrange per sistemi meccanici
Il procedimento per scrivere le equazioni dinamiche, secondo l’approccio di Lagrange,
si basa sulla definizione delle energie cinetica e potenziale totali del corpo rigido o del
multicorpo.
Il metodo delle equazioni di Lagrange presenta alcuni vantaggi rispetto al metodo
di Newton-Eulero
• permette di scrivere n equazioni differenziali scalari del second’ordine direttamente nelle variabili generalizzate q̇i e qi , da cui è più agevole risalire alla
formulazione in variabili di stato, che non usando le equazioni di Newton-Eulero;
• se sono presenti vincoli solo olonomi, nelle equazioni non appaiono le forze vincolari; se da una parte questo è assai utile quando si voglia calcolare la dinamica,
in problemi di simulazione o di controllo, può essere utile, in altri contesti, poter
risalire al valore delle forze vincolari. Vedremo in un Paragrafo successivo che
ciò è possibile e come ottenerlo;
• le energie cinetiche e/o potenziali sono indipendenti dal sistema di riferimento
usato per rappresentare la cinematica del multicorpo;
• le energie cinetiche e/o potenziali sono additive: in un multicorpo, l’energia
totale è la somma delle energie dei singoli corpi rigidi che lo compongono.
Definiremo ora in modo formale l’energia cinetica e l’energia potenziale.
6.1
6.1.1
Energia cinetica
Particella elementare
L’energia cinetica di una particella è il lavoro necessario a incrementare il momento
della quantità di moto da 0 a h, ossia
C(h) =
Z
h
dW
0
Il lavoro infinitesimo sulla particella vale
dW = f · dr
Basilio Bona - Dinamica dei Sistemi Multicorpo
21
dove f è la risultante delle forze applicate alla particella e dr l’incremento infinitesimo
di posizione. Considerando l’espressione che lega forza a derivata della quantità di
moto si ricava il valore dell’energia cinetica come segue:
dW = f · dr =
dh
dh
· dr =
· vdt = v · dh
dt
dt
e quindi
C(h) =
Z
h
v · dh
(54)
0
L’energia cinetica è una funzione (scalare) di stato della particella, nel senso che essa
dipende solo dalle variabili di stato associate alla particella (v e h).
È possibile definire un’altra funzione di stato della particella, che chiameremo
coenergia cinetica, data dalla relazione
Z v
∗
C (v) =
h · dv
(55)
0
Tra le due energie esiste la relazione
C ∗ (v) = h · v − C(h)
che è un esempio di trasformazione di Legendre.
In particolare, se la particella è newtoniana, ovvero h = mv avremo
Z h
1
1
1
2
h · dh =
h·h=
khk
C(h) =
2m
2m
0 m
Z v
1
1
2
∗
mv · dv = mv · v = m kvk
C (v) =
2
2
0
(56)
da cui si deduce che per questo tipo di particelle l’energia e la coenergia cinetica sono
uguali. Ciò non accade per particelle di tipo relativistico.
Concludiamo questo Paragrafo facendo osservare che nella maggioranza dei libri di
testo relativi alla meccanica analitica, l’energia cinetica viene indicata con il simbolo
T ; osserviamo pure che in generale, essendo l’energia cinetica funzione delle coordinate
e delle velocità generalizzate, si scriverà C(q, q̇) oppure T (q, q̇).
6.1.2
Corpo rigido esteso
La coenergia cinetica di un corpo rigido esteso vale
Z
1
∗
v · v dm
C (v) =
2 B
dove v è la velocità assoluta di ogni punto del corpo e l’integrale avviene sull’intero
corpo.
Se facciamo riferimento ad assi corpo fissati in una qualche origine O, quando il
punto O è fisso, avremo
1
C ∗ (v) = ω T Γ o ω
2
Basilio Bona - Dinamica dei Sistemi Multicorpo
22
dove Γ o è il momento d’inerzia del corpo rispetto al punto O. Quando come O
scegliamo il centro di massa del corpo, avremo
¤
1
1£ T
1
v c (mI)v c + ω T Γ c ω
C ∗ (v) = mv c · v c + ω T Γ c ω =
2
2
2
dove Γ c è il momento d’inerzia del corpo rispetto al centro di massa C e v c è la
velocità del centro di massa.
6.1.3
Sistemi naturali
Un sistema composto da N particelle elementari, ciascuna definita dalla posizione
r i (q(t)) e dalla velocità
v i (q(t)) ≡ ṙ i (q(t)) =
n
X
∂r i
∂r i
q̇k +
,
∂qk
∂t
k=1
possiede un’energia cinetica definita dalla seguente relazione
" n n
#
N
N
n
1X
1 X X X ∂r i ∂r i
∂r i X ∂r i
∂r i ∂r i
C=
mi ṙ i · ṙ i =
·
q̇r q̇s + 2
·
q̇r +
·
2 i=1
2 i=1 r=i s=1 ∂qr ∂qs
∂t r=i ∂qr
∂t ∂t
Introducendo i coefficienti
αrs
=
N
X
mi
∂r i ∂r i
·
∂qr ∂qs
mi
∂r i ∂r i
·
∂t ∂qr
i=1
βr
=
N
X
i=1
γ
=
1
2
N
X
mi
i=1
∂r i ∂r i
·
∂t ∂t
possiamo scrivere l’energia cinetica nella forma
C = C2 + C1 + C0
dove
n
C2
=
C1
=
(57)
n
1 XX
αrs q̇r q̇s
2 r=i s=1
n
X
βr q̇r
r=i
C0
= γ
Un sistema per il quale le coordinate r i non sono funzioni esplicite del tempo, il campo
delle forze è conservativo e non vi sono vincoli, ha l’energia cinetica che può essere
espressa semplicemente come una forma quadratica, ossia
n
C = C2 =
n
1 XX
αrs q̇r q̇s
2 r=i s=1
23
Basilio Bona - Dinamica dei Sistemi Multicorpo
Tale sistema prende il nome di sistema naturale; al contrario, sistemi per i quali l’energia cinetica assume la forma generale (57) prende il nome di sistema non
naturale.
In questi ultimi si osserva che il termine C0 si comporta come una specie di energia potenziale, che dà origine alle cosiddette forze centrifughe, proporzionali al quadrato delle velocità angolari, mentre il termine C1 produce forze dette di Coriolis,
proporzionali al prodotto tra due velocità.
6.2
Energia potenziale
Una forza f è definita conservativa o potenziale, se essa è derivabile da una funzione
(di posizione e scalare) potenziale P(x, y, z), ovvero
f = −∇P = −
µ
∂P
∂y
∂P
∂x
∂P
∂z
¶T
(58)
Se tale funzione esiste, essa viene definita energia potenziale del sistema. Va osservato
che, se tale funzione esiste, essa è unica a meno di una costante additiva. Questo
implica che la dinamica dipende solo dalle variazioni di energia potenziale e non dal
valore assoluto di questa.
Quei sistemi dinamici per cui tutte le forze che compiono lavoro sono derivabili da
una funzione potenziale si dicono sistemi conservativi.
In un campo di forze conservativo l’energia potenziale P si ricava integrando la
(58), ossia
Z
r
P(r) = −
f (r) · dr
(59)
r0
dove il segno negativo stabilisce che l’energia potenziale del corpo diminuisce se il
campo di forze effettua lavoro sul corpo. Tipico esempio di campo di forze conservativo è il campo gravitazionale, che induce sul corpo le forze peso. L’energia potenziale
di un corpo di massa m dovuta al campo gravitazionale vale
−mg · r c0
(60)
dove g è il vettore di accelerazione gravitazionale e r c0 è il vettore che fornisce la
posizione del centro di massa rispetto ad un piano ortogonale a g a cui convenzionalmente si assegna un livello nullo di energia potenziale e rispetto al quale si misura
l’incremento o il decremento di energia potenziale.
Esiste un altro tipo di campo che produce energia potenziale; si tratta di quello
prodotto da elementi elastici riconducibili a molle ideali. Questi elementi realizzano
una relazione di proporzionalità tra elongazione e forza alle estremità; se si tratta di
molle traslazionali avremo
kf k = km k∆ek
mentre se si tratta di molle rotazionali avremo
0
k∆αk
kτ k = km
dove e e α sono, rispettivamente, l’elongazione traslazionale e angolare dalle posizioni
0
di riposo; km e km
prendono il nome di costanti elastiche.
Basilio Bona - Dinamica dei Sistemi Multicorpo
24
Possono esistere anche relazioni non lineari tra elongazione e forza, del tipo
0
kτ k = km
(α) k∆αk
kf k = km (e) k∆ek
In questi casi si parla di molle non lineari.
In questo caso l’energia potenziale vale
Z
P(e) =
e
f · de
0
oppure
P(α) =
Z
α
τ · dα
0
Si possono definire anche in questo caso le coenergie, rispettivamente come
∗
P (f ) =
Z
f
Z
τ
e · df
0
oppure
P ∗ (τ ) =
α · dτ
0
Nel caso di molle lineari con costante elastica k, le energie e le coenergie potenziali
coincidono e sono pari a
P(e) =
1 T
1
2
e (kI)e = k kek
2
2
e
1
1 T
2
α (kI)α = k kαk
2
2
Concludiamo questo Paragrafo facendo osservare che nella maggioranza dei libri
di testo relativi alla meccanica analitica, l’energia potenziale viene indicata con il
simbolo V ; osserviamo pure che in generale, essendo l’energia potenziale funzione
delle coordinate generalizzate, si scriverà P(q) oppure V (q).
P(τ ) =
6.3
Forze generalizzate nei sistemi olonomi
Supponiamo di avere un sistema composto da N masse elementari soggetto a soli
vincoli olonomi. Le forze f i agenti sulla i-esima particella possono essere suddivise
in tre categorie
• Forze f nc
i non conservative.
• Forze f ci dovute a un campo conservativo.
• Forze f vi dovute alle reazioni vincolari.
Ipotizzando vincoli olonomi, ideali e privi di attrito, gli spostamenti virtuali ammissibili sono sempre tangenti a questi, mentre le forze vincolari sono sempre perpendicolari a questi: in tal modo risulta sempre f vi · dr i = 0: le forze vincolari non
compiono lavoro.
25
Basilio Bona - Dinamica dei Sistemi Multicorpo
Le forze conservative invece sviluppano un lavoro che, considerando la (58), risulta
essere
0
c
δW =
N
X
0
f ci
· δr i = −
i=1
N
X
∇Pi · δr i =
i=1


 0

n
N
n
X
X
X
∂r
∂r
i
i
 δqj

δqj  =
−∇Pi ·
−
∇Pi · 
∂q
∂q
j
j
j=1 i=1
i=1
j=1
{z
}
|
forza generalizzata
0
N
X
(61)
Da ultime, le forze non conservative f nc
i sviluppano un lavoro sul sistema pari a
 00



N
n
N 00
N 00
n
X
X
X
X
X
∂r
∂r
i
i


f nc
f nc
δqj  =
δqj (62)
δW nc =
f nc
i ·
i · δr i =
i ·
∂q
∂q
j
j
i=1
j=1
i=1
i=1
j=1
|
{z
}
forza generalizzata
I termini evidenziati nelle due precedenti equazioni prendono il nome di forze generalizzata Fj . In particolare
• j-esima forza generalizzate conservativa:
0
Fjc
=−
N
X
∇Pi ·
i=1
∂r i
∂qj
• j-esima forza generalizzate non conservativa:
00
Fjnc
=
N
X
i=1
f nc
i ·
∂r i
∂qj
dove N 0 è il numero di forze di tipo conservativo e N 00 è il numero di forze di
tipo non conservativo.
La forza generalizzata, essendo il risultato di un prodotto scalare, è essa stessa uno
scalare.
Nel caso di corpo rigido o sistema multicorpo, dove siano presenti anche momenti
torcenti, le forze generalizzate dovute a questi saranno pari a
Fjc =
n
X
i=1
6.4
−∇Pi ·
∂αi
;
∂qj
Fjnc =
n
X
i=1
τ nc
i ·
∂αi
∂qj
Equazioni di Lagrange con vincoli olonomi
In sistemi multicorpo con vincoli solo olonomi, la formulazione di Lagrange assume
molte forme, dalla più generale a quelle che descrivono casi particolari. Le vedremo
brevemente una dopo l’altra.
Basilio Bona - Dinamica dei Sistemi Multicorpo
26
Avendo definito con C(q, q̇) l’energia cinetica del corpo, funzione delle coordinate
e velocità generalizzate, si scrivono tante equazioni differenziale scalari quante sono
le coordinate generalizzate:
µ
¶
∂C
d ∂C
−
= Fi
i = 1, . . . , n
(63)
dt ∂ q̇i
∂qi
dove il termine Fi rappresenta il modulo della i-esima forza generalizzata, con segno
positivo se applicata dall’ambiente esterno al corpo , con segno negativo se applicata
dal corpo all’ambiente esterno. Ricordiamo infatti che le forze generalizzate nascono
utilizzando il principio dei lavori virtuali; il lavoro può essere compiuto dall’ambiente
esterno sul corpo o dal corpo sull’ambiente esterno. Nei due casi il segno sarà opposto.
È convenzione assumere con segno positivo il lavoro fatto sul corpo.
Le forze generalizzate che consideriamo nell’espressione (63) sono sia quelle non
conservative sia quelle conservative.
Possiamo ricordare l’espressione (61) e scrivere una seconda forma delle equazioni
di Lagrange:
¶
µ
∂L
d ∂L
(64)
−
= Finc
dt ∂ q̇i
∂qi
dove è stata introdotta la funzione di Lagrange che rappresenta la differenza tra
l’energia cinetica C e l’energia potenziale P:
L(q, q̇) = C ∗ (q, q̇) − P(q)
(65)
∂L
prende il nome di momento generalizzato e si indica con il simbolo
∂ q̇i
µi (q(t)); il vettore dei momenti generalizzati viene indicato con µ(q(t)).
Se si volesse considerare separatamente le forze generalizzate dovute a fenomeni
di attrito fiattr , considerando che l’attrito rappresenta un’energia dissipata dal corpo,
l’equazione di Lagrange diventerebbe:
¶
µ
∂L
d ∂L
(66)
−
= Fi0 − fiattr
dt ∂ q̇i
∂qi
Il termine
Spesso l’attrito è dovuto a semplici fenomeni di dissipazione e la forza fiattr risulta
essere la derivata di una funzione di dissipazione, detta funzione di Rayleigh che vale:
Di (q̇) =
1 T
1
2
q̇ (βi I)q̇ = βi kq̇k
2
2
dove il coefficiente βi prende il nome di coefficiente di attrito viscoso.
In tali casi potremmo scrivere la (66) come
¶
µ
∂L
∂Di
d ∂L
−
+
= Fi0
dt ∂ q̇i
∂qi
∂ q̇i
6.5
(67)
(68)
Equazioni di Lagrange e vincoli anolonomi
L’approccio lagrangiano presenta il vantaggio di permettere la scrittura delle equazioni
dinamiche del moto a partire dalle coordinate generalizzate.
Basilio Bona - Dinamica dei Sistemi Multicorpo
27
È quindi necessario solo un insieme minimo di n equazioni dinamiche, e questo
deriva dal fatto che le forze vincolari non producono lavoro in corrispondenza degli
spostamenti virtuali compatibili con i vincoli geometrici.
Le forze di vincolo non compaiono mai nelle equazioni. I sistemi olonomi appaiono
essere descritti da un insieme di coordinate generalizzate indipendenti, senza vincoli.
Di converso, i sistemi con vincoli anolonomi non possono essere ridotti a essere descritti da coordinate generalizzate indipendenti. Le equazioni debbono essere
aumentate dalla descrizione dei vincoli; nel fare ciò si ha la comparsa delle forze di
vincolo.
È possibile, se il problema lo richiede, fa apparire le forze di vincolo anche nei
sistemi con vincoli olonomi; per fare questo, basta considerare che
• i vincoli geometrici sono iper-superfici nello spazio delle configurazioni;
• i vincoli geometrici vengono fatti rispettare da opportune forze/coppie, dette,
come già più volte sottolineato, forze vincolari;
• in ogni istante le forze vincolari sono ortogonali alle iper-superfici descritte dai
vincoli.
Quindi i vincoli olonomi sono “tradotti” in forze vincolari generalizzate che vengono
aggiunte a quelle non vincolari presenti. Sfortunatamente le prime non possono essere
calcolate a priori perché dipendono dal moto e quindi bisogna aver prima risolto le
equazioni differenziali.
Tuttavia si può ricorrere ad un artificio, creando delle ulteriori coordinate, che hanno lo scopo di rappresentare la violazione dei vincoli: esse sono nulle quando i vincoli
sono rispettati, altrimenti sono positive o negative, secondo una certa convenzione.
Queste coordinate vengono chiamate coordinate superflue e le forze generalizzate
ad esse associate sono proprio le forze vincolari.
Se l’insieme delle coordinate generalizzate originarie e delle coordinate superflue è
considerato indipendente, allora le equazioni dinamiche risultanti conterranno le forze
vincolari; queste appariranno soltanto nelle equazioni relative alle coordinate superflue. Risolvendo le equazioni del moto e ponendo ad un valore costante le coordinate
superflue, si potranno calcolare le forze vincolari.
Per quanto riguarda invece i vincoli anolonomi, si procede introducendo i cosiddetti
moltiplicatori di Lagrange (o moltiplicatori lagrangiani).
Supponiamo che un sistema con n coordinate generalizzate qi sia vincolato da un
vincolo anolonomo del tipo
a1 dq1 + a2 dq2 + · · · + an dqn + a0 dt = 0
Poiché risulta sempre δt = 0, l’equazione di vincolo espressa in spostamenti virtuali
diventa
a1 δq1 + a2 δq2 + · · · + an δqn = 0
(69)
che si scrive in forma vettoriale come
aT δq = 0
28
Basilio Bona - Dinamica dei Sistemi Multicorpo
Questa relazione stabilisce che gli spostamenti virtuali sono ortogonali al vettore a, che
quindi è allineato con le forze vincolari. Quindi, avendo stabilito che le forze vincolari
e il vettore a sono proporzionali, chiamiamo questa costante di proporzionalità λ(t).
La forza generalizzata totale relativa alla coordinata qi sarà la somma delle forze
generalizzate esterne e di quelle vincolari, ossia
Fi + λai
L’equazione di Lagrange relativa alla k-esima coordinata generalizzata diventerà ora:
¶
µ
∂L
d ∂L
−
= Fi + λai
(70)
dt ∂ q̇i
∂qi
L’equazione (69) insieme con la (70), dà luogo a n + 1 equazioni in n + 1 incognite,
tra cui vi è il moltiplicatore lagrangiano λ(t). Quando queste equazioni sono risolte,
si ottiene pure la forza di reazione al vincolo λ(t)ai .
Supponiamo ora che il sistema sia sottoposto a ma vincoli anolonomi, il k-esimo
dei quali valga:
ak1 q̇1 + ak2 q̇2 + · · · + akn q̇n + ak0 = 0;
k = 1, . . . , ma
ossia
ak1 dq1 + ak2 dq2 + · · · + akn dqn + ak0 dt = 0
con k = 1, . . . , ma
Ogni aki può essere a sua volta funzione delle coordinate generalizzate e del tempo;
introduciamo per ciascuno di questi vincoli un moltiplicatore di Lagrange λk (t). Sarà
necessaria una forza vincolare per far rispettare ciascun vincolo e, come detto sopra,
questa avrà una forma del tipo
ma
X
λk (t)aki
k=1
per cui la forza generalizzata totale relativa alla i-esima coordinata sarà
Fitot = Fi +
ma
X
λk (t)aki
k=1
L’equazione di Lagrange relativa alla i-esima coordinata diventa quindi
¶
µ
ma
X
d ∂L
∂L
−
= Fi +
λk (t)aki
dt ∂ q̇i
∂qi
k=1
che in forma vettoriale diventa
d
dt
dove

a11
 ..
A= .
ama 1
...
aij
...
µ
∂L
∂ q̇
¶
−
∂L
= F + AT λ
∂q

a1n
..  ∈ Rma ×n ;
. 
ama n
(71)


λ1


λ =  ...  ∈ Rma ×1
λma
29
Basilio Bona - Dinamica dei Sistemi Multicorpo
Questa equazione insieme alle equazioni di vincolo anolonomo
Aq̇ + a0 = 0
costituiscono un sistema di n+ma equazioni in n+ma incognite, che deve essere risolto
simultaneamente per ricavare le n coordinate generalizzate q e gli ma lagrangiani λ.
Successivamente sarà possibile ricavarsi le ma forze di vincolo come
F v = AT λ.
Si può notare che questo metodo può essere usato anche per trovare le forze dei
mo vincoli olonomi, che si esprimono come
fk (q) = 0,
ponendo
6.6
 ∂f
1
 ∂q1
 .

A =  ..

 ∂f
mo
∂q1
...
∂fi
∂qj
...
k = 1, . . . , mo
∂f1
∂qn
..
.
∂fmo
∂qn




;



∂f1
 ∂t 
 . 

e a0 = 
 .. 
 ∂f 
mo
∂t

Equazioni differenziali risultanti
Avendo definito l’insieme delle coordinate generalizzate q(t) ∈ Rn e delle rispettive
velocità generalizzate q̇(t) ∈ Rn , nell’ipotesi che i vincoli siano tutti olonomi, abbiamo
visto che il metodo di Lagrange porta a scrivere n equazioni differenziali del tipo
¶
µ
∂C ∗
d ∂C ∗
−
= Fi
i = 1, . . . , n
dt ∂ q̇i
∂qi
¶
µ
d ∂C ∗
Sappiamo che
farà apparire nelle equazioni termini proporzionali aldt ∂ q̇i
le derivate seconde q̈(t) e analogamente saranno presenti termini proporzionali alle
derivate prime q̇(t) e alle coordinate q(t).
In conclusione, raccogliendo le n equazioni in un’unica equazione vettoriale, potremo avere equazioni lineari o non lineari, come nel caso dei manipolatori robotici.
Nel caso di equazioni lineari o per piccole perturbazioni delle coordinate generalizzate intorno a posizioni di equilibrio, avremo una formulazione lineare, che nel caso
più generale assume la forma seguente
A1 q̈(t) + A2 q̇(t) + A3 q(t) = F
(72)
dove F è il vettore delle forze generalizzate.
Le tre matrici Ai ∈ Rn×n avranno significati diversi in relazione ai diversi problemi affrontati; alcuni problemi saranno modellabili con matrici i cui elementi sono
funzione delle coordinate o delle velocità generalizzate; in altri casi queste matrici potrebbero essere costanti. Gli eventuali termini dovuti al campo gravitazionale possono
Basilio Bona - Dinamica dei Sistemi Multicorpo
30
apparire nel lato sinistro dell’equazione, ed allora si dovrà aggiungere un vettore colonna g(q(t)) al termine A3 q(t). Possiamo anche supporre che i termini gravitazionali
siano inclusi tra le F al secondo termine dell’equazione.
Considerando che una delle proprietà basilari delle matrici quadrate consente di
decomporre la generica A ∈ Rn×n nel modo seguente
A = As + Aas
dove As è una matrice simmetrica As = AT
s e Aas è una matrice antisimmetrica
Aas = −AT
.
as
Possiamo dunque riscrivere la (72) nel modo seguente
M q̈(t) + (D + G)q̇(t) + (K + H)q(t) = F
dove
M = MT
D = DT
G = −GT
K = KT
H = −H T
matrice
matrice
matrice
matrice
matrice
di massa o inerzia, sempre simmetrica
di smorzamento viscoso
giroscopica
di rigidezza o di elasticità
circolatoria (smorzamento vincolato)
(73)
(74)
Alcune di queste matrici possono a loro volta essere funzione delle coordinate o delle
velocità generalizzate, come per le catene cinematiche dei robot, in cui M = M (q(t))
Non tutti questi termini sono sempre presenti nelle equazioni di sistemi multicorpo.
I casi più comuni sono:
1. I cosiddetti sistemi conservativi per i quali si ha l’equazione dinamica seguente
M q̈(t) + Kq(t) = F
dove M e K sono, oltre che simmetriche, anche definite positive.
2. I sistemi per cui si ha
M q̈(t) + Gq̇(t) + Kq(t) = F
Essi sono sempre conservativi, nel senso che l’energia viene conservata, ma vengono chiamati sistemi conservativi giroscopici oppure sistemi giroscopici non
smorzati. Questi comportamenti nascono nei casi in cui si abbiano moti di
rotazione, come nei giroscopi o nei satelliti.
3. Sistemi della forma
M q̈(t) + D q̇(t) + Kq(t) = F
dove M , D e K sono, oltre che simmetriche, anche definite positive, vengono
definiti sistemi non giroscopici smorzati e talvolta sistemi conservativi smorzati,
anche se non conservano l’energia che viene dissipata nell’attrito viscoso. Sistemi con matrici simmetriche definite positive vengono talora chiamati sistemi
passivi ; vedremo più avanti una definizione più precisa di tali sistemi.
31
Basilio Bona - Dinamica dei Sistemi Multicorpo
4. Sistemi della forma
M q̈(t) + (K + H)q(t) = F
sono detti sistemi circolatori.
5. I sistemi di forma più generale
M q̈(t) + D q̇(t) + (K + H)q(t) = F
si ottengono spesso nel modellare alberi rotanti dove esiste una funzione di
dissipazione detta constraint damping, oltre che la consueta dissipazione dovuta
a fenomeni esterni.
Nel caso di catene cinematiche composte da n bracci rigidi, come sono i robot industriali, si ha un equazione matriciale non lineare del tipo
M (q(t))q̈(t) + C(q(t), q̇(t))q̇(t) + g(q(t)) = F
(75)
dove M (q(t)) è la matrice di massa o di inerzia della catena cinematica, funzione
della configurazione istantanea della stessa, C(q(t), q̇(t))q̇(t) rappresenta le coppie di
Coriolis e g(q(t)) rappresenta le coppie gravitazionali.
7
Equazioni di Lagrange per sistemi elettromagnetici
Le equazioni di Lagrange possono essere applicate anche ai sistemi elettromagnetici,
a condizione di individuare correttamente le coordinate e le velocità generalizzate,
come pure le energie cinetica e potenziale dei vari elementi che compongono questi
sistemi.
Va subito detto che nei sistemi elettromagnetici tutti i vincoli sono di tipo olonomo
e quindi non è necessario introdurre i moltiplicatori di Lagrange descritti al Paragrafo
6.5.
L’analogo di un sistema multicorpo è una struttura circuitale che connette tra loro
diverse componenti elementari di tipo elettrico o magnetico, passive o attive.
Le leggi fondamentali che permettono di descrivere la dinamica di un sistema
elettromagnetico sono essenzialmente le equazioni di Kirchhoff ai nodi o alle maglie,
che possono essere viste come l’analogo delle equazioni di Newton e di Eulero per il
corpo rigido.
7.1
Componenti elementari di un sistema elettromagnetico
Distingueremo tra elementi passivi (che non generano energia) ed elementi attivi
(che, utilizzando sorgenti esterne o altre forme di energia, possono produrre energia
elettrica).
7.1.1
Elementi passivi nei circuiti elettrici
Gli elementi passivi di un circuito elettrico sono l’induttore, il condensatore e il
resistore.
Basilio Bona - Dinamica dei Sistemi Multicorpo
32
Induttore L’induttore è uno speciale circuito magnetico, che sfrutta la legge di
Lenz dell’auto-induzione. Allo scopo di definire meglio il concetto, introduciamo il
caso generale, schematizzato in Fig. 3.
L’intensità del campo magnetico H e la densità di flusso magnetico B soddisfano
le due equazioni seguenti
rotH = ∇ × H = J
(76)
e
divB = ∇ · B = 0
(77)
dove J è la densità di corrente negli avvolgimenti. La relazione tra i due campi
vettoriali è data da
B = µH
dove µ è la permeabilità magnetica, una costante che dipende dal materiale del circuito
magnetico, secondo la seguente relazione
µ = (1 + χm )µ0
in cui µ0 è la permeabilità magnetica dell’aria.
Il circuito magnetico ha una lunghezza pari a ` + h e una sezione costante pari a
S. Esso presenta un piccolo traferro in aria di lunghezza h; gli avvolgimenti sono in
numero di N e in essi scorre la corrente i.
Integrando la (76) otteniamo
I
H · dσ = N i = F
(78)
dove abbiamo introdotto la forza magnetomotrice F = N i; dσ è la lunghezza differenziale tangente al cammino di integrazione, che è indicato con la linea tratteggiata
nella Fig. 3. Il flusso magnetico Φ vale
Φ = BS.
avendo indicato kBk = B.
Il materiale magnetico ha una permeabilità µ molto maggiore di quella dell’aria e
il flusso Φ segue il cammino chiuso indicato dalla linea tratteggiata, la cui lunghezza
vale ` + h, essendo ` la lunghezza del percorso nel materiale magnetico.
L’equazione (77) significa che il flusso Φ è lo stesso per ogni sezione del circuito
magnetico e del traferro in aria.
Quindi siamo in presenza di un circuito magnetico in cui una forza magnetomotrice
N i genera nel circuito un flusso magnetico Φ. Il campo H ha un’intensità diversa
B
nel materiale magnetico e nel traferro: nel primo caso vale Hm = , nel secondo
µ
B
Ha =
. Utilizzando la (78), avremo
µ0
µ
¶
µ
¶
`
h
h Φ
`
N i = Hm ` + Ha h =
+
+
B=
µ µ0
µ µ0 S
33
Basilio Bona - Dinamica dei Sistemi Multicorpo
Il circuito magnetico possiede una riluttanza magnetica R definita dal rapporto
tra forza magnetomotrice e flusso, ossia
N i = RΦ
(79)
dove possiamo calcolare la riluttanza come
µ
¶
h
h
1 `
+
≈
S µ µ0
µ0 S
essendo µ0 ¿ µ.
Definiamo ora il flusso concatenato come
λ = NΦ
e, dalla (79) avremo
N 2i
= λ(i)
R
Nei casi lineari, il circuito è schematizzabile come in Fig. 4 e il flusso concatenato
è proporzionale alla corrente
λ(t) = Li(t)
λ=
e la costante
µ0 N 2 S
h
prende il nome di (auto-)induttanza del bipolo.
Ai capi del bipolo si instaura una differenza di potenziale e che vale
L=
e(t) =
dλ(i)
dt
e, nei casi lineari
e(t) = L
Figura 3: circuito magnetico ideale.
di(t)
dt
34
Basilio Bona - Dinamica dei Sistemi Multicorpo
i(t) +
(8,i)
i(t)
Wm*
L
e(t)
Wm
8(t)
–
a)
b)
Figura 4: a) induttore ideale; b) relazione tra corrente i(t) e flusso concatenato λ(t)
nel capacitore.
Capacitore Il condensatore, illustrato in Fig. 5, è un bipolo passivo in cui la differenza di potenziale e(t) è funzione della carica elettrica accumulata q(t), secondo la
relazione
e = e(q(t));
o viceversa
q = q(e(t)).
Nei casi lineari si ha
q(t) = Ce(t)
oppure
1
q(t)
C
e la costante C prende il nome di capacità del bipolo.
Attraverso il bipolo passa una corrente i che vale
e(t) =
i(t) =
dq(e)
dt
e, nei casi lineari
i(t) = C
de(t)
dt
Resistore Il resistore, illustrato in Fig. 6, è un bipolo passivo di tipo puramente
dissipativo in cui la legge che lega la tensione ai capi con la corrente che lo percorre
è data dalla relazione
e(t) = R(i(t))
Se il resistore è lineare, tale legge diventa la legge di Ohm
e(t) = Ri(t)
e il parametro R viene detto resistenza.
35
Basilio Bona - Dinamica dei Sistemi Multicorpo
(q,e)
e(t)
i(t) +
We*
e(t)
C
We
–
a)
q(t)
b)
Figura 5: a) capacitore ideale; b) relazione tra tensione e(t) e carica q(t) nel capacitore.
i(t) +
i(t)
R
e(t)
–
e(t)
a)
b)
Figura 6: a) resistore ideale; b) relazione tra corrente i(t) e tensione e(t) nel resistore.
7.1.2
Elementi attivi nei circuiti elettrici
Gli elementi attivi sono il generatore ideale di tensione, il generatore ideale di corrente
e l’amplificatore operazionale. Questi elementi sono in grado di creare potenza elettrica P (t) = e(t)i(t) ed erogarla agli elementi passivi. Convenzionalmente si assume
positiva la potenza uscente dai generatori ideali e entrante negli elementi passivi
Generatore ideale di corrente (illustrato in Fig. 7) è un elemento attivo che
fornisce una corrente I(t) indipendentemente dalla tensione ai suoi capi.
La potenza erogata vale
P (t) = I(t)e(t).
Generatore ideale di tensione (illustrato in Fig. 8) è un elemento attivo che
fornisce una differenza di potenziale E(t) ai suoi capi indipendentemente dalla corrente
erogata.
Basilio Bona - Dinamica dei Sistemi Multicorpo
+
36
I(t)
e(t)
–
Figura 7: generatore ideale di corrente.
La potenza erogata vale
P (t) = i(t)E(t).
+
i(t)
E(t)
–
Figura 8: generatore ideale di tensione.
Amplificatore operazionale (illustrato in Fig. 9) è un elemento attivo che fornisce
in uscita una tensione e0 (t) proporzionale alla differenza delle tensioni in ingresso
e0 (t) = A(e+ − e− )
dove A è detta costante di amplificazione.
La potenza erogata vale
P (t) = i0 (t)e0 (t).
37
Basilio Bona - Dinamica dei Sistemi Multicorpo
i–(t)
e–(t)
i0(t)
e0(t)=A(e+- e–)
i+(t)
e+(t)
Figura 9: amplificatore ideale.
7.2
Coordinate generalizzate
Per definire le coordinate e le velocità generalizzate nei circuiti elettromagnetici sono
possibili due scelte: esse sono chiamate, rispettivamente, formulazione nelle variabili
di carica, o formulazione in serie, e formulazione nelle variabili di flusso concatenato,
o formulazione in parallelo; nel primo caso avremo variabili generalizzate di carica,
nel secondo variabili generalizzate di flusso concatenato.
Coordinate generalizzate di carica (vedi Fig. 10). Le coordinate generalizzate
sono individuate dalle cariche q(t) sui condensatori, mentre le velocità generalizzate
sono le correnti nei condensatori
i(t) =
dq(t)
.
dt
La tensione ai capi del condensatore (lineare) vale
e(t) =
1
q(t)
C
Figura 10: coordinata generalizzata = carica sul condensatore (formulazione serie).
38
Basilio Bona - Dinamica dei Sistemi Multicorpo
Coordinate generalizzate di flusso concatenato (vedi Fig. 11). Le coordinate
generalizzate sono individuate dai flussi concatenati λ(t) negli induttori, mentre le
velocità generalizzate sono le tensioni ai capi degli induttori
e(t) =
dλ(t)
.
dt
La corrente nel induttore (lineare) vale
i(t) =
1
λ(t)
L
Figura 11: coordinata generalizzata = flusso concatenato nell’induttore (formulazione
parallelo).
7.3
Energie e coenergie
A seconda della formulazione utilizzata, avremo energie cinetiche e potenziali diverse;
in particolare, essendo la potenza in un bipolo il prodotto della tensione per la corrente
P (t) = i(t)e(t), l’energia e il lavoro si esprimono come
Z t
Z t
W =
P (t)dt =
e(t)i(t)dt
0
7.3.1
0
Coordinate generalizzate di carica
Se consideriamo le coordinate generalizzate di carica, l’energia elettrostatica immagazzinata in un elemento capacitivo sarà
Z q
Z t
edq
e idt =
Wc (q) =
0
0
Tuttavia se vogliamo descrivere l’energia in funzione della tensione, è opportuno introdurre la coenergia Wc∗ (q); questa non ha un chiaro significato fisico, come invece aveva
nel caso meccanico, ma è utile per calcolare le energie nell’equazione di Lagrange.
La coenergia Wc∗ (e) viene definita come Wc∗ (e) = qe−Wc (q) e quindi, considerando
la Fig. 5b),
Z
e
Wc∗ (e) =
q(e)de
0
39
Basilio Bona - Dinamica dei Sistemi Multicorpo
Il differenziale dell’energia vale
dWc (q) = e dq
mentre il differenziale della coenergia risulta essere
dWc∗ (e) = q de
da cui
∂Wc (q)
=e
∂q
∂Wc∗ (e)
=q
∂e
e
Se il condensatore è lineare q(e) = Ce e la capacità C è costante, allora
Z e
Z e
1
∗
Wc (e) =
q(e)de =
Ce de = Ce2
2
0
0
mentre
Wc (q) =
Z
q
e(q)dq =
0
Z
0
q
q
1 q2
dq =
C
2C
In questo caso l’energia e la coenergia elettrostatica sono uguali e la curva caratteristica di Fig. 5b) risulta essere una retta.
7.3.2
Coordinate generalizzate di flusso
Se consideriamo le coordinate generalizzate di flusso, l’energia magnetica immagazzinata in un elemento induttivo sarà
Z λ
Z t
idλ
i edt =
Wm (λ) =
0
0
Tuttavia se vogliamo descrivere l’energia in funzione della corrente, è opportuno intro∗
(q); questa non ha un chiaro significato fisico, come invece aveva
durre la coenergia Wm
nel caso meccanico, ma è utile per calcolare le energie nell’equazione di Lagrange.
∗
∗
(i) = iλ − Wm (λ) e quindi, conside(λ) viene definita come Wm
La coenergia Wm
rando la Fig. 4b),
Z i
∗
λ(i)di
(i) =
Wm
0
Il differenziale dell’energia vale
dWm (λ) = i dλ
mentre il differenziale della coenergia risulta essere
∗
dWm
(i) = λ di
da cui
∂Wm (λ)
=i
∂λ
e
∗
∂Wm
(i)
=λ
∂i
40
Basilio Bona - Dinamica dei Sistemi Multicorpo
Se l’induttore è lineare λ(i) = Li e l’(auto-)induttanza L è costante, allora
∗
Wm
(i) =
Z
i
Z
λ
λ(i)di =
Wm (λ) =
i
Li di =
0
0
mentre
Z
i(λ)dλ =
Z
λ
0
0
1 2
Li
2
1 λ2
λ
dλ =
L
2 L
In questo caso l’energia e la coenergia magnetica sono uguali e la curva caratteristica
di Fig. 4b) risulta essere una retta.
7.4
Equazioni di Lagrange
Ricordiamo che abbiamo definito l’i-esimo momento generalizzato come
µi =
∂L
∂ q̇i
e che
q̇ = i
e
λ̇ = e
La funzione lagrangiana Le di un sistema elettromagnetico può assumere due formulazioni, a seconda che si usino le coordinate di carica ovvero le coordinate di
flusso.
Coordinate generalizzate di carica
In questa formulazione abbiamo
∗
(q̇) − Wc (q)
Le (q, q̇) = Wm
(80)
dove l’energia “cinetica” vale
∗
(q̇)
Ce (q̇) = Wm
e l’energia “potenziale” vale
Pe (q) = Wc (q)
Coordinate generalizzate di flusso
In questa formulazione abbiamo
Le (λ, λ̇) = Wc∗ (λ̇) − Wm (λ)
dove l’energia “cinetica” vale
Ce (λ̇) = Wc∗ (λ̇)
e l’energia “potenziale” vale
Pe (λ) = Wm (λ)
(81)
41
Basilio Bona - Dinamica dei Sistemi Multicorpo
7.4.1
Forze generalizzate elettriche
• Quando si usano le coordinate di carica, le forze generalizzate elettriche Ek sono
tensioni generalizzate, ricavabili dai generatori ideali di tensione E(t) presenti
nel circuito. In particolare, ricordando la relazione tra lavoro virtuale e forze
generalizzate
X
δW nc =
Fknc δqk
k
P
P
Pk dt = k ek ik dt = k ek dqk , avremo
X
X
=
Ek (t)δqk =
Ek δqk
e ricordando anche che dW =
δW nc
P
k
k
k
In pratica, per calcolare ogni singola Ek occorre considerare le correnti che attraversano i generatori ideali di tensione, fare il prodotto tensione·corrente e
attribuire ad ogni δqk la somma dei relativi contributi risultanti.
Se sono presenti generatori ideali di corrente, questi non contribuiscono alle
tensioni generalizzate, ma impongono dei vincoli sulla somma delle correnti nei
nodi in cui agiscono.
• Quando si usano le coordinate di flusso, le forze generalizzate elettriche Ik sono
correnti generalizzate, ricavabili dai generatori ideali di corrente I(t) presenti
nel circuito. In particolare, ricordando la relazione tra lavoro virtuale e forze
generalizzate
X
δW nc =
Fknc δqk
k
P
P
Pk dt = k ik ek dt = k ik dλk , avremo
X
X
=
Ik (t)δλk =
Ik δλk
e ricordando anche che dW =
δW nc
P
k
k
k
In pratica per calcolare ogni singola Ik occorre considerare le tensioni ai capi
dei generatori ideali di corrente, fare il prodotto tensione·corrente e attribuire
ad ogni δλk la somma dei relativi contributi risultanti.
Se sono presenti generatori ideali di tensione, questi non contribuiscono alle
correnti generalizzate, ma impongono dei vincoli sulla somma delle tensioni
nelle maglie in cui agiscono.
7.4.2
Elementi dissipativi
Le resistenze, come detto sopra, rappresentano gli elementi dissipativi nei circuiti
elettromagnetici.
La funzione di dissipazione, quando la resistenza è lineare, vale
• se si usano le coordinate di carica:
1X
1X
Rk q̇k2 =
Rk i2k
De =
2
2
k
k
42
Basilio Bona - Dinamica dei Sistemi Multicorpo
• se si usano le coordinate di flusso:
1X 1 2
1X 1 2
e
λ̇k =
De =
2
Rk
2
Rk k
k
k
dove Rk è la resistenza totale attraversata dalla corrente q̇k , o ai capi della quale c’è
la tensione λ̇k .
7.4.3
Equazioni di Lagrange per le reti elettriche
Dopo aver definito l’insieme delle n coordinate generalizzate, avendo scelto se usare le
coordinate generalizzate di carica oppure di flusso, si scrivono le seguenti n equazioni
di Lagrange
¶
µ
∂Le
∂De
d ∂Le
−
+
= Fk
(82)
dt ∂ q̇k
∂qk
∂ q̇k
Va fatto osservare che, in generale, se la k-esima coordinata generalizzata coinvolge sia induttori, sia condensatori, la corrispondente equazione differenziale sarà del
second’ordine in q̈k o λ̈k :
Z q̈(t) + Rq̇(t) + Qq(t) = E(t)
oppure
Aλ̈(t) + C λ̇(t) + Λλ(t) = I(t)
in caso contrario apparirà un’equazione differenziale del prim’ordine oppure di ordine
zero, ossia un’equazione puramente algebrica, come avviene quando nel circuito sono
presenti solo elementi resistivi.
Spesso, dopo aver ricavato le equazioni nella loro forma originale, risulta più agevole riscriverle in funzione delle velocità generalizzate q̇k = ik oppure λ̇k = ek , per
cui si ottengono equazioni miste dove compaiono derivate e integrali; se si definisce la
tensione ai capi di un condensatore
Z
1
vCk =
qk dt
Ck
o la corrente entro un induttore
iLk =
Z
1
λk dt
Lk
allora le equazioni diventano
d
i(t) + Ri(t) + Qv C (t) = E(t)
dt
oppure
d
A e(t) + Ce(t) + ΛiL (t) = I(t)
dt
Z
43
Basilio Bona - Dinamica dei Sistemi Multicorpo
7.5
Analogie elettriche
È ora possibile riassumere in una tabella le analogie tra grandezze elettriche e grandezze meccaniche, che permettono di interpretare le quantità di un ambito con quelle
dell’altro. Cosı̀ l’ingegnere meccanico avrà più facilità a rappresentarsi le grandezze
e le forze elettriche e viceversa per l’ingegnere elettronico.
Ricordiamo che la potenza, in generale, è il prodotto di una variabile detta “sforzo” s e di una variabile detta “flusso” (da non confondere con il flusso del campo
magnetico) φ
P = sφ
tali variabili sono state anch’esse indicate nella Tabella seguente:
q
q̇
s
φ
µ
C
P
D
F
traslazione
x
ẋ
f = mẍ
ẋ
mẋ
1
mẋ2
2
1
kl ∆x2
2
1
βl ẋ2
2
f
rotazione
θ
θ̇
τ = Γ θ̈
θ̇
Γ θ̇
1 2
Γ θ̇
2
1
ka ∆θ2
2
1
βa θ̇2
2
τ
carica
q
i
e = Lq̈
q̇ = i
Li = λ
1 2
Li
2
1 2
q
2C
1 2
Rq̇
2
E
flusso
λ
e
i = C λ̈
λ̇ = e
Ce = q
1 2
Ce
2
1 2
λ
2L
1 2
λ̇
2R
I
Tabella 1: Tabella delle analogie elettro-meccaniche, nel caso di elementi ideali e
lineari.
8
Equazioni di Lagrange per sistemi elettro-meccanici
Il lagrangiano di un sistema che comprenda parti meccaniche e parti elettriche è la
somma dei lagrangiani dei sottosistemi.
Supponiamo di aver scelto come coordinate generalizzate elettriche le cariche q e
e per il sistema meccanico gli spostamenti (lineari e/o angolari) q m , avremo come
coordinate generalizzate totali e forze generalizzate totali le seguenti
¶
µ ¶
µ
qm
Fm
q=
F=
Fe
qe
L’energia cinetica sarà
∗
∗
(q̇ e , q m )
(q m , q̇ m ) + Wm
C ∗ (q, q̇) = Cm
e l’energia potenziale sarà
P(q) = Pm (q m ) + Wc (q e , q m )
44
Basilio Bona - Dinamica dei Sistemi Multicorpo
Si può osservare come l’energia cinetica della parte elettrica sia influenzata anche dalle
∗
coordinate generalizzate meccaniche, avendo scritto Wm
(q̇ e , q m ), e lo stesso avvenga
per l’energia potenziale elettrica, che viene indicata con Wc (q e , q m )
Il lagrangiano risulta alla fine essere
L(q, q̇) = C ∗ (q, q̇) − P(q)
Ne segue l’espressione della dinamica complessiva
µ
¶
∂L
∂L
d
−
= Fm
i = 1, . . . , nm
dt ∂ q̇ m
∂q m
µ
¶
d ∂L
∂L
−
= Fe
i = 1, . . . , ne
dt ∂ q̇ e
∂q e
Queste espressioni possono essere ulteriormente sviluppate nelle due seguenti
d
dt
µ
∗
∂Cm
(q m , q̇ m )
∂ q̇ m
e
d
dt
µ
¶T
¶T µ
¶T
∗
∗
∂Cm
(q m , q̇ m )
∂Wm
(q̇ e , q m )
−
∂q m
∂q m
µ
¶T µ
¶T
∂Pm (q m )
∂Wc (q e , q m )
+
+
= Fm
∂q m
∂q m
−
µ
∗
(q̇ e , q m )
∂Wm
∂ q̇ e
dove
¶T
+
µ
∂Wc (q e , q m )
∂q e
¶T
= Fe
(83)
(84)
∗
(q̇ e , q m )
∂Wm
∂q m
è la variazione della coenergia (cinetica) magnetica dovuta ad una variazione delle
coordinate meccaniche e
∂Wc (q e , q m )
∂q m
è la variazione dell’energia (potenziale) capacitiva dovuta ad una variazione delle
coordinate meccaniche.
8.1
Equazioni di stato
In questo e nel successivo Paragrafo prenderemo in considerazione il modello dinamico
di un robot antropomorfo composto da n = 6 bracci.
Le equazioni dinamiche risultanti sono del second’ordine e si scrivono in forma
vettoriale come
H(q)q̈(t) + C(q, q̇)q̇(t) + g(q) = τ
(85)
È possibile ottenere le equazioni di stato scegliendo come vettore di stato x(t) le
coordinate (angolari) e le velocità generalizzate:
¶
¶ µ
µ
q(t)
x1 (t)
(86)
=
x(t) =
q̇(t)
x2 (t)
45
Basilio Bona - Dinamica dei Sistemi Multicorpo
Il sistema dinamico risultante sarà non lineare, avente come ingressi le coppie applicate
τ . Le uscite potranno essere le velocità angolari dei giunti q̇ e/o le posizioni angolari
q degli stessi, ma, per ora, non è importante specificarle.
Il sistema risulta descritto dalle seguenti equazioni di stato:
ẋ1 (t) = x2 (t)
ẋ2 (t) = −H −1 (x1 ) [C(x1 , x2 )x2 (t) + g(x1 )] + H −1 (x1 )τ (t)
(87)
che possiamo riscrivere in forma matriciale
ẋ(t) = A(x) + B(x)u(t)
dove
µ
x2 (t)
−1
−H
(x
)
[C(x
1
1 , x2 )x2 (t) + g(x1 )]
µ
¶
O
B(x) =
H −1 (x1 )
A(x) =
8.2
(88)
¶
(89)
Linearizzazione approssimata
Talvolta è necessario poter scrivere le equazioni di stato in forma lineare, ad esempio
quando si vuole usare un modello lineare del manipolatore per progettarne il controllo
con le tecniche classiche delle funzioni di trasferimento.
Consideriamo che nei robot industriali si usano comunemente dei motoriduttori
ai giunti, con lo scopo di alzare la coppia resa e diminuire nel contempo le velocità
angolari. In questi casi la coppia dovuta alle inerzie dipendenti dalla configurazione si
riduce proporzionalmente al quadrato del rapporto r ≥ 1 dei motoriduttori. Il doppio
effetto di basse velocità angolari e (quasi) trascurabile influenza sulla matrice H della
configurazione del robot, portano ad ipotizzare la matrice d’inerzia H(q) diagonale e
indipendente da q


H11
0
0
0
 0
H22 0
0 


H(q) = H = 
(90)

.
.
 0
.
0
0 
0
0
0
Hnn
Anche le hijk risultano approssimativamente nulle, per cui l’equazione (85) si riduce
alla seguente:
H q̈(t) + g(q) = τ
In questo caso particolare, l’equazione di stato diventa lineare:
¶ µ
¶µ
¶ µ
¶
µ
O
x1 (t)
O I
ẋ1 (t)
+
=
(τ − g(x1 ))
x2 (t)
O O
ẋ2 (t)
H −1
(91)
(92)
Il sistema modellato dalla (92) rappresenta un parallelo di n doppi integratori comandato dall’ingresso τ −g(x1 ) variabile in funzione della configurazione del manipolatore.
La parte dinamica del modello è ora lineare, a parte l’influenza della gravità, che può
essere compensata con altre tecniche; perciò possiamo ora progettare un controllo
molto più facilmente che non utilizzando come modello l’equazione completa (85).
46
Basilio Bona - Dinamica dei Sistemi Multicorpo
9
Passività
Il concetto di passività è molto utile per l’analisi e la sintesi di sistemi di controllo.
Se un sistema è composto da una connessione in parallelo o in retroazione di sistemi passivi, allora il sistema complessivo sarà anch’esso passivo e non darà luogo a
generazione di energia.
Un’applicazione pratica del concetto di passività è l’analisi della stabilità di sistemi
interconnessi, siano essi lineari o non lineari, dove la passività viene vista come un’estensione dell’approccio alla Lyapunov, nel senso che i risultati ottenibili dall’approccio alla Lyapunov possono essere dedotti dalle proprietà di passività dei sotto-sistemi
individuali che compongono il sistema complessivo.
Dato un generico sistema non lineare che trasforma n ingressi u(t) in n uscite y(t),
valgono le seguenti definizioni
Passività: un sistema definito dalla relazione ingresso-uscita
y(t) = h(u(t), t)
è passivo se esiste una costante E0 ≥ 0 tale che:
ZT
y T (t) u(t) dt ≥ −E0
∀u, ∀ T ≥ 0
(93)
0
Alcuni commenti:
• la definizione si basa sulla descrizione ingresso-uscita: non si fa riferimento allo
stato interno;
• la passività è una proprietà che dipende intrinsecamente dalla presenza di certi
ingressi e certe uscite, ossia essa è definita relativamente a certe scelte fatte;
un sistema può essere passivo con certi ingressi/uscite, ma non esserlo con una
scelta diversa;
• la definizione vale per sistemi lineari e non lineari, tempo-invarianti o tempovarianti;
• se il sistema è passivo con ingressi u e uscite y è passivo anche con ingressi y e
uscite u.
Possiamo pensare alla passività come qualcosa di legato al bilancio energetico;
in particolare alla conservazione dell’energia.
R Supponendo che il prodotto u(t)y(t)
abbia le dimensioni di una potenza, allora u(t)y(t)dt è l’energia fornita al sistema
dall’ingresso (di controllo) u(t). Possiamo fare le seguenti osservazioni:
RT
• se 0 u(t)y(t)dt ≥ 0 per tutte le u e ogni T ≥ 0, l’energia è assorbita dal sistema
ed esso non può fornire energia all’esterno. Esso è passivo secondo la definizione
(93).
RT
• Se esiste una E0 > 0 tale per cui l’integrale 0 u(t)y(t)dt ≥ −E0 per tutte le
u e ogni T ≥ 0, allora il sistema può fornire una certa energia all’esterno. Tale
Basilio Bona - Dinamica dei Sistemi Multicorpo
47
energia sarà quella dovuta alle condizioni iniziali, ossia quella contenuta nell’elemento all’istante t = 0. Per i sistemi meccanici si tratta dell’energia elastica
immagazzinata nelle molle o l’energia di posizione in un campo gravitazionale; per i sistemi elettrici si tratta dell’energia elettrostatica immagazzinata nei
condensatori e dell’energia magnetica immagazzinata negli induttori. Secondo
la definizione (9) il sistema è ancora passivo perché non può produrre energia,
ma soltanto restituire quella immagazzinata.
• Se è è possibile trovare una funzione di ingresso/comando che faccia tendere
RT
l’integrale 0 u(t)y(t)dt a −∞ per qualche T ≥ 0, allora ciò significa che il
sistema può fornire una quantità illimitata di energia all’esterno, e ciò può
accadere solo se esiste al suo interno un inesauribile fonte di energia. In tali
casi il sistema non è passivo.
Ricordiamo che, dato un sistema dinamico anche non lineare, si può definire la
funzione di trasferimento (fdt) ingresso-uscita, che può essere razionale fratta (per
sistemi dinamici lineari) o non razionale.
Esiste un legame tra passività e proprietà della fdt: un sistema è passivo se e solo
se la fdt è reale positiva.
9.1
Fdt reali positive
Definizione 1 Una funzione di trasferimento razionale o irrazionale H(s), con s =
σ + jω, è reale positiva se:
1. H(s) è analitica2 in tutto il semipiano reale: <(s) > 0;
2. H(s) è reale per ogni s reale e positivo (σ > 0 e ω = 0);
3. <(H(s)) ≥ 0 per ogni <(s) > 0;
Esaminiamo ora il caso di fdt razionali fratte: è opportuno analizzare le proprietà
dell fdt lungo l’asse immaginario, ossia di H(jω); in questo modo sarà più facile
verificare se la fdt è reale positiva. Supponiamo dunque che la fdt H(s) sia razionale
fratta.
Il punto 1 della Definizione 1 (l’analiticità) implica che non vi siano singolarità=poli nel semipiano di destra. Si può anche affermare, senza dimostrarlo, che
<(H(jω)) ≥ 0 purché jω non sia un polo di H(s). Questi argomenti conducono a
stabilire quanto segue:
Definizione 2 La funzione razionale fratta H(s) è reale positiva se e solo se:
1. tutti i poli di H(s) hanno parte reale minore o uguale a zero;
2. <(H(jω)) ≥ 0 per tutte le ω per cui jω non è un polo di H(s);
2 una funzione è analitica in una data regione se essa è definita e continua in quella regione; i punti
per cui cessa di essere analitica si chiamano singolarità della funzione. In una funzione razionale, le
singolarità si chiamano poli
Basilio Bona - Dinamica dei Sistemi Multicorpo
48
3. Se jω0 è un polo di H(s), allora è un polo semplice e
Ress=jω0 = lim (s − jω0 )H(s)
s→jω0
è reale positivo.
Se H(s) ha un polo ad ∞, allora è un polo semplice e
H(jω)
ω→∞
jω
R∞ = lim
esiste ed è reale positivo
Passività e fdt reali positive
È ora possibile stabilire il seguente risultato:
un sistema lineare tempo-invariante con ingresso u e uscita y, descritto dalla
relazione ingresso-uscita y(s) = H(s)u(s) è passivo se e solo se la fdt H(s) è reale
positiva.
9.2
Stabilità in anello chiuso di sistemi positivi reali
La proprietà di passività può venire distrutta da una legge di controllo non appropriata. Esiste una classe di leggi di controllo (adattative e non) che garantisce di
conservare la proprietà di passività ad anello chiuso e conseguentemente assicura
l’asintotica stabilità del sistema.
Sistemi in retroazione formati da sottosistemi passivi possono essere analizzati dal
punto di vista della stabilità usando le proprietà di passività viste sopra.
Ipotizziamo che il sistema sia passivo e che la relazione tra ingresso u e uscita y
valga
y(s) = H(s)u(s)
Allora la fdt H(s) risulterà reale positiva per la passività del sistema. Supponiamo
altresı̀ che l’ingresso sia generato da un controllore
u(s) = C(s)[yd (s) − y(s)]
e che C(s) sia reale positivo. La funzione d’anello sarà L(s) = C(s)H(s). Le due
funzioni C(s) e H(s), essendo reali positive, non hanno poli a destra dell’asse immaginario e analogamente la fase di C(jω) e H(jω) sarà minore o uguale a 90◦ . Ciò
implica che la fase di L(s) sarà inferiore a −180◦ , ovvero essa è almeno marginalmente
stabile.
9.3
Funzioni di accumulo
La passività di un sistema può essere descritta usando delle funzioni che sono strettamente collegate alle funzioni energia e alle funzioni di Lyapunov3 . Tali funzioni
vengono chiamate funzioni di accumulo, in inglese storage functions.
3 Si dà per scontato che il lettore abbia qualche conoscenza delle funzioni di Lyapunov dai corsi
di base di Teoria dei Sistemi, Fondamenti di Automatica o Controlli Automatici.
49
Basilio Bona - Dinamica dei Sistemi Multicorpo
Consideriamo, per fissare le idee, il seguente sistema dinamico non lineare
ẋ = f (x, u)
y = g(x)
(94)
Ipotizziamo l’esistenza di una funzione di accumulo V (x) ≥ 0 e di una funzione di
dissipazione d(x) ≥ 0; entrambe sono delle funzioni di stato, come le funzioni energia,
perché dipendono solo dallo stato attuale del sistema e non dalla sua storia precedente.
Se la derivata nel tempo di V , calcolata lungo le traiettorie (soluzioni) del sistema
(94) soddisfa la relazione seguente
V̇ =
∂V
∂V
· ẋ =
· f (x, u) ≤ uT y − d(x)
∂x
∂x
allora il sistema (94) è passivo. Sottolineiamo che la condizione è solo sufficiente, ma
non necessaria.
Il risultato è facilmente dimostrabile in quanto
Z
0
T
uT ydt =
Z
T
[V̇ + d(x)] dt
0
= V (T ) − V (0) +
Z
T
d(x) dt
(95)
0
≥ −V (0)
che ci riporta alla definizione di sistema passivo.
9.4
Algoritmi numerici per il calcolo della dinamica diretta e
inversa
A conclusione di queste brevi note possiamo concludere che le equazioni di NewtonEulero sono più difficili e laboriose da impostare e risolvere manualmente, mentre le
equazioni di Lagrange sono più semplici e mettono in luce alcuni aspetti energetici
utili per il progetto di controllori che conservino la passività.
Tuttavia, da un punto di vista numerico, le cose stanno esattamente all’opposto:
le equazioni di Newton-Eulero, se impostate in modo ricorsivo, generano algoritmi
numerici a complessità computazionale minore.
Consideriamo brevemente il problema, facendo sempre riferimento all’equazione
(85).
Date le coppie di ingresso τ (t) è possibile, mediante l’integrazione delle equazioni
differenziali (85), calcolare le coordinate giunto q(t); questo problema prende il nome
di dinamica diretta.
Il problema inverso, denominato dinamica inversa consiste invece nel ricavare le
coppie ai giunti τ (t) a partire dalle coordinate giunto q(t) e dalle sue derivate prime
q̇(t) e seconde q̈(t).
La dinamica diretta è utile per simulare il comportamento del manipolatore a
partire dagli ingressi, mentre la dinamica inversa permette di calcolare le coppie di
comando a partire da configurazioni ai giunti desiderate.
Basilio Bona - Dinamica dei Sistemi Multicorpo
50
Ricordiamo a questo proposito che il modello di un manipolatore industriale è
formato da n equazioni differenziali del tipo:
τi =
n
X
Hij (q)q̈j +
j=1
n
n X
X
hijk (q)q̇j q̇k + gi (q)
(96)
j=1 k=1
dove i termini Hij , hijk e gi sono dipendenti dalla configurazione q, come indicato; per
ottenerli occorre eseguire un elevato numero di calcoli, che aumenta rapidamente con
l’aumentare dei gradi di libertà n. Si può dimostrare che il numero di moltiplicazioni
è proporzionale a n4 , ovvero che la complessità è O(n4 ). Per un particolare robot a 6
gradi di libertà è stato calcolato che l’approccio attraverso le equazioni di Lagrange
richiede ad ogni passo l’esecuzione di 66271 moltiplicazioni.
Sono stati perciò introdotti alcuni algoritmi che riducono la complessità del problema; tra questi si accenna qui brevemente all’algoritmo di Luh, Walker e Paul, che
il lettore può ritrovare dettagliatamente descritto in [7].
Esso consiste in un procedimento ricorsivo in due tempi, dove, attraverso le equazioni della cinematica, si calcolano velocità e accelerazioni lineari e angolari del centro
di massa di ogni giunto, partendo dalla base fino a giungere al giunto più esterno.
A questo punto, considerando anche le eventuali forze generalizzate applicate
all’estremità e le forze gravitazionali, si ritorna indietro verso la base, calcolando
ricorsivamente le coppie ad ogni giunto.
In particolare, se indichiamo
• con ω `k la velocità angolare, con α`k l’accelerazione angolare e con a`k l’accelerazione lineare del giunto k nel riferimento R` solidale al braccio `;
• con Rkk−1 la matrice di trasformazione da Rk−1 a Rk ;
• con d`k−1,k la traslazione dall’origine di Rk−1 all’origine di Rk , rappresentata
in R` ;
• con d`k−1,kc la traslazione dall’origine di Rk−1 al centro di massa del braccio k,
rappresentata in R` ;
• con f `k−1,k le forze vincolari trasmesse dal braccio k − 1 al braccio k, rappresentate in R` ;
• con τ `k−1,k i momenti vincolari trasmessi dal braccio k − 1 al braccio k, rappresentati in R` ;
• con F `k,c la forza risultante sul braccio k, con linea d’azione attraverso il centro
di massa del braccio k, rappresentata in R` ;
• con T `kc il momento risultante sul braccio k, pari al momento rispetto al centro
di massa del braccio k, rappresentato in R` ;
• con Γ `k/c la matrice d’inerzia del braccio k rispetto al centro di massa di
quest’ultimo, rappresentata in R` ;
• con mk la massa del braccio k;
51
Basilio Bona - Dinamica dei Sistemi Multicorpo
¡
• con k = 0 0
¢T
1 ;
e ricordiamo che dkk,kc = dkk−1,kc − dkk−1,k e che dkk,kc , dkk−1,kc , dkk−1,k sono costanti
in Rk , possiamo realizzare un algoritmo ricorsivo che, pèer un manipolatore con soli
giunti rotoidali, è composto dai seguenti passi:
inizializzazione si pone ω 00 = 0, α00 = 0 e a00 = −g 0 , dove g 0 è l’accelerazione del
campo gravitazionale.
ricorsione in avanti (k = 1, . . . , 6)
ω kk = Rkk−1 (ω k−1
k−1 + θ̇k k)
αkk
=
akk
=
(97)
k−1
Rkk−1 (αk−1
k−1 + S(ω k−1 )θ̇k k + θ̈k k)
k
k
k
k
k
Rkk−1 ak−1
k−1 + S(αk )dk−1,k + S(ω k )S(ω k )dk−1,k
(98)
(99)
calcolo delle equazioni del moto relative al centro di massa (k = 1, . . . , 6)
F kkc = mk [akk + S(αkk )dkk,kc S(ω kk )S(ω kk )dkk,kc ]
(100)
T kkc
(101)
=
Γ kk/c αkk
+
S(ω kk )Γ kk/c ω kk
ricorsione all’indietro (k = 5, . . . , 0)
k
f kk−1,k = Rk+1
f k+1
k,k+1 + F kc
k
(102)
k
k+1 k+1
τ kk−1,k = Rk+1
τ k+1
f k,k+1
k
k,k+1 + S(dk−1,k )Rk
(103)
+
S(dkk−1,kc )F kkc
+
T kkc
(104)
calcolo delle coppie motrici
τk = kT Rk−1
τ kk−1,k
k
L’algoritmo richiede 117n − 24 moltiplicazioni e 103n − 21 addizioni, che per un
manipolatore con n = 6 porta a 678 moltiplicazioni e 597 addizioni.
Riferimenti bibliografici
[1] B. Bona, Modellistica dei Roobot Industriali, CELID, Torino, 2002.
[2] O. Egeland, J.T. Gravdahl, Modeling and Simulation for Automatic Control,
Marine Cybernetics, Trondheim, 2002.
[3] C. Ferraresi, T. Raparelli, Appunti di Meccanica Applicata, C.L.U.T. Editrice,
1992.
[4] H. Goldstein, Classical Mechanics, seconda edizione, Addison Wesley, 1980.
[5] T.R. Kane, D.A. Levinson, Dynamics: Theory and Applications, McGraw-Hill,
1985.
52
Basilio Bona - Dinamica dei Sistemi Multicorpo
[6] R.M. Murray, Z. Li, S.S. Sastry, A Mathematical Introduction to Robotic
Manipulation, CRC Press, 1994.
[7] L. Sciavicco, B. Siciliano, Robotica Industriale: Modellistica e Controllo di
Manipolatori, McGraw-Hill, 1995.
[8] J.H. Williams, Jr., Fundamental of Applied Dynamics, Wiley, 1996.
Indice
1 Introduzione
1.1 Tensori o matrici d’inerzia . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Teorema degli assi paralleli . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Momento angolare ed equazione di Eulero . . . . . . . . . . . . . . . .
3
3
4
5
2 Equazioni di Newton-Eulero
8
3 Coordinate generalizzate e vincoli
10
4 Spostamenti virtuali, vincoli e gradi di libertà
4.1 Vincoli olonomi e anolonomi . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Principio dei lavori virtuali . . . . . . . . . . . . . . . . . . . . . . . .
12
13
15
5 Equazioni cinematiche del corpo rigido
5.1 Trasformazioni tra velocità angolari . . . . . . . . . . . . . . . . . . .
16
18
6 Equazioni di Lagrange per sistemi meccanici
6.1 Energia cinetica . . . . . . . . . . . . . . . . .
6.1.1 Particella elementare . . . . . . . . . .
6.1.2 Corpo rigido esteso . . . . . . . . . . .
6.1.3 Sistemi naturali . . . . . . . . . . . . .
6.2 Energia potenziale . . . . . . . . . . . . . . .
6.3 Forze generalizzate nei sistemi olonomi . . . .
6.4 Equazioni di Lagrange con vincoli olonomi . .
6.5 Equazioni di Lagrange e vincoli anolonomi . .
6.6 Equazioni differenziali risultanti . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
20
20
20
21
22
23
24
25
26
29
7 Equazioni di Lagrange per sistemi elettromagnetici
7.1 Componenti elementari di un sistema elettromagnetico
7.1.1 Elementi passivi nei circuiti elettrici . . . . . .
7.1.2 Elementi attivi nei circuiti elettrici . . . . . . .
7.2 Coordinate generalizzate . . . . . . . . . . . . . . . . .
7.3 Energie e coenergie . . . . . . . . . . . . . . . . . . . .
7.3.1 Coordinate generalizzate di carica . . . . . . .
7.3.2 Coordinate generalizzate di flusso . . . . . . . .
7.4 Equazioni di Lagrange . . . . . . . . . . . . . . . . . .
7.4.1 Forze generalizzate elettriche . . . . . . . . . .
7.4.2 Elementi dissipativi . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
31
31
35
37
38
38
39
40
41
41
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
53
Basilio Bona - Dinamica dei Sistemi Multicorpo
7.4.3 Equazioni di Lagrange per le reti elettriche . . . . . . . . . . .
Analogie elettriche . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
43
8 Equazioni di Lagrange per sistemi elettro-meccanici
8.1 Equazioni di stato . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2 Linearizzazione approssimata . . . . . . . . . . . . . . . . . . . . . . .
43
44
45
9 Passività
9.1 Fdt reali positive . . . . . . . . . . . . . . . . . . . . .
9.2 Stabilità in anello chiuso di sistemi positivi reali . . .
9.3 Funzioni di accumulo . . . . . . . . . . . . . . . . . . .
9.4 Algoritmi numerici per il calcolo della dinamica diretta
46
47
48
48
49
7.5
.
.
.
e
. . . . .
. . . . .
. . . . .
inversa
.
.
.
.
.
.
.
.
.
.
.
.
Elenco delle figure
1
2
3
4
5
6
7
8
9
10
11
Punti relativi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Esempio di vincolo anolonomo: un disco che ruota a contatto di un
piano senza strisciamento. . . . . . . . . . . . . . . . . . . . . . . . .
circuito magnetico ideale. . . . . . . . . . . . . . . . . . . . . . . . . .
a) induttore ideale; b) relazione tra corrente i(t) e flusso concatenato
λ(t) nel capacitore. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a) capacitore ideale; b) relazione tra tensione e(t) e carica q(t) nel
capacitore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a) resistore ideale; b) relazione tra corrente i(t) e tensione e(t) nel
resistore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
generatore ideale di corrente. . . . . . . . . . . . . . . . . . . . . . . .
generatore ideale di tensione. . . . . . . . . . . . . . . . . . . . . . . .
amplificatore ideale. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
coordinata generalizzata = carica sul condensatore (formulazione serie). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
coordinata generalizzata = flusso concatenato nell’induttore (formulazione parallelo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
15
33
34
35
35
36
36
37
37
38
Indice analitico
coefficiente d’attrito viscoso, 26
dinamica
diretta, 49
inversa, 49
equazione
di Eulero, 7
equazioni
di Eulero, 9
di Lagrange, 20
di Newton, 8
di Newton-Eulero, 8
funzione
di Lagrange, 26
di Rayleigh, 26
matrice
d’inerzia, 3
momenti d’inerzia, 4
passività, 46
positività, 47
prodotti d’inerzia, 4
tensore, 3
velocità angolare
euleriana, 18
RPY, 19
54