Dinamica - LaDiSpe - Politecnico di Torino

Dinamica
Basilio Bona
DAUIN-Politecnico di Torino
2008
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
1 / 30
Dinamica - Introduzione
Se il compito della cinematica è “descrivere” il moto dei corpi, lo scopo
della dinamica è quello di “spiegare” il moto dei corpi.
Il passaggio dalla descrizione alla spiegazione richiede l’introduzione del
concetto di forza o, in alternativa, quello di inerzia.
La legge fondamentale della meccanica, formulata da Newton, si esprime
analiticamente come una relazione vettoriale
 
 
fx
ax
f = ma ovvero fy  = m ay 
fz
az
dove a = v̇ è l’accelerazione e f la forza applicata.
Questa legge vale in primo luogo per una particella di massa m (massa
puntiforme), dove la forza applicata f e l’accelerazione a sulla particella
possono giocare alternativamente il ruolo di causa o di effetto.
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
2 / 30
Dinamica - Introduzione
Analogamente alla relazione f = ma che vale per moti lineari, esiste una
relazione valida per i moti di rotazione.
Essa, dovuta essenzialmente a Eulero, stabilisce una relazione tra il
momento angolare applicato a un corpo rigido, l’accelerazione angolare e il
momento d’inerzia del corpo:
τ = Γω̇ + ω × Γω
dove τ è il momento applicato al corpo, ω e ω̇ sono la velocità e
l’accelerazione angolare del corpo e Γ è il momento d’inerzia del corpo
rispetto al suo baricentro.
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
3 / 30
Dinamica - Introduzione
Un sistema formato da N masse elementari puntiformi, oppure un corpo
rigido, è in equilibrio dinamico quando:
la somma di tutte le forze lineari applicate al baricentro del corpo,
comprese le forze inerziali, è nulla.
la somma di tutti i momenti angolari rispetto al baricentro del corpo,
compresi i momenti inerziali, è nulla.
La prima condizione permette di scrivere le equazioni di equilibrio lineare,
dette equazioni di Newton, la seconda permette di scrivere le equazioni di
equilibrio angolare dette equazioni di Eulero.
Le equazioni sono vettoriali e per manipolatori composti da n bracci sono
pari a 2n.
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
4 / 30
Equazioni di Newton-Eulero
Consideriamo un generico braccio bi di un robot, con il suo baricentro (o
centro di massa) ci e applichiamo ad esso le convenzioni DH.
Figura: Braccio i con le forze e le coppie applicate.
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
5 / 30
Equazioni di Newton
Se:
f i−1,i
f i+1,i
gi
aci
risultante delle forze applicate dal braccio i − 1 al braccio i
risultante delle forze applicate dal braccio i + 1 al braccio i
vettore dell’accelerazione locale del campo gravitazionale
accelerazione totale del baricentro
Allora si ha la i-esima equazione di Newton
f i−1,i + f i+1,i + mi gi − mi aci = 0
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
6 / 30
Equazioni di Eulero
Se:
Ni−1,i
Ni+1,i
Γi
rci ,i−1
rci ,i
risultante dei momenti applicati dal braccio i − 1 al braccio i
risultante dei momenti applicati dal braccio i + 1 al braccio i
matrice d’inerzia del braccio i rispetto al baricentro
posizione dell’origine sdf i − 1 rispetto al baricentro
posizione dell’origine sdf i rispetto al baricentro
Allora si ha la i-esima equazione di Eulero
Ni−1,i + Ni+1,i + rci ,i−1 × f i−1,i + rci ,i × f i+1,i −Γi ω̇ i − ω i × Γi ω i = 0
|
{z
}
momenti delle forze f
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
7 / 30
Equazioni di Newton-Eulero
Le 2n equazioni vettoriali di Newton-Eulero (N-E) sono difficili da gestire
in una forma letterale, perché compaiono esplicitamente i vincoli interni al
sistema multi-braccio, corrispondenti alle forze f trasmesse da un braccio
all’altro.
Questi vincoli non sono di alcun interesse ai fini della determinazione delle
leggi dinamiche del moto e la loro determinazione costituisce un carico di
lavoro inutile.
Da questo punto di vista, le equazioni di Lagrange sono molto più gestibili
e immediate, come vedremo in seguito.
Tuttavia, da un punto di vista numerico, le equazioni N-E sono più agevoli
da trattare, perché esistono numerosi algoritmi ricorsivi per la soluzione
numerica dei sistemi robotici.
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
8 / 30
Equazioni di Lagrange
Le equazioni di lagrange, al contrario delle N-E sono equazioni scalari, che
derivano dalla definizione di una funzione, detta Lagrangiana, data dalla
differenza tra l’energia cinetica totale e l’energia potenziale totale del
braccio del manipolatore.
Energia Cinetica
L’energia cinetica totale C è funzione delle coordinate giunto q(t) e delle
velocità giunto q̇(t); inoltre essa è additiva
C (q, q̇) =
n
∑ Ci (q, q̇)
i=1
dove Ci è l’energia cinetica del braccio i.
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
9 / 30
Equazioni di Lagrange
Energia Potenziale
L’energia potenziale totale P nei sistemi meccanici è funzione delle sole
coordinate giunto q(t); inoltre essa è additiva
P(q) =
n
∑ Pi (q)
i=1
dove Pi è l’energia potenziale del braccio i.
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
10 / 30
Equazioni di Lagrange
Pertanto la funzione Lagrangiana risulta essere
Funzione Lagrangiana
L (q, q̇) = C − P =
n
n
i=1
i=1
∑ Ci (q, q̇) − ∑ Pi (q)
Una volta ottenuta la lagrangiana, la dinamica del sistema è descritta da n
equazioni differenziali, aventi la seguente forma:
d ∂L
∂L
−
= Fi
i = 1, . . . , n
dt ∂ q̇i
∂ qi
dove Fi è la i-esima forza generalizzata.
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
11 / 30
Equazioni di Lagrange
Dimensionalmente le equazioni di Lagrange sono equazioni differenziali tra
forze o momenti e questo lo si può intuire considerando che il termine di
destra di ogni equazione è una forza generalizzata.
Vedremo meglio come si determinano queste forze, ma si può dire in
generale che sono la somma di tutti gli effetti che si associano al lavoro
virtuale della i-esima coordinata qi (t).
Se tra queste forze vi sono delle forze dissipative lineari, associate alla
funzione di dissipazione D, dove
D(q̇) =
n
1
n
∑ Di (q̇) = 2 ∑ βi q̇i2
i=1
i=1
si preferisce scrivere l’equazione di Lagrange nel modo seguente
d ∂L
∂L ∂D
−
+
= Fi
i = 1, . . . , n
dt ∂ q̇i
∂ qi
∂ q̇i
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
12 / 30
Energia Cinetica
Vediamo come si determina l’energia cinetica di un braccio robotico.
Poiché l’energia è additiva, è sufficiente fornire la formula dell’energia
cinetica del generico braccio i:
Ci (q, q̇) =
1 T
1
v (q, q̇) mi vci (q, q̇) + ω T
(q, q̇)Γi ω i (q, q̇)
2 ci
2 i
Pertanto l’energia cinetica di un braccio in rototraslazione è la somma
dell’energia cinetica di traslazione, che dipende dal quadrato della velocità
lineare del centro di massa, e dell’energia cinetica di rotazione, che
dipende dal quadrato della velocità angolare del braccio.
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
13 / 30
Energia Cinetica
Per esprimere l’energia direttamente in funzione delle q e q̇ è necessario
conoscere le matrici jacobiane relative alle vci e ω i .
Se definiamo
h
i
(i)
(i)
(i)
JL = J(i)
JL2 · · · JLi 0 · · · 0
h L1
i
(i)
(i)
(i)
JA = JA1 J(i)
·
·
·
J
0
·
·
·
0
A2
Ai
avremo
(i)
(i)
(i)
(i)
(i)
(i)
(i)
(i)
vci = JL1 q̇1 + JL2 q̇2 + · · · + JLi q̇i = JL q̇
ω i = JA1 q̇1 + JA2 q̇2 + · · · + JAi q̇i = JA q̇
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
)
⇔ ṗci = Jci q̇
2008
14 / 30
Energia Cinetica
L’energia cinetica si scrive quindi come
h
i
h
i
1
(i)
(i)
(i)
(i)
q̇T JL (q))T mi JL (q) q̇ + q̇T JA (q))T Γi JA (q) q̇
∑
2 i
ossia


1 T
(i)
(i)
(i)
(i)
T
T
 q̇
q̇ 
J
(q))
m
J
(q)
+
J
(q))
Γ
J
(q)
i
i
L
L
A
A

2 ∑
i |
{z
}

Hi (q)
e infine
1
1
C = q̇T ∑ (Hi (q)) q̇ = q̇T H(q)q̇
2
2
i
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
15 / 30
Energia Cinetica
Se chiamiamo Hij (q) il generico elemento ij della matrice H(q),
osserviamo che
n
Hij (q) =
∑ {Hij (q)}k
k=1
dove {Hij (q)}k è l’elemento di posto ij della matrice d’inerzia del braccio
k-esimo.
Avremo quindi una formulazione alternativa dell’energia cinetica:
C=
Basilio Bona (DAUIN-Politecnico di Torino)
1 n n
∑ ∑ Hij (q)q̇i q̇j
2 i=1
j=1
Dinamica
2008
16 / 30
Energia Potenziale
L’energia potenziale è viene associata agli elementi elastici; se il
manipolatore è rigido, non esistono elementi che immagazzinano energia
potenziale.
Tuttavia resta da considerare l’energia di posizione, dovuta alla presenza di
un campo di forze gravitazionali che è parallelo al vettore di accelerazione
di gravità locale G.
Figura: L’energia potenziale ha superfici equipotenziali ortogonali a G.
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
17 / 30
Energia Potenziale
Per includere l’energia di posizione nelle equazioni di Lagrange sono
possibili due approcci alternativi:
1
2
le forze/coppie, dovute al campo gravitazionale agente sui bracci,
sono considerate tra le forze generalizzate Fi ;
il termine dovuto all’energia di posizione, che in questo caso è dovuto
al campo gravitazionale, viene considerato come termine di energia
potenziale e viene incluso nell’energia potenziale totale.
Nel seguito verrà sviluppato il secondo approccio, che comunque porta a
risultati del tutto identici a quelli ricavabili dal primo.
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
18 / 30
Energia Potenziale
Nel campo gravitazionale, l’energia potenziale viene espressa come
segue:
Pi (q) = −mi GT r0,ci (q)
dove r0,ci (q) è il vettore che rappresenta la posizione del centro di
massa del braccio bi nel riferimento
R0 .
Per convenzione l’energia potenziale
è nulla se il centro di massa è “allo stesso livello” dell’origine di R0 , è
positiva se il centro di massa è “sopra” l’origine di R0 , è negativa se il
centro di massa è “sotto” l’origine di
R0 .
Basilio Bona (DAUIN-Politecnico di Torino)
Figura: L’energia potenziale è
positiva se GT r0,ci < 0.
Dinamica
2008
19 / 30
Forze generalizzate
Per calcolare le forze generalizzate, trascuriamo l’effetto delle forze peso,
che è già stato incluso nell’energia potenziale.
A parte le eventuali forze di attrito, che esprimiamo attraverso l’energia di
dissipazione Di , le altre forze generalizzate che agiscono sul braccio bi
sono solitamente dovute all’azione degli attuatori che muovono i giunti e
ai momenti ai giunti equivalenti alle forze di interazione con l’ambiente.
In generale le forze generalizzate sono la somma di tutti gli effetti che si
associano al lavoro virtuale della i-esima coordinata qi (t).
Nei giunti prismatici il lavoro virtuale totale è la somma dei lavori virtuali
di tutte le forze lineari, mentre nei giunti rotoidali il lavoro virtuale totale è
la somma dei lavori virtuali di tutti i momenti angolari.
δW =
Nf
Nτ
∑ f k · δ rk + ∑ τ k · δ α k = 0
|k=1 {z
lineari
Basilio Bona (DAUIN-Politecnico di Torino)
} |k=1 {z
angolari
Dinamica
}
2008
20 / 30
Forze generalizzate e lavori virtuali
L’equazione precedente si può esprimere anche come:
δW =
Nf
∑
Nτ
f k · δ rk +
k=1
∑ τk · δ αk
k=1
"
#
#
Nτ
n
∂ rk
∂ τk
= ∑ fk · ∑
δ qi + ∑ τ k · ∑
δ αi
i=1 ∂ qi
i=1 ∂ qi
k=1
k=1
#
#
"
"
Nf
Nτ
n
n
∂ rk
∂ αk
= ∑ ∑ fk ·
δ qi + ∑
∑ τ k · ∂ qi δ αi
∂ qi
i=1
i=1
k=1
k=1
|
{z
}
|
{z
}
f. g. lineare F`i
f. g. angolare Fαi
Nf
=
"
n
n
n
i=1
i=1
∑ F`i δ qi + ∑ Fαi δ αi
da cui si ricavano le espressioni esatte delle forze generalizzate per ogni
componente i.
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
21 / 30
Forze generalizzate
Più semplicemente, supponiamo che gli attuatori ai giunti esercitino coppie
attive di comando
T
τ c = τc1 · · · τcn
e che, all’estremità dell’attrezzo, sia presente una forza generalizzata
esterna Fe dovuta all’interazione con l’ambiente.
Allora la i-esima componente delle forze generalizzate totali risulta essere
Fi = τci + τei
dove abbiamo indicato con τei la i-esima componente di JT Fe .
D’ora in avanti utilizzeremo il simbolo τi invece che Fi
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
22 / 30
Equazioni risultanti
Se per semplicità non consideriamo le forze di attrito e ci limitiamo
all’equazione
d ∂L
∂L
−
= τi
dt ∂ q̇i
∂q
dopo aver derivato i vari termini, otteniamo l’equazione seguente
!
∑ Hij (q)q̈j + ∑ ∑ hijk (q)q̇k
j
j
q̇j + gi (q) = τi
k
|
{z
cij (q, q̇)
}
dove i termini hijk prendono il nome di simboli di simboli di Christoffel del
primo tipo.
1 ∂ Hij (q) ∂ Hik (q) ∂ Hjk (q)
hijk (q) =
+
−
= hikj (q) ∀k
2
∂ qk
∂ qj
∂ qi
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
23 / 30
Equazioni risultanti
Avendo posto cij (q, q̇) = ∑ hijk (q) q̇k , otteniamo alla fine:
k
∑ Hij (q)q̈j + ∑ cij (q, q̇)q̇j + gi (q) = τi
j
j
Le n equazioni dei bracci possono essere riassunte in una sola equazione
matriciale
H(q) q̈(t) + C(q, q̇) q̇(t) + g(q) = τ
dove τ = τ c + τ e , è la somma delle coppie di comando fornite dagli
attuatori τ c e delle eventuali coppie esterne di interazione con l’ambiente
τ e . Gli elementi della matrice C (q, q̇) sono le quantità cij (q, q̇) indicate
sopra.
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
24 / 30
Termini di attrito
Se sono presenti anche effetti dissipativi di carattere viscoso, queste si
possono includere nei termini di sinistra dell’equazione:
H(q)q̈(t) + C(q, q̇)q̇(t) + Bq̇ + g(q) = τ
dove la matrice B di solito è diagonale con elementi costanti, che sono i
coefficienti di attrito viscoso βi :
B = diag(βi )
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
25 / 30
Proprietà dell’equazione dinamica
Data l’equazione dinamica vettoriale del robot (senza i termini dissipativi)
H(q)q̈(t) + C(q, q̇)q̇(t)g(q) = τ
è possibile definire un insieme di np parametri, in parte geometrici, in parte
inerziali, ma comunque dipendenti dalla struttura fisica del manipolatore,
che possono venire raccolti in un vettore di parametri
T
θ1
θ =  ... 
θnp

La dinamica del robot è lineare nei parametri, ossia
H(q)q̈(t) + C(q, q̇)q̇(t) + g(q) = Φ (q̈(t), q̇(t), q(t)) θ
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
26 / 30
Proprietà dell’equazione dinamica
Si può quindi scrivere
Φ (q̈(t), q̇(t), q(t)) θ = τ(t)
dove la matrice Φ (q̈, q̇, q) ∈ Rn×np è detta matrice di regressione o
regressore
Questo consente di mettere in relazione diretta le coppie generalizzate τ
con i parametri θ e quindi utilizzare la relazione per ricavarsi il valore
numerico dei parametri dalle misure delle coppie ai giunti.
Se si definisce una nuova matrice N (q, q̇) nel modo seguente
N (q, q̇) = Ḣ (q) − 2C (q, q̇)
essa è antisimmetrica.
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
27 / 30
Proprietà dell’equazione dinamica
Come abbiamo già visto, la proprietà di antisimmetria consente di
affermare che la forma quadratica associata a N (q, q̇) è identicamente
nulla
q̇T (t)N (q, q̇) q̇(t) ≡ 0, ∀ q̇(t)
Questa proprietà risulta utile nella costruzione delle funzioni di Lyapunov
che permettono di stabilire la stabilità di algoritmi di controllo non lineari.
Un’ultima proprietà riguarda la matrice H(q), che, sotto condizioni molto
generali è definita positiva, quindi invertibile, per ogni valore di q.
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
28 / 30
Equazioni di stato
A partire dalle equazioni dinamiche del manipolatore:
H(q)q̈(t) + C(q, q̇)q̇(t) + g(q) = τ
è possibile ottenere le equazioni di stato del sistema scegliendo come
vettore di stato x(t) il seguente:
x1 (t)
q(t)
x(t) ≡
=
x2 (t)
q̇(t)
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
29 / 30
Equazioni di stato
Il sistema risulta descritto dalle seguenti equazioni di stato non lineari:
ẋ1 (t) = x2 (t)
ẋ2 (t) = −H−1 (x1 ) {C(x1 , x2 )x2 (t) + g(x1 )} + H−1 (x1 )τ(t)
Talvolta è necessario scrivere le equazioni di stato in forma lineare, ad
esempio per progettare il controllo con le tecniche classiche delle funzioni
di trasferimento.
Per ottenere delle equazioni lineari approssimate del manipolatore si può
b diagonale e indipendente
approssimare la matrice d’inerzia come H(q) ≈ H
da q


H11 0
0
..
b =
H
.
0
0 
0
0 Hnn
In questo caso si ha pure C = 0 e l’equazione dinamica si riduce a
Hq̈(t) + g(q) = τ
Basilio Bona (DAUIN-Politecnico di Torino)
Dinamica
2008
30 / 30