Comments
Description
Transcript
Teoria del controllo ottimo
Teoria dei sistemi e del controllo Controllo ottimo Teoria del controllo ottimo Luca Rancati Ingegneria Aerospaziale Dato un generico sistema lineare tempo invariante, caratterizzato dalle matrici A,B,C,D, si elabora un controllo proporzionale allo stato del sistema. Viene descritto il procedimento generale per arrivare al problema di minimizzazione del funzionale J. Attraverso una imposizione di vincoli si arriva alla soluzione dell’equazione di Riccati che completa il problema. Impostazione del problema Un generico sistema lineare tempo invariante si scrive in forma matriciale attraverso le seguenti relazioni: ( ẋ(t) = A x(t) + B u(t) y(t) = C x(t) + D u(t) in cui x ∈ <n è il vettore di stato del sistema, u ∈ <m è la variabile di controllo ed y ∈ <p è la trasformazione dell’uscita del sistema. Si voglia ora applicare al sistema una legge di controllo puramente proporzionale allo stato del sistema, in modo da ottenere la seguente relazione: ẋ(t) = A x(t) + B u(t) u(t) = K x(t) ẋ(t) = (A + B K) x(t) Quello che si vuole fare è caratterizzare i parametri caratteristici del controllo nel dominio del tempo (t ∈ <); si valuta l’andamento dello stato nel tempo. Essendo lo stato un vettore, costruisco una funzione scalare fatta in questo modo: Z tf J= {x}T {x} dt (1) t0 in questo modo mi riconduco ad un unico indice scalare; individuare una legge di controllo che minimizza J significa rendere i transitori rapidi e smorzati. In un sistema fisico il vettore di stato di solito contiene variabili disomogenee1 e quindi 1 come unità di misura Luca Rancati [email protected] 1 Teoria dei sistemi e del controllo Controllo ottimo è bene introdurre una matrice Q per ovviare al problema e rendere omogenee le unità di misura; la funzione diventa: Z tf J= {x}T [Q] {x} dt (2) t0 questa funzione scalare dà l’informazione di quanto vale la risposta del sistema durante il transitorio. Tipicamente in un problema di controllo si vuole ottenere un sistema stabile, transitori veloci o se sono lenti oscillazioni piccole; questo lo ottengo minimizzando la funzione J, cioè cercando K che rende minimo J: Z tf min (J) = min ( {x}T [Q] {x} dt) : ⇐⇒ : [K] t0 Se mi limitassi a minimizzare questa funzione otterrei una [K] che renderebbe veloci i transitori indipandentemente dall’energia di controllo, cioè da quanto effettivamente sta lavorando il sistema di controllo per soddisfare le specifiche. Per ovviare a ciò minimizzo questa funzione: Z tf J= ({x}T [Q] {x} + {u}T [R] {u}) dt (3) t0 cosı̀ minimizzerò anche una parte proporzionale all’energia di controllo; per completare la scrittura devo considerare anche lo stato finale in quanto si vuole che esso sia piccolo; quindi minimizzeremo anche questo termine: Z tf J = {xf }T [S] {xf } + ({x}T [Q] {x} + {u}T [R] {u}) dt (4) t0 per motivi di carattere numerico la funzione scalare J si scrive dividendo tutto per due: Z 1 1 tf J = {xf }T [S] {xf } + ({x}T [Q] {x} + {u}T [R] {u}) dt (5) 2 2 t0 In questo modo calcolare u di controllo che minimizza J significa ottimizzare il controllo; questo approccio è detto controllo quadratico perchè la funzione J è una funzione quadratica del vettore di stato x e del vettore di controllo u. Si nota subito che la legge di controllo è puramente proporzionale allo stato; per trovare [K] non guardo la posizione dei poli in anello chiuso ma guardo il minimo di J che rappresenta la risposta temporale del sistema. Le matrici [S],[Q] ed [R] devono rispettare le seguenti condizioni: Condizione 1. [S], [Q]ed[R] devono essere simmetriche Dimostrazione. Il primo motivo è di tipo puramente matematico; si dimostra che se non fossero simmetriche non arriverei alla soluzione del problema. Il secondo motivo è di tipo fisico e logico; ad esempio consideriamo un sistema a due stati x1 e x2 , e scriviamo {x}T [Q] {x}: · ¸½ ¾ © ª a b x1 x1 x2 = a x21 + b x22 + b x1 x2 + c x1 x2 c d x2 Luca Rancati [email protected] 2 Teoria dei sistemi e del controllo Controllo ottimo ma se dico che il termine x1 x2 ha importanza b e poi c è uguale dire che ha importanza (b + c)/2 e la matrice [Q] sarebbe: " # (b+c) a 2 [Q] = (b+c) d 2 cioè simmetrica. Lo stesso vsle per le altre due matrici. Condizione 2. [Q], [S] sono semidefinite positive, cioè: ( [Q] ∈ <(n × n) : ∀ {v} ∈ <n =⇒ {v}T [Q] {v} ≥ 0 [S] ∈ <(n × n) : ∀ {v} ∈ <n =⇒ {v}T [S] {v} ≥ 0 Condizione 3. [R] è definita positiva, cioè: [R] ∈ <(p × p) : ∀ {v} ∈ <p =⇒ {v}T [R] {v} > 0 Un ulteriore passo è considerare che le variabili che compaiono in 5 non sono indipendenti ma ho un problema di minimo vincolato ed il vincolo è l’equazione della dinamica del sistema: ẋ = A x + B u Inserisco questo vincolo utilizzando la tecnica dei moltiplicatori di Lagrange ed ottengo: J= 1 1 {xf }T [S] {xf } + 2 2 Z tf ({x}T [Q] {x} + {u}T [R] {u} + 2 λT (ẋ − A x − B u)) dt t0 (6) in cui λT è un vettore colonna. Ora eseguiamo le derivate rispetto ogni variabile presente nella relazione 6 e le poniamo uguali a zero per la ricerca del minimo. Le derivate sono fatte rispetto a vettori, quindi come risultato ottengo vettori. Condizione 4. derivata rispetto a λT ∂J = ∂ λT Z tf (ẋ − A x − B u) dt = 0 =⇒ ẋ − A x − B u = 0 =⇒ ẋ = A x + B u t0 cioè trovo che nella condizione di ottimo il sistema si comporta come se stesso. Condizione 5. derivata2 rispetto a uT ∂ JT = ∂ uT Z tf (R u − B T λ) dt = 0 =⇒ R u − B T λ = 0 =⇒ u = R−1 B T λ t0 quindi la condizione effettiva di ottimo impone che u sia proporzionale al moltiplicatore λ. Condizione 6. derivata rispetto a xT 2J è uno scalare, quindi il trasposto è uguale a J. Luca Rancati [email protected] 3 Teoria dei sistemi e del controllo Controllo ottimo Prima elaboriamo il termine λT ẋ integrando per parti: Z tf Z tf λT ẋ dt = λTf xf − λT0 x0 − λ̇T x dt t0 t0 lo metto in J e calcolo: Z tf ∂ JT = (Q x−AT λ−λ̇) dt = 0 =⇒ Q x−AT λ−λ̇ = 0 =⇒ λ̇ = −AT λ + Q x ∂ xT t0 che è l’altra condizione di ottimo da aggiungere alla dinamica del sistema. La dinamica del sistema controllato diventa: T λ̇ = −A λ + Q x (7) u = R−1 B T λ −1 T ẋ(t) = A x + B R B λ che scritto in forma matriciale diventa: ½ ¾ · ¸½ ¾ ẋ A B R−1 B T x = λ Q −AT λ̇ Questo sistema non posso integrarlo se non ho una condizione iniziale o finale su λ. Di solito ho la condizione iniziale per x e la condizione finale per λ che deriva dall’aver posto nulla la derivata di J rispetto ad xf che è lo stato finale. Volendo fare un controllo proporzionale allo stato x devo impore che il moltoplicatore λ sia propozionale ad x ovvero sia: λ=Px visto che all’inizio era u=Kx Con questa sostituzione il sistema 7 diventa: ( ẋ = (A + B R−1 B T P ) x λ = P x =⇒ λ̇ = Ṗ x + P ẋ ≡ −AT P x + Q x (8) Dalla seconda equazione ricavo Ṗ : Ṗ = −AT P + Q − P A − P B R−1 B T P Equazione di Riccati (9) La soluzione di questa equazione è una matrice simmetrica e definita positiva; risolvere questa equazione significa trovare P e quindi la K ottima per il controllo3 . Per risolverla mi manca la condizione iniziale; Per trovare la condizione iniziale per P riscrivo la funzione J con le nuove informazioni trovate: u = R−1 B T P x =⇒ uT R u = (P B R−1 B T P ) x sostituisco e ottengo: Z Z 1 1 tf T 1 1 tf T J = xTf S xf + (x Q x+uT R u) dt = xTf S xf + x (Q+P B R−1 B T P ) x dt 2 2 t0 2 2 t0 3 dalle condizioni di ottimoè: u = R−1 B T λ = R−1 B T P x =⇒ K = R−1 B T P (t) Luca Rancati [email protected] 4 Teoria dei sistemi e del controllo Controllo ottimo in questa equazione sostituisco al posto di Q quello che ricavo dall’equazione di Riccati: Q = Ṗ + AT P + P A + P B R−1 B T P ottengo: J= 1 T 1 x S xf + 2 f 2 Z tf xT [Ṗ +P (A+B R−1 B T P )+(AT +P B R−1 B T ) P ] x dt t0 Vedo che per il termine sotto l’integrale vale la seguente proprietà: Rt Definizione 1. t0f xT [Ṗ +P (A+B R−1 B T P )+(AT +P B R−1 B T ) P ] x dt = R tf d T (x P x) dt t0 dt Dimostrazione. Z tf d T (x P x) dt dt t0 Z tf = t0 tf (ẋT P x + xT Ṗ x + xT P ẋ) dt Z = xT (P B R−1 B T P + AT P + P A + P B R−1 B T P − t0 T A P − P A + Q − P B R−1 B T P ) x dt Z tf = xT (P B R−1 B T P + AT P + P B R−1 B T P − P A + Ṗ ) x dt t0 Dimostrato che sono uguali la funzione J si può scrivere come: Z 1 T 1 tf d T 1 1 t J = xf S xf + (x P x) dt = xTf S xf + [xT P x]tf0 2 2 t0 dt 2 2 e quindi: 1 T 1 1 x S xf + xTf Pf xf − xT0 P0 x0 2 f 2 2 Come anticipato in precedenza la condizione al contorno per l’equazione di Riccati deve essere: J= Condizione 7. ∂J ∂ xT f = (S + Pf ) xf = 0 =⇒ ∀ xf 6= 0 =⇒ Pf = −S Con questa condizione posso risolvere l’equazione di Riccati e questa forma è particolarmente importante se il sistema deve arrivare in un punto preciso ad un determinato tf . Se si volesse fare un controllo per un tempo sufficientemente grande da poterlo considerare infinito, allora automaticamente xf deve essere zero e la funzione J diventa: Z 1 ∞ T (x Q x + uT R u) dt Regolatore lineare quadratico: LQR J∞ = 2 t0 L’equazione di Riccati non è più differenziale ma algebrica in quanto Ṗ = 0 da cui segue che la matrice K è costante. Luca Rancati [email protected] 5 Teoria dei sistemi e del controllo Controllo ottimo Esempio di applicazione Ad esempio prendo uno dei coefficienti della matrice P =⇒ P1 . Se il controllo è fatto per un tempo finito allora l’azionedi controllo per t = tf si esaurisce; cioè per t = tf trovo la condizione finale per P1 . Se risolvo l’equazione di Riccati all’indietro, avendo la condizione finale, risalgo alla condizione iniziale e da tf a t0 devo vedere che l’andamento di P1 (t) sia quello di un sistema asintoticamente stabile. Tutto questo visto su un tempo lungo porta a concludere che P può essere considerata costante; o meglio se il transitorio si esaurisce subito rispetto a tf posso pensare che si tratti di un problema con tf → ∞, cioè risolvo l’equazione di Riccati algebrica. ora torniamo al sistema che avevamo trovato in precedenza: ½ ¾ · ¸½ ¾ ẋ A B R−1 B T x = T λ Q −A λ̇ con: · ¸ A B R−1 B T [N ] = =⇒ matrice simplettica Q −AT Quindi in N gli autovalori compaiono a coppie di segno opposto (es. z1 e − z1 ). Se N ha autovalori distinti posso applicare il seguente metodo: scrivo N come: [N ] = [U ] [Z] [V ] in cui U è la matrice degli autovettori di N e V = U −1 ; Z è una matrice diagonale in cui sulla diagonale vi sono gli autovalori di N . Il sistema diventa: ½ ¾ · ¸· ¸· ¸½ ¾ ẋ u11 u12 z1 0 v11 v12 x = u u 0 z v v λ λ̇ 21 22 2 21 22 Posso dire che z1 rappresenta la parte di sistema con autovalori a parte reale negativa, quelli a cui corrisponde soluzione stabile e z2 quelli a parte reale maggiore di zero a cui corrisponde una soluzione instabile; infatti associo z1 alla dinamica del sistema controllato che è stabile e z2 alla dinamica del moltiplicatore λ che visto in avanti nel tempo è instabile, all’indietro è stabile analogamente all’esempio di P1 ; infatti con il moltiplicatore λ ricavo la condizione finale del controllo e poi integro all’indietro per risalire alla condizione iniziale. Il sistema, una volta svolti i prodotti tra le matrici divanta: ( ẋ = u11 z1 (v11 x + v12 λ) + u12 z2 (v21 x + v22 λ) (10) λ̇ = u21 z1 (v11 x + v12 λ) + u22 z2 (v21 x + v22 λ) la cui soluzione è: ( x(t) = u11 ez1 t (v11 x0 + v12 λ0 ) + u12 ez2 t (v21 x0 + v22 λ0 ) λ(t) = u21 ez1 t (v11 x0 + v12 λ0 ) + u22 ez2 t (v21 x0 + v22 λ0 ) ma visto che il sistema che descrive la dinamica controllata per x deve essere stabile, significa che il termine con z2 deve essere nullo e cioè: −1 u12 ez2 t (v21 x0 + v22 λ0 ) = 0 =⇒ v21 x0 + v22 λ0 = 0 =⇒ λ0 = −v22 v21 x0 Luca Rancati [email protected] 6 Teoria dei sistemi e del controllo Controllo ottimo Quindi con questo valore per λ0 si annullano nelle due soluzioni i termini contenenti z2 . Per cui ottengo: ( ( x(t) = u11 ez1 t (v11 x0 + v12 λ0 ) x(t) = u11 ez1 t b0 =⇒ λ(t) = u21 ez1 t (v11 x0 + v12 λ0 ) λ(t) = u21 ez1 t b0 Ora si ricava: ( −1 z1 t u−1 11 b0 x = e −1 λ = u21 u11 x =⇒ λ = P x =⇒ P = u21 u−1 11 Ho trovato P soluzione dell’equazione di Riccati in cui compaiono i termini corrispondenti agli elementi della matrice degli autovettori corrispondenti agli autovalori a parte reale negativa. Questo era il caso in cui il tempo di controllo era infinito, stato finale nullo e P costante; nota P è nota la matrice K: K = R−1 B T P Però devo ancora vedere come costruire le matrici Q ed R, S lo considero nullo. Il fatto che R debba essere definita positiva significa pesare tutti gli ingressi del sistema. 4 Q semidefinita positiva significa che posso dare peso nullo ad una parte dello stato. Definizione 2. sistema stabile =⇒ se Q = 0 → non peso lo stato x ⇒ u = K x ⇒ ∀ R ∈ <(p× p) K = 0 ovvero il sistema non ha bisogno di essere controllato. Definizione 3. sistema non stabile =⇒ se Q = 0 → non peso lo stato x ⇒ u = K x ⇒ ∀ R ∈ <(p× p) K : controllo la parte instabile di sistema. Ci sono dei criteri per costruire Q e R. Criterio energetico Applicazione: Oscillatore armonico Il modello agli stati di un oscillatore armonico è: ½ ¾ · ¸½ ¾ · ¸ © ª ẋ 0 1 ẋ 0 f = + ẍ −k/m −c/m ẍ 1/m Utilizzare il criterio energetico significa minimizzare l’energia di controllo e l’energia del sistema; l’energia del sistema è data dallo stato e pari alla cinetica sommata alla potenziale: · ¸ 1 1 k 0 E = m ẋ2 + k x2 =⇒ Q = 0 m 2 2 L’energia di controllo è: Ec = f 2 =⇒ R = [1] ρ 4 non ha senso dire che un ingresso non pesa nulla, esso c’è. Luca Rancati [email protected] 7 Teoria dei sistemi e del controllo Controllo ottimo Modello di riferimento Se al sistema da controllare posso associare un sistema modello che è simile ma con comportamento voluto, posso cercare di minimizzare la differenza tra le due dinamiche: ẋ = A x + B u =⇒ sistema da controllare x˙m = Am xm + Bm u =⇒ sistema modello di riferimento Allora nel problema di ottimo su tempo infinito possiamo scrivere la funzion e J come: Z ∞ J= (x˙m − ẋ)T Q̄ (x˙m − ẋ) dt (11) 0 Sul modello ho una dinamica imposta, che soddisfi le specifiche, facendo cosı̀ forziamo il sistema originale a comportarsi come un altro sistema noto. Sostituendo ottengo: Z ∞ T J= (uT Bm + xTm ATm − uT B T + xT AT ) Q̄ (Bm u + Am x − A x − B u) dt 0 Per ricondurmi alla forma: Z J= ∞ (xT Q x + uT R u) dt 0 basta porre: T Q = (Am − A) Q̄ (Am − A) R = (Bm − B)T Q̄ (Bm − B) W = (Bm − B)T Q̄ (Am − A) otterremo: Z J= ∞ (xT Q x + uT R u + 2 uT W x) dt 0 Si nota che: Definizione 4. 2 uT W x = uT W x + xT W T u Ora si esegue una trasformazione per eliminare la dipendenza dai termini misti di questo tipo: Definizione 5. Definisco u = ū − R−1 W x cioè dico che l’ingresso u è proporzionale ad una parte libera ū sottratta di una parte fissata R−1 W x; devo quindi calcolare la ū. La dinamica del sistema diventa: ẋ = (A − B R−1 W ) x + B ū Ora con la nuova espressione di u minimizzo J ottenendo: Z ∞ J= (xT Q x + uT R u + xT W T R−1 W x 0 −xT W T R−1 W x − ūT W x − xT W T u+ ūT W x + xT W T u − xT W T R−1 W x) dt Luca Rancati [email protected] 8 Teoria dei sistemi e del controllo Controllo ottimo Semplificando si ottiene: Z ∞ J= [xT (Q − W T R−1 W ) x + ūT R ū] dt (12) 0 ed ora questa forma per J sappiamo risolverla; poniamo: Q̄ = Q − W T R−1 W e otteniamo: Z ∞ J= [xT Q̄ x + ūT R ū] dt (13) 0 Inserendo i vincoli come prima si trova che nella condizione di ottimo il sistema si comporta come se stesso; ora la dinamica del sistema è: ẋ = (A − B R−1 W ) x + B ū ⇒ ẋ = Ā x + B ū ⇒ vincolo La soluzione per u è analogamente a prima: ū = R−1 B T P x ⇒ u = R−1 (B T P − W ) x Cioè posso arrivare ancora all’equazione di Riccati ma con le matrici Ā,B,Q̄ ed R; trovo cosı̀ K: K = R−1 (B T P − W ) (14) con P soluzione dell’equazione di Riccati modificata. Per W = 0 riottengo il caso precedente. Funzione J con le uscite Partiamo sempre dal sistema dinamico lineare a tempo continuo e tempo invariante: ( ẋ(t) = A x(t) + B u(t) y(t) = C x(t) + D u(t) e ad esempio voglio minimizzare le accelerazioni; le accelerazioni non compaiono nello stato ma nell’uscita è possibile. Allora una possibile forma per la funzione J è la seguente: Z ∞ J= (y T Q̄ y + uT R̄ u) dt (15) 0 sostituendo y = C x + D u otteniamo: Z ∞ [xT C T Q̄ C x + uT (R̄ + DT Q̄ D) u + 2 uT (DT Q̄ C) x] dt J= 0 Questo è analogo al problema visto prima per il modello di riferimento, basta porre: T Q = C Q̄ C R = R̄ + DT Q̄ D W = DT Q̄ C A questo punto si calcola Ā e Q̄ come prima5 , si risolve l’equazione di Riccati modificata e si trova K. Se il sistema fosse proprio avremmo D = 0 ed il problema avrebbe solo le matrici Q ed R. 5 dalla nuova definizione di u Luca Rancati [email protected] 9 Teoria dei sistemi e del controllo Controllo ottimo Matrici dei pesi relativi Un altro modo per ricavare Q̄ e R̄ è quello di costruirle come matrici diagonali in cui lungo la diagonale vi sono gli inversi dei quadrati del massimo valore che associo ad una determinata grandezza; questi massimi sono dei valori di riferimento che utilizzo per dare una forma alle prestazioni del sistema.6 La forma simbolica di tali matrici è: 1/y12max · · · 0 1/u21max · · · 0 .. .. .. .. .. .. [Q̄] = e [R̄] = . . . . . . 0 1/yp2max ··· 0 ··· 1/u2mmax La funzione J può allora essere scritta nel seguente modo considerando che: T y Q̄ y = p X yi2 y2 i=0 imax Z ∞ J= p X ( 0 i=0 e yi2 yi2max T u R̄ u = + m X j=0 m X u2j 2 ujmax j=0 u2j u2jmax ) dt (16) In questo caso nessuno garantisce che le grandezze non superino i velori massimi di riferimento; questo non è un problema di minimo vincolato dalle grandezze di riferimento ma è solo un modo per dare un peso relativo alle grandezze.7 Limitazione del comando Visto che un generico attuatore ha una sua dinamica interna, sicuramente avrà una saturazione, ovvero raggiunta la forza massima che può dare resta costante all’aumantare dell’input. Quindi quello che si vuole ottenere è una limitazione della forza massima e della rapidità di variazione della stessa. La limitazione della forza massima era già presente con la matrice R, devo aggiungere un termine proporzionale ad u̇ ottenendo: Z ∞ J= (y T Q y + uT R u + u̇T N u̇) dt (17) 0 ma se u = K x =⇒ u̇ = k ẋ allora visto che ẋ = A x + B u riesco a legare la derivata di u alla x e u. La posizione dei poli in anello chiuso Avendo visto in generale come si può procedere per ricavare le matrici Q ed R, è possibile risolvere il problema di ottimo Z ∞ J= (xT Q x + uT R u) dt 0 con i metodi visti in precedenza. Dopo la soluzione ho il sistema controllato da un ingresso proporzionele allo stato attraverso la matrice K; la posizione 6 ad esempio un limite che pongo all’accelerazione che se ad esempio yi = yimax nell’integrale ho peso 1 7 dico Luca Rancati [email protected] 10 Teoria dei sistemi e del controllo Controllo ottimo dei poli in anello chiuso diventa una conseguenza della scelta di Q e R; con un controllo basato sul posizionamento dei poli imponiamo noi un’inviluppo esponenziale della risposta e di conseguenza troviamo il comando da dare; nel problema di ottimo fino ad ora visto siamo in grado di calcolare il comando ottimo 8 ma perdiamo il concetto di posizione dei poli. Se vogliamo recuperare l’informazione di decadimento esponenziale della risposta ad esempio eα t cerco di mettere insieme le due cose. Se cerchiamo risolvere il problema di ottimo non per lo stato x ma per uno stato x̄ = x eα t , se riusciamo a garantire che questo nuovo stato sia asintoticamente stabile, visto che la soluzione x lo era, allora questo stato x̄ sarà più stabile e la risposta sarà contenuta nell’inviluppo esponenziale. Introduco: x̄ = x eα t e ū = u eα t Otteniamo: Z ∞ Z J= e2 α t (xT Q x + uT R u) dt =⇒ J = 0 ∞ (x̄T Q x̄ + ūT R ū) dt 0 Risolvendo il problema di ottimo per questa funzione troviamo ū = K x̄ legge di controllo che stabilizza la dinamica di x̄ ma essendo x̄ = x eα t =⇒ x = e−α t x̄ ottengo la seguente dinamica per x̄: ẋ = A x + B u quindi: ma ẋ = e−α t x̄˙ − α e−α t x̄ e−α t x̄˙ − α e−α t x̄ = A e−α t x̄ + B e−α t ū x̄˙ = (A + α I) x̄ + B ū Con queste matrici trovo l’equazione di Riccati e trovo K; Essendo ū = K x̄, la dinamica in anello chiuso per x̄ diventa: x̄˙ = (A + α I) x̄ + B ū ⇒ ū = K x̄ =⇒ x̄˙ = (A + α I + B K) x̄ A maggior ragione la x sarà asintoticamente stabile con α che ne identifica il decadimento esponenziale. 8 relativamente alla funzione che abbiamo scelto di mimimizzare Luca Rancati [email protected] 11