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