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