CAPITOLO 4
PROGETTO DEI CONTROLLORI
4.1 Introduzione
Nei precedenti capitoli sono state introdotte le problematiche relative alla struttura delle sospensioni e alla modellizzazione delle stesse; sono, infine, stati introdotti i parametri di valutazione della bontà di una sospensione e quindi del suo sistema di controllo.In questo capitolo verranno presentati i controllori veri e propri, se ne spiegherà il funzionamento e si metteranno a punto delle procedure per il loro progetto, che sarà esemplificato in un caso particolare, grazie a cui sarà possibile fare dei confronti quantitativi tra i vari controllori.
Le sospensioni semi‐attive e il relativo sistema di controllo possono essere schematizzate come segue:
Figura 4.1‐ Struttura MATLAB del sistema Sospensione‐Controllore
Il blocco ammortizzatore comprende la schematizzazione della sospensione a un grado di libertà, come visto nel capitolo 2. La sospensione accetta come ingressi “strada” che rappresenta il profilo stradale, e “controllo” che è il coefficiente di smorzamento variabile impostato dal controllore.
Il controllore a sua volta misura un certo numero di grandezze fisiche n
x x
x1, 2,..., e sulla base di queste decide quale sia il coefficiente di smorzamento da imporre alla sospensione.
4.3 Classificazione dei sistemi di controllo
Per prima cosa, parlando dei sistemi di controllo, essi possono essere suddivisi in due grosse categorie:
Controllori real time: questo tipo di controllori variano in tempo reale il
coefficiente di smorzamento della sospensione, con l’obiettivo teorico di ottimizzare la risposta alle singole sollecitazioni;
Controllori soft computing: l’obiettivo in questo caso non è quello di
ottimizzare la risposta rispetto a una singola sollecitazione ma piuttosto di riconoscere un tipo di profilo stradale e scegliere il coefficiente opportuno tra un set di valori predefiniti.
4.4 La classificazione dei controllori Real Time
La prima classificazione può essere fatta nel modo in cui vengono messi a punto i controllori: il primo modo è la messa a punto su base analitica (derivazione diretta dal modello matematico) il secondo è, invece, la messa a punto tramite metodo “trial and error”.
4.4.1 Messa a punto su base analitica
Questo sistema di messa a punto si basa sul principio seguente: messa a punto di un controllore di tipo ottimo per una sospensione attiva e perciò modellabile con un sistema lineare: si ottiene quindi la forza che l’attuatore dovrebbe esercitare istante per istante. Successivamente bisogna trasformare tale forza in un coefficiente valido per sospensioni semi‐attive mediante un procedimento detto clipping. Tale procedimento consiste nel fare si che la forza esercitata dalla sospensione semi‐attiva sia
nulla quando l’attuatore attivo fornisce energia. Se si considera lo schema della sospensione semi‐attiva in figura: Figura 4.2 ‐ Sistema Skyhook Reale attivo ativo semi F F − =
se
Fam⋅Vrel ≤00 = am F
se
Fam⋅Vrel >0in cui Vrel è la velocità relativa (di compressione o estensione) della sospensione. Si consideri che il passaggio da attivo a semi‐attivo implica un passaggio da sistema lineare a non lineare. Questo significa che la risposta in frequenza, nella sua definizione classica, perde significato e quindi sarà necessario testare il controllore su un numero sufficientemente ampio di profili stradali rappresentativi.
4.4.2 Messa a punto tramite “trial and error procedure”
Il concetto di questo tipo di messa a punto consiste nell’ottimizzare i parametri di un controllore in base ai risultati di simulazioni. In determinati controllori, alcuni dei quali ricavati tramite clipping da sistemi attivi, si ha un numero non troppo elevato di parametri: questo permette, sollecitando il sistema con una serie significativa di ingressi, di scegliere il
set di parametri che dà il risultato migliore. L’idea è quindi quella di mandare in ingresso al controllore un vasto numero di strade significative e di scegliere i parametri che forniscono le migliori prestazioni, in base agli indici presentati nel capitolo precedente e che ricordiamo di seguito:
∫
= • = τ τ 0 2 2 2 ( ) 1 t RMS dt y y&& &&∫
= − • = τ τ 0 2 0 1 ) ( 1 t RMS dt y y RHLa procedura che verrà adottata è quindi la seguente: • Definizione di un set di profili di strada opportuno
• Per ogni profilo di strada si calcola il valore dei due indici di prestazione, che chiameremo per semplicità RH e ACC, al variare dei parametri e si costruisce un vettore che li raggruppa • In base alle due relazioni presentate di seguito si costruiscono due matrici dei parametri di merito normalizzati ) max( ) min( ) ( ,..., , ,..., , ,.., , ,... , n j i n j i n j i n j i RH RH RH RH Normal = − ) max( ) min( ) ( ,..., , ,..., , , ,..., , n j i n j i j i n j i ACC ACC ACC ACC Normal = −
• Costruzione di una nuova matrice secondo la seguente relazione: j i j i j
i P Normal ACC P Normal RH Optimal, = * ( ), +(1− ) ( ),
• Scelta del set di parametri che minimizza l’indice di prestazione Optimal
La costruzione della matrice generale Optimal è dovuta alla necessità di mettere insieme due indici tra loro contrastanti: all’aumentare di uno diminuisce l’altro e viceversa. Il parametro P tiene conto del peso che si vuole dare ad ognuno dei due indici ( 0≤ P≤1 ) permettendo quindi una scelta tra una ottimizzazione più votata al comfort o alla tenuta di strada.
L’idea comunemente usata per mettere a punto e quindi testare le sospensioni attive in modo da essere sicuri delle prestazioni per qualsiasi ingresso è quella di confrontare le funzioni di trasferimento del sistema attivo e passivo e fare in modo che le prime siano migliori delle seconde, almeno nel range di frequenze di interesse. Tale tecnica non è purtroppo utilizzabile per le sospensioni semi‐attive per cui non è definibile a rigore la risposta in frequenza, a meno di non definirla per un particolare ingresso, il che riporta al problema di partenza. Se per mettere a punto il controllo si possono usare anche metodi come quello del clipping, rimane comunque la problematica della valutazione della bontà dello stesso. Per questo motivo è accettata, anche in letteratura, l’idea di mandare in ingresso uno o più segnali significativi e confrontare le risposte dei diversi sistemi, riconoscendo (in base a test sperimentali) che il funzionamento per una serie di segnali rappresentativi possa garantire il funzionamento in generale del sistema.
Se, da un lato, tale considerazione giustifica l’utilizzo del metodo numerico di messa a punto lascia ancora aperto un problema: nel passaggio da attivo a semi‐attivo o nell’utilizzo di ingressi non espressamente testati (per il metodo numerico) è garantita, quantomeno, la stabilità del sistema? Fortunatamente il sistema semi‐attivo ha la proprietà di essere intrinsecamente stabile, questo significa che per ogni coefficiente di smorzamento imponibile dal controllore non si potrà mai avere instabilità [15,23].
4.5 Controllori sviluppati con metodi numerici
4.5.1 Prima classificazionePrima di introdurre questi controllori è necessario fare una prima classificazione. Questi possono essere divisi infatti in due categorie: controllo semi‐attivo continuo in cui il coefficiente di smorzamento varia in modo continuo (o comunque per una serie di valori compresi tra un minimo e un massimo) e controllo semi‐attivo On/Off in cui il coefficiente di smorzamento può assumere solo due valori: quello minimo e quello massimo.
4.5.2 Metodo adottato
Per prima cosa presenteremo dei controllori sviluppati con metodo numerico con l’algoritmo descritto in precedenza. Con tale metodo si ottimizzeranno, tramite alcune routine matlab, i parametri liberi di ogni controllore che presenteremo. Per procedere a tale operazione è necessario, a questo punto, decidere quali siano i profili di strada significativi.
4.5.3 Forme d’onda d’ingresso
Una forma di ingresso diffusamente accettata in letteratura è il rumore bianco, che sembra poter approssimare in modo buono le effettive strade che un motoveicolo potrà percorrere [13,11]. Per tale ragione manderemo in ingresso 4 profili di questo tipo per ottimizzare i parametri, in base ai criteri di prestazione definiti precedentemente: i profili sono tutti
più o meno dissestate. I risultati verranno valutati su questi 4 profili su cui i controllori sono stati ottimizzati e su un ulteriore profilo su cui invece non sono stati provati nella fase di ottimizzazione.
I parametri di valutazione scelti sono quelli comunemente accettati in letteratura, tutta via può essere significativo valutare, seppure in modo qualitativo, tramite i grafici, la risposta a gradino per vedere se esistono, ad esempio, picchi di accelerazione (di cui peraltro si tiene conto in modo implicito nei criteri di valutazione).
4.5.4 Sospensione passiva
Per prima cosa bisogna mettere a punto il coefficiente di smorzamento della sospensione passiva. Tale procedura consiste nel cercare il coefficiente di smorzamento che minimizza l’indice di prestazione per ogni profilo, che poi utilizzeremo come riferimento per valutare le prestazioni delle sospensioni semi‐attive. Si considera il coefficiente di smorzamento variabile tra 200 e 3000 N⋅sm e si va a graficare come varia l’accelerazione e la tenuta di strada al variare del coefficiente di smorzamento:
Figura 4.3 ‐ Variazione di tenuta in funzione del coefficiente di smorzamento
Figura 4.4 ‐ Accelerazione in funzione del coefficiente di smorzamento
In figura 4.7 si vede che l’accelerazione aumenta all’aumentare del coefficiente di damping. In figura 4.6 è invece graficata la variazione della forza di aderenza: come si vede la situazione migliora all’aumentare dello smorzamento (minore è la variazione della forza di aderenza, meglio la ruota segue la strada).
(R1‐R4) ottenendo i seguenti risultati: R1 R2 R3 R4 C 600 700 600 500 Si fa la media e si sceglie C=600 come valore di riferimento. 4.5.5 Controllore Skyhook
L’ammortizzatore sky‐hook è un concetto ideale: si pensa ad sistema quarter car con lo smorzatore agganciato al cielo. Più esattamente esso consiste in uno smorzatore connesso alla massa sospesa, in cui il cielo è considerato un punto di riferimento inerziale. Per meglio comprendere lo skyhook lo analizzeremo inizialmente per sospensioni attive generalizzandolo poi a quelle semiattive. L’algoritmo skyhook impone non solo una forza proporzionale alla velocità relativa tra telaio e ruota ma anche una forza esercitata dall’attuatore sul telaio, proporzionale alla velocità assoluta della vibrazione del telaio. In pratica sarà necessario predisporre un accelerometro sul telaio e poi integrare i valori forniti per risalire alla velocità.
Figura 4.5 ‐ Skyhook Ideale e Reale
In Figura 4.5 è mostrato il sistema skyhook ideale e quello reale. Dalle equazioni del primo discende la seguente relazione per la forza esercitata dall’ammortizzatore: Fam(t)=−[Crel ⋅Vrel(t)+Csky⋅Vass(t)]. In cui Vrel e Vass
sono rispettivamente la velocità relativa dell’ammortizzatore e la velocità assoluta della massa sospesa. Dallo schema ideale si passa a quello reale semplicemente notando che Crel ⋅Vrel(t)+Csky ⋅Vass(t)=c(t)⋅w(t) e quindi
)] ( ) ( [c t w t Fam =− ⋅ . Sono quindi stati introdotti due parametri Crel e Csky, su cui possiamo agire per minimizzare le funzioni di prestazione che ci interessano. Inoltre è importante notare che la forza esercitata dalla sospensione è composta da un termine che dipende dalla velocità relativa che dissipa solo energia e un altro termine che può assumere valore non nullo anche quando la velocità relativa è zero. Ciò significa che l’attuatore deve essere capace di esercitare una forza, quindi di fornire un apporto energetico: questo è possibile solo per sospensioni attive. Le sospensioni semiattive, come visto, non sono in grado di fornire energia quindi tale algoritmo va leggermente modificato. Si parla di “clipping”: la forza esercitata dall’attuatore deve essere uguale a quella ottenuta con la
momento in cui ci fosse la necessità di fornire energia. In formule: Fam =−[Crel ⋅Vrel(t)+Csky⋅Vass(t)] se Fam⋅Vrel ≤0 Fam =0 se Fam⋅Vrel >0
Il nostro attuatore in realtà però non fornisce una forza direttamente, ma una corrente in relazione diretta con il coefficiente di smorzamento della sospensione. I α C. Di conseguenza varrà la relazione:
) ( ) (t C V t V C V
Cv⋅ rel = rel ⋅ rel + sky ⋅ ass , la nostra incognita è Cv e quindi si ottiene: ) ( ) ( t V t V C C C rel ass sky rel v = + ⋅ .
Il problema di ottimizzazione numerica si pone quando si cercano i due coefficienti Crel e Csky, applicando la funzione di ottimo già descritta si ottengono i seguenti valori. R1 R2 R3 R4 Crel 600 600 600 600 Csky 3000 2800 3000 2800 Si scelgono quindi: 2800 600 = = sky rel C C
Si riportano in seguito i valori a confronto dei due parametri valutativi sui 4 profili di test e su un profilo random non utilizzato per i test. Passivo R1 R2 R3 R4 R5 RMS(Rh) 0.0011846 0.0030708 0.0011937 0.0030962 0.0038189 RMS(Acc) 0.36189 0.93285 0.33855 0.87408 1.1127 Skyhook RMS(Rh) 0.0011495 0.0029859 0.0011797 0.0030632 0.0037861 RMS(Acc) 0.25365 0.64957 0.25176 0.64892 0.78348
Osservando la tabella si nota come il controllore skyhook riduca le accelerazioni subite dalla massa sospesa e contemporaneamente aumenti la tenuta di strada rispetto alle sospensioni passive. Si ricorda che, come spiegato precedentemente, indici di prestazione minori corrispondono a prestazioni del controllore migliori.
Il controllore, come si vede dalla figura 4.9, è diviso in due sotto controllori, presentati in figura:
Figura 4.7 – Schema del controllore vero e proprio
Questo primo sotto controllore si occupa di fornire il valore della forza dell’algoritmo skyhook semiattivo. La look‐up table serve proprio per mettere a zero la forza quando questa consisterebbe nel fornire energia anziché assorbirla.
Figura 4.8 ‐ Schema del sottocontrollore che traduce la forza in un coefficiente di smorzamento
L’obiettivo di questo sottosistema è di tradurre la forza calcolata dal controllore vero e proprio in un coefficienti di smorzamento da applicare alla sospensione.
Il primo saturatore serve per limitare la dinamica di y& −1 y&2 ad essere
maggiore di zero per non mandare in crisi il divisore. Si noti anche che l’inserimento del valori assoluti non cambia niente dal momento che U e
1 2 y
y& − & , sono sempre dello stesso segno, per la definizione della
sospensione attiva. Il secondo saturatore serve invece per limitare la dinamica del C scelto tra 200‐3000 [Ns/m], valori scelti come limite.
Figura 4.9 ‐ Accelerazione in risposta ad un profilo random: confronto passivo‐ skyhook Figura 4.10 ‐ Variazione di tenuta in risposta ad un profilo random: confronto passivo‐ skyhook
Si riporta inoltre la risposta a un gradino di valore 0.05 metri per vedere come si comporta il controllore rispetto al sistema passivo: Figura 4.11 ‐ Accelerazione in risposta ad un gradino ideale confronto passivo‐skyhook
Figura 4.12 – Variazione di tenuta in risposta ad un profilo random: confronto passivo‐ skyhook
L’idea di questo algoritmo è quella di permettere solo due valori dei coefficienti di smorzamento:
Figura 4.13 ‐ Schema dei coefficienti applicabile in un controllore skyhook On/Off
La determinazione di quando si applichi il C
massimo e quando si applica ilCminimo viene fatta in base alle seguenti relazioni ( definita y&2velocità della
massa sospesa e y&1velocità della massa non sospesa):
Minimo C V y Massimo C V y y y V s rel s rel rel = → ≤ ⋅ = → > ⋅ − = 0 0 2 2 1 2 & & & &
Figura 4.14 ‐ Regole di decisione del controllore Skyhook On/Off
Per capire il funzionamento di questo controllore si faccia riferimento alla figura 4.17.
Quando la velocità relativa della sospensione è positiva la forza della sospensione agisce per tirare giù la massa sospesa, quando è invece negativa la forza della sospensione spinge verso l’alto. Così quando la velocità assoluta della massa è negativa, quest’ultima va verso il basso: è quindi necessario il massimo valore di C se la velocità relativa della sospensione è negativa (freno la caduta della massa), è necessario, invece, il valore minimo di C se la velocità relativa è positiva; viceversa nel caso la velocità assoluta della massa sia positiva.
R1 R2 R3 R4
Cmin 200 200 200 200
Cmax 900 1000 800 900
Si scelgono come valori:Cmin =200,Cmax =900
Con questi valori si ottengono le seguenti prestazioni: Passivo R1 R2 R3 R4 R5 RMS(Rh) 0.0011846 0.0030708 0.0011937 0.0030962 0.0038189 RMS(Acc) 0.36189 0.93285 0.33855 0.87408 1.1127 Skyhook RMS(Rh) 0.0011495 0.0029859 0.0011797 0.0030632 0.0037861 RMS(Acc) 0.25365 0.64957 0.25176 0.64892 0.78348 Sk On/Off RMS(Rh) 0.0010839 0.0028195 0.0011328 0.0029196 0.0036151 RMS(Acc) 0.2827 0.72758 0.2746 0.71128 0.82551 Anche questo algoritmo permette di migliorare tenuta di strada e comfort allo stesso tempo rispetto alle sospensioni passive: le prestazioni sono però peggiori dell’algoritmo skyhook per quanto riguarda il comfort; la tenuta di strada, invece, migliora rispetto allo skyhook.
Figura 4.15 ‐ Schema del controllore skyhook On/Off
La look‐up‐table serve per decidere, tramite lo switch, quale dei due C portare all’ammortizzatore. Si riportano in seguito i grafici comparativi:
Figura 4.16 ‐ Accelerazione in risposta ad un profilo random: confronto passivo‐ skyhook On/Off
Figura 4.17 – Variazione di tenuta in risposta ad un profilo random: confronto passivo‐ skyhook On/Off
Figura 4.18 ‐ Accelerazione in risposta ad un profilo random: confronto skyhook‐ skyhook On/Off
Figura 4.19 – Variazione di tenuta in risposta ad un profilo random: confronto skyhook‐skyhook On/Off Si riporta inoltre la risposta ad un gradino di valore 0.05 metri per vedere come risponde il controllore rispetto al sistema passivo:
Figura 4.20 ‐ Accelerazione in risposta ad un gradino ideale: confronto passivo‐ skyhook On/Off
Figura 4.21 – Variazione di tenuta in risposta ad un gradino ideale: confronto passivo‐ skyhook On/Off
4.5.7 Controllore Skyhook P
Questo algoritmo è un’estensione dell’algoritmo skyhook On/OFF ed è basato sul concetto di voler far assumere un insieme continuo di valori al coefficiente di smorzamento in modo più semplice dell’algoritmo skyhook tradizionale. Il concetto è quello di poter far assumere al coefficiente di smorzamento una serie di valori (tra un minimo e un massimo) in funzione di quanto grande è la velocità della massa sospesa. In formule:
(
)
[
]
}
{
min 2 max 2 min 2 0 , min , max 0 C C V y C y Guad C C V y s rel s rel = → ≤ ⋅ ⋅ = → > ⋅ & & & Figura 4.22 ‐ Grafico dei possibili valori assunti da C nel caso di controllore SkyhookP In questo caso, come mostrato in figura, il controllore può fornire non solo due valori di C, come nel precedente, ma un insieme continuo limitato tra un minimo e un massimo. Il controllore risulta quindi il seguente:Figura 4.23 ‐ Schema del controllore Skyhook P Il risultato della messa a punto numerica è la seguente: R1 R2 R3 R4 Cmin 300 250 300 300 Cmax 2100 1900 2000 2100 Gain 120000 140000 110000 120000
Nella seguente tabella sono riportati o valori comparativi tra i vari controllori: Passivo R1 R2 R3 R4 R5 RMS(Rh) 0.0011846 0.0030708 0.0011937 0.0030962 0.0038189 RMS(Acc) 0.36189 0.93285 0.33855 0.87408 1.1127 Skyhook RMS(Rh) 0.0011495 0.0029859 0.0011797 0.0030632 0.0037861 RMS(Acc) 0.25365 0.64957 0.25176 0.64892 0.78348 Sk On/Off RMS(Rh) 0.0010839 0.0028195 0.0011328 0.0029196 0.0036151 RMS(Acc) 0.2827 0.72758 0.2746 0.71128 0.82551 Skh_P RMS(Rh) 0.001118 0.0027738 0.0011867 0.0029585 0.0036048 RMS(Acc) 0.28908 0.80056 0.2793 0.78869 0.951
Come si vede dai risultati riportati, questo algoritmo presenta le prestazioni peggiori di tutti quelli proposti precedentemente, seppur essendo decisamente migliore delle sospensioni passive.
Si riportano nelle figure successive i grafici comparativi: Figura 4.24 ‐ Accelerazione in risposta ad un profilo random: confronto passivo‐ skyhook P Figura 4.25 ‐ Accelerazione in risposta ad un profilo random: confronto passivo‐ skyhook P
Figura 4.26 ‐ Accelerazione in risposta ad un profilo random: confronto skuhook‐ skyhook P Figura 4.27 – Variazione di tenuta in risposta ad un profilo random: confronto skyhook ‐ skyhook P
Figura 4.28 ‐ Accelerazione in risposta ad un profilo random: confronto skyhook On/Off ‐skyhook P
Figura 4.29 – Variazione tenuta in risposta ad un profilo random: confronto skyhook On/Off‐skyhook P
Figura 4.30 ‐ Accelerazione in risposta ad un profilo random: confronto passivo,skyhook P,skyhook, skyhook On/Off Figura 4.31 – Variazione di tenuta in risposta ad un profilo random: confronto passivo,skyhook P,skyhook, skyhook On/Off
Figura 4.32 ‐ Accelerazione in risposta ad un gradino ideale: confronto passivo ‐ skyhook P
Figura 4.33 ‐ Variazione di tenuta in risposta ad un gradino ideale: confronto passivo ‐ skyhook P
Figura 4.34 ‐ Accelerazione in risposta ad un gradino ideale: confronto skyhook‐ skyhook P Figura 4.35 – Variazione di tenuta in risposta ad un gradino ideale: confronto skyhook ‐ skyhook P
Figura 4.36 ‐ Accelerazione in risposta ad un gradino ideale: confronto skyhook_On/Off ‐ skyhook P
Figura 4.37 – Variazione di tenuta in risposta ad un gradino ideale: confronto skyhook_On/Off ‐ skyhook P
Figura 4.38 ‐ Accelerazione in risposta ad un gradino ideale: confronto skyhook_On/Off,skyhook P, skyhook Figura 4.39 – Variazione di tenuta in risposta ad un gradino ideale: confronto skyhook_On/Off, skyhook P, skyhook
migliore del passivo, notevoli picchi di accelerazione che possono aumentare la sensazione di scomodità avvertita dal guidatore.
4.6 La teoria alla base dello skyhook
Abbiamo presentato, nei paragrafi precedenti, vari controllori basati sull’algoritmo skyhook, o sue varianti, dando per scontata la legge di controllo. Come già spiegato l’algoritmo skyhook nasce per le sospensioni attive e viene riadattato mediante tecnica del clipping a quelle semiattive. Vedremo adesso come effettivamente tale algoritmo possa permettere un miglioramento delle prestazioni, per fare ciò confideremo il caso delle sospensioni attive.
4.6.1 La sospensione passiva
E’ stato visto, su base simulativa, come la variazione del coefficiente di smorzamento della sospensione passiva porti a un inevitabile tradeoff tra tenuta e comfort. Andiamo a dare una giustificazione matematica di questo fatto, prendendo il sistema quarter car a due gradi di libertà.
Figura 4.40 – Schema della sospensione passiva
Come noto le due equazioni del sistema possono essere riassunte come segue:
(
)
(
)
(
)
(
)
(
)
⎩ ⎨ ⎧ = − ⋅ + − ⋅ − − ⋅ − ⋅ = − ⋅ + − ⋅ + ⋅ 0 0 0 2 1 1 2 2 1 2 1 1 1 2 2 1 2 2 2 y y k y y k y y C y m y y k y y C y m & & && & & && Applicando la trasformata di Laplace si ottiene:(
)
(
)
(
)
(
)
(
)
⎪⎩ ⎪ ⎨ ⎧ = − ⋅ + − ⋅ − − ⋅ ⋅ − ⋅ ⋅ = − ⋅ + − ⋅ ⋅ + ⋅ ⋅ 0 ) ( ) ( ) ( ) ( ) ( ) ( ) ( 0 ) ( ) ( ) ( ) ( ) ( 0 1 1 1 2 2 1 2 2 1 1 1 2 2 1 2 2 2 2 s y s y k s y s y k s y s y s C s s y m s y s y k s y s y s C s s y mSostituendo si possono ricavare le funzioni di trasferimento che interessano:
(
)
(
)
(
)
(
)
4 2 1 3 2 1 2 2 1 2 1 2 1 2 1 2 2 2 1 0 1 ) ( ) ( s m m s m m C s m k m m k s k C k k s m s C k k s y s y ⋅ ⋅ + ⋅ + ⋅ + ⋅ ⋅ + + ⋅ + ⋅ ⋅ + ⋅ ⋅ + ⋅ + ⋅ =(
)
(
)
(
)
(
)
4 2 1 3 2 1 2 2 1 2 1 2 1 2 1 2 1 0 2 ) ( ) ( s m m s m m C s m k m m k s k C k k k s C k s y s y ⋅ ⋅ + ⋅ + ⋅ + ⋅ ⋅ + + ⋅ + ⋅ ⋅ + ⋅ + ⋅ ⋅ =(
)
(
)
(
)
(
)
4 2 1 3 2 1 2 2 1 2 1 2 1 2 1 2 2 1 0 2 2 ) ( ) ( s m m s m m C s m k m m k s k C k k s k s C k s y s y s ⋅ ⋅ + ⋅ + ⋅ + ⋅ ⋅ + + ⋅ + ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ = ⋅ Ricordando che: 2 2 2 ) (s y y s ⋅ ←⎯ →Laplace⎯⎯ &&Si può quindi graficare la risposta della sospensione in funzione del coefficiente di smorzamento:
Figura 4.41 ‐ Risposta in frequenza della tenuta di strada per sospensione passiva al variare del coefficiente di smorzamento
Figura 4.42 – Risposta in frequenza dell’accelerazione della massa sospesa per sospensione passiva al variare del coefficiente di smorzamento
4.6.2 L’algoritmo skyhook Come già detto in precedenza l’algoritmo skyhook nasce dall’idea di poter avere uno smorzatore tra la massa sospesa e il cielo. Figura 4.43 ‐ Schema del sistema skyhook ideale
Le equazioni, per questo sistema possono essere espresse nella forma seguente:
(
)
(
)
(
)
(
)
(
)
⎩ ⎨ ⎧ = − ⋅ + − ⋅ − − ⋅ − ⋅ = ⋅ + − ⋅ + − ⋅ + ⋅ 0 0 0 2 1 1 2 2 1 2 1 1 2 1 2 2 1 2 2 2 y y k y y k y y C y m y C y y k y y C y m sky & & && & & & && Facendone la trasformata di Laplace si ottiene:(
)
(
)
(
)
(
)
(
)
⎪⎩ ⎪ ⎨ ⎧ = − ⋅ + − ⋅ − − ⋅ ⋅ − ⋅ ⋅ = ⋅ ⋅ + − ⋅ + − ⋅ ⋅ + ⋅ ⋅ 0 ) ( ) ( ) ( ) ( ) ( ) ( ) ( 0 ) ( ) ( ) ( ) ( ) ( 0 1 1 1 2 2 1 2 2 1 1 2 1 2 2 1 2 2 2 2 s y s y k s y s y k s y s y s C s s y m y s C s y s y k s y s y s C s s y m sky E si possono ricavare le grandezze di interesse:(
)
(
)
(
) (
)
(
)
(
)
(
) (
2)
2 2 2 1 2 1 2 2 2 1 0 2 2 2 2 2 1 2 1 2 2 2 2 2 1 0 1 ) ( ) ( ) ( ) ( s m s C s C k s m s C k k s C k s C k k s y s y s m s C s C k s m s C k k s C k s m s C s C k k s y s y sky sky sky ⋅ + ⋅ + ⋅ + ⋅ ⋅ + ⋅ + + − ⋅ − − ⋅ + − ⋅ = ⋅ + ⋅ + ⋅ + ⋅ ⋅ + ⋅ + + − ⋅ − − ⋅ + ⋅ + ⋅ + ⋅ − =(
)
(
)
(
) (
2)
2 2 2 1 2 1 2 2 2 2 1 0 2 2 ) ( ) ( s m s C s C k s m s C k k s C k s s C k k s y s y s sky⋅ + ⋅ + ⋅ + ⋅ ⋅ + ⋅ + + − ⋅ − − ⋅ ⋅ + − ⋅ = ⋅funzioni di trasferimento della tenuta di strada e dell’accelerazione. Figura 4.44 – Risposta in frequenza dell’accelerazione della massa sospesa per sospensione attiva controllata algoritmo skyhook ideale al variare del coefficiente Csky
Figura 4.45 ‐ Risposta in frequenza della variazione di tenuta per sospensione attiva controllata algoritmo skyhook ideale al variare del coefficiente Csky
Come si nota, all’aumentare di Csky migliorano sia il comfort sia la tenuta
di strada. Questi due grafici mettono in evidenza come, in realtà, il controllo skyhook migliori molto di più il comfort della tenuta; tale osservazione, per altro, è confermata dai dati sperimentali presentati precedentemente.
Nel caso reale lo smorzatore collegato al cielo non ci sarà, sarà invece presente un attuatore che esprimerà proprio la forza calcolata prima:
(
)
(
)
(
)
(
)
(
)
⎩ ⎨ ⎧ = − − ⋅ + − ⋅ − − ⋅ − ⋅ = + − ⋅ + − ⋅ + ⋅ 0 0 0 2 1 1 2 2 1 2 1 1 1 2 2 1 2 2 2 u y y k y y k y y C y m u y y k y y C y m & & && & & && con u=Csky ⋅y&2Facendone la trasformata di Laplace si ottiene:
(
)
(
)
(
)
(
)
(
)
⎪⎩ ⎪ ⎨ ⎧ = ⋅ − − ⋅ + − ⋅ − − ⋅ ⋅ − ⋅ ⋅ = ⋅ ⋅ + − ⋅ + − ⋅ ⋅ + ⋅ ⋅ 0 ) ( ) ( ) ( ) ( ) ( ) ( ) ( 0 ) ( ) ( ) ( ) ( ) ( 2 0 1 1 1 2 2 1 2 2 1 1 2 1 2 2 1 2 2 2 2 y C s y s y k s y s y k s y s y s C s s y m y s C s y s y k s y s y s C s s y m sky sky &(
)
(
)
(
) (
)
(
)
(
)
(
) (
)
⎪ ⎪ ⎩ ⎪ ⎪ ⎨ + + + ⋅ + + + + − − − ⋅ − − − + + + − = + + + ⋅ + + + + − − − ⋅ − − − 2 2 1 2 2 1 2 2 2 2 1 2 1 0 1 2 2 1 2 2 1 2 2 2 0 ) ( ) ( ) ( ) ( s m Cs k k s m s C Cs k s C Cs k Cs k s m s C Cs k k s y s y s m Cs k k s m s C Cs k s C Cs k Cs k s y sky sky sky sky sky Figura 4.46 ‐ Risposta in frequenza dell’accelerazione della massa sospesa per sospensione attiva controllata algoritmo skyhook reale al variare del coefficiente Csky
Figura 4.47 ‐ Risposta in frequenza della variazione di tenuta per sospensione attiva controllata algoritmo skyhook reale al variare del coefficiente Csky
Anche in questo caso la sospensione attiva controllata con algoritmo skyhook reale migliora le prestazioni in termini di tenuta di strada e comfort. All’aumentare del coefficiente Csky le prestazioni migliorano, si noti altresì che un aumento del coefficiente Csky implica una maggiore energia che l’attuatore deve essere in grado di fornire o dissipare.
Presenteremo adesso dei controllori ottimi, sempre tarati su sospensioni attive, che verranno progettati applicando la tecnica di clipping. Prendiamo in esame, come sempre, il ben noto sistema lineare che modella una sospensione attiva. Figura 4.48 ‐ Schema della sospensione Attiva 0 ) ( 2 1 2 1 1⋅y −k ⋅ y −y +F−Fd = m &&
0 ) ( 2 1 2 2 2 ⋅y +k ⋅ y − y +Fd = m &&
,
F =k1⋅(y1− y0),
U F = (forza esercitata dall’attuatore attivo)4.7.1 Controllore H2 Per capire il funzionamento di questo controllore il sistema va visualizzato come in figura 4.54. Figura 4.49 ‐ Schema del sistema e del controllo H2
Le c sono le variabili di controllo, il controllore (F) con questi ingressi decide qual è il valore delle variabili di controllo(u2) istante per istante, essa rappresenta, nel nostro caso, il valore di forza esercitata dall’attuatore della sospensione attiva. Le z rappresentano le grandezze la cui norma due verrà minimizzata, e sono generalmente quelle su cui si valuta la bontà del controllo. Infine, u1 rappresenta l’ingresso proveniente dall’esterno, nel nostro caso la strada. In altri termini, definita : ) ( ) ( ) ( 1 s u s z s T =
quello che realizza il controllo H2 è minimizzare la norma due di tale
funzione di trasferimento, cioè:
[
]
⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ • =∫
∞ ∗ o dw jw T jw T trace s F s T s F ( ( ) ( ) 1 ) ( min : ) ( ) ( min 2 π La risoluzione di tale algoritmo prevede una particolare formulazione del problema in cui il sistema in B x A x&= ⋅ + ⋅(in cui in sono tutti gli ingressi)
matrice P(s): ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 22 21 2 12 11 1 2 1 : ) ( D D C D D C B B A s P
in cui le matrici sono quelle che verificano le seguenti relazioni: ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⋅ + ⋅ = 2 1 2 1 ] [ y y B B x A x&
⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⋅ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ + ⋅ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ 2 1 22 21 12 11 2 1 y y D D D D x C C C Z si ricorda che le z sono le variabili di cui si vuole minimizzare la norma2 mentre le c le variabili di controllo, l’algoritmo infatti calcolerà i coefficienti del controllore in modo che:
[
]
⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ • =∫
∞ ∗ o dw jw T jw T trace s F s T s F ( ( ) ( ) 1 ) ( min : ) ( ) ( min 2 π Si definiscono quindi le 4 variabili di stato [x1,x2,x3,x4] come segue: ⎪ ⎪ ⎪ ⎪ ⎩ ⎪⎪ ⎪ ⎪ ⎨ ⎧ − − − − ⋅ = ⋅ − ⋅ + = ⋅ = = = = ) ( ) ( ) ( 0 1 1 1 2 2 3 1 2 1 2 4 2 1 3 2 4 2 2 1 1 y y k U y y k x m y y k U x m y x y x y x y x & & & &E quindi, a questo punto, si possono definire quali sono le variabili da minimizzare e quali quelle di controllo. ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎧ − = − − − − ⋅ − = = − ⋅ + = = − = = = 2 1 3 2 1 1 2 1 0 1 1 1 3 2 2 1 2 2 2 4 1 0 1 3 4 2 1 ) ( ) ( ) ( x x C y y m k m U y y m k x C y y m k m U x C y x Z x Z U Z & & &
Si scelgono come variabili da minimizzare (z) l’accelerazione della massa sospesa e la variazione di tenuta, che sono i parametri di merito e la forza U richiesta all’attuatore: tenendo conto dei suoi limiti fisici (e di quelli della sospensione semi‐attiva quando ci sarà il clipping). Il vantaggio di questo algoritmo è il fatto che prevede di poter definire indipendentemente le variabili da minimizzare rispetto a quelle di controllo, questo ha permesso di scegliere come ingressi del controllore grandezze che fossero facilmente misurabili (y&&2,y&&1,y2 −y1).
Le matrici appena descritte risultano definite come segue: ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − + − = 0 0 0 0 ) ( 1 0 0 0 0 1 0 0 2 2 2 2 1 2 1 2 1 m k m k m k m k k A
;
⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 0 0 0 1 1 1 m k B;
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = 2 1 2 1 1 0 0 m m B;
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = 0 0 0 1 0 0 0 0 0 0 2 2 2 1 1 m k m k C⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − = 1 0 0 11 D
;
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 0 2 1 1 12 m D;
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = 0 1 1 1 2 22 m m D;
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 0 0 1 1 21 m k D;
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − + − − = 0 0 1 1 0 0 ) ( 0 0 1 2 1 2 1 2 2 2 2 2 m k m k k m k m k CAffinché l’algoritmo converga sono stati inseriti altri 2 ingressi fittizi (che verranno mantenuti a zero). Sono inoltre stati dati dei pesi diversi alle variabili da minimizzare in modo da ottenere il risultato voluto. Le funzioni “peso” che possono essere assegnate alle variabili possono essere molto complesse ma, nel nostro caso ci si è limitati, per semplicità, ad un guadagno costante.
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − = 0 0 714 . 59 714 . 59 0 0 19 . 674 7 . 8738 1 0 0 0 0 1 0 0 A
;
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 33576 . 0 072059 . 0 0 85796 . 0 96137 . 0 5 . 8064 29198 . 0 42223 . 0 0 55341 . 0 73265 . 0 0 1 B;
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = 0028571 . 0 032258 . 0 0 0 2 B;
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − = 0 0 0 200 0 0 714 . 59 714 . 59 0 0 0 0 1 C;
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − − − = 0 0 1 1 0 0 19 . 674 7 . 8738 0 0 714 . 59 714 . 59 2 C;
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − = 0 0 1 0 0 0 0 0 0 11 D;
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 0 0.0028571 0.0005 12 D;
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − = 0 0 1 0 0 0 0 0 0 11 D;
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 0 0.032258 -0.0028571 22 D;
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 0.56246 0.35666 0 0.43444 0.053444 8064.5 0.4983 0.6802 0 21 D;
Con questi valori si è ottenuto un controllore così definito: u D x C y u B x A x c c c c + = + = &le matrici che compaiono nelle due equazioni sono : ; 7.2591 -9.1893 4.4075 5.4865 2.5905 3.2793 -1.216 -0.95792 -26.579 -34.033 12.86 20.854 49.14 62..593 -23.466 -37.922 -c ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = A
⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⋅ ⋅ ⋅ = 0.93953 0.8022 -0.057542 -0.055391 10 1.5102 -1 10 1.9353 -10 1.9353 -0.38669 -1.7554 0.65091 1.0481 8 -6 --6 c B
;
[
-8260 13954 653.83 -1832.2]
= c C;
Dc =[0 0 0];
Il controllore così ottenuto è però attivo e ideale: per renderlo semi attivo si pone la relazione per cui la forza dell’attuatore Fam è U Fam = se Fam⋅Vrel ≤0 0 = am F se Fam⋅Vrel >0Per renderlo reale si inserisce una saturazione della forza : umin ≤U ≤umax e
si inverte la relazione U =C⋅Vrel, come già visto per lo skyhook. Da cui si ottiene:
rel V
U
C = a cui va aggiunta l’ulteriore condizione Cmin ≤C≤Cmax
Si ottengono i seguenti risultati: Passivo R1 R2 R3 R4 R5 RMS(Rh) 0.0011846 0.0030708 0.0011937 0.0030962 0.0038189 RMS(Acc) 0.36189 0.93285 0.33855 0.87408 1.1127 Skyhook RMS(Rh) 0.0011495 0.0029859 0.0011797 0.0030632 0.0037861 RMS(Acc) 0.25365 0.64957 0.25176 0.64892 0.78348 Sk On/Off RMS(Rh) 0.0010839 0.0028195 0.0011328 0.0029196 0.0036151 RMS(Acc) 0.2827 0.72758 0.2746 0.71128 0.82551 Skh_P RMS(Rh) 0.001118 0.0027738 0.0011867 0.0029585 0.0036048 RMS(Acc) 0.28908 0.80056 0.2793 0.78869 0.951 H2 RMS(Rh) 0.0011484 0.0029812 0.0011767 0.0030449 0.0037788 RMS(Acc) 0.24801 0.63481 0.2451 0.6315 0.75624
Il controllore H2 permette delle prestazioni migliori rispetto agli altri controllori, a fronte di una notevole complessità computazionale. Un altro vantaggio di questo algoritmo è che sono state scelte le grandezze di controllo disponibili direttamente dai sensori, senza aver bisogno di operazioni di integrazione o derivazione.
Figura 4.51 – Accelerazione della massa sospesa in risposta ad un profilo random: confronto H2 ‐ passivo
Figura 4.52 – Variazione di tenuta in risposta ad un profilo random: confronto H2 ‐ passivo.
Figura 4.53‐ Accelerazione della massa sospesa in risposta ad un profilo random: confronto H2 ‐ Skyhook. Figura 4.54 – Variazione di tenuta in risposta ad un profilo random: confronto H2 ‐ Skyhook
Figura 4.55 ‐ Accelerazione della massa sospesa in risposta ad un profilo random: confronto H2 ‐ skyhook On/Off
Figura 4.56 – Variazione di tenuta in risposta ad un profilo random: confronto H2 ‐ Skyhook On/Off
Figura 4.57 ‐ Accelerazione della massa sospesa in risposta ad un profilo random: confronto H2 ‐ Skyhook P Figura 4.58 – Variazione di tenuta in risposta ad un profilo random: confronto H2 ‐ Skyhook P
Figura 4.59 ‐ Accelerazione della massa sospesa in risposta ad un profilo random: confronto H2, passivo, Skyhook, Skyhook P, Skyhook On/Off
Figura 4.60 – Variazione di tenuta in risposta ad un profilo random: confronto H2, passivo, Skyhook, Skyhook P, Skyhook On/Off
Figura 4.61 ‐ Accelerazione della massa sospesa in risposta ad un gradino ideale: confronto H2 ‐ passivo Figura 4.62 – Variazione di tenuta in risposta ad un gradino ideale: confronto H2 ‐ passivo
Figura 4.63 ‐ Accelerazione della massa sospesa in risposta ad un gradino ideale: confronto H2 ‐ Skyhook
Figura 4.64 – Variazione di tenuta in risposta ad un gradino ideale: confronto H2 ‐ Skyhook
Figura 4.65 ‐ Accelerazione della massa sospesa in risposta ad un gradino ideale: confronto H2 – Skyhook On/Off Figura 4.66 – Variazione di tenuta in risposta ad un gradino ideale: confronto H2 – Skyhook On/Off
Figura 4.67 ‐ Accelerazione della massa sospesa in risposta ad un gradino ideale: confronto H2 – Skyhook P
Figura 4.68 – Variazione di tenuta in risposta ad un gradino ideale: confronto H2 – Skyhook P
Figura 4.69 ‐ Accelerazione della massa sospesa in risposta ad un gradino ideale: confronto H2, passivo, skyhook, Skyhook P Figura 4.70 – Variazione di tenuta in risposta ad un gradino ideale: confronto H2, passivo, skyhook, Skyhook P
4.7.2 Controllore LQRY
Per controllo LQR si intende trovare una matrice mxn
K∈ℜ che in una contro reazione dello stato minimizza un certo funzionale di costo. Più precisamente, dato il sistema lineare x&= A⋅x+B⋅u+E⋅d, si intende trovare quella matrice K tale che ponendo u=−K⋅x si minimizza il funzionale:
∫
∞ ⋅ ⋅ + ⋅ ⋅ = 0 ) (x Q x u R u dt J T Tdove Q e R sono entrambe matrici semi definite positive. Si può dimostrare che per trovare K si può usare la relazione in forma chiusa P B R K = −1⋅ T ⋅ Dove P è la matrice soluzione dell’equazione di Riccati: 0 1⋅ ⋅ + = ⋅ ⋅ − ⋅ + ⋅ − Q P B R B P A P P AT T Le matrici Q e R possono essere considerate rispettivamente come matrici che danno peso a ciascuno stato e variabile di controllo, variandone quindi i valori si ottengono delle matrici K diverse. Se si scelgono valori di Q grandi rispetto ad R, allora per minimizzare l’indice di prestazione si dovranno avere valori piccoli dello stato x, mentre si potranno avere valori grandi per le variabili di controllo u; viceversa accade nel caso in cui si abbiano valori di R grandi rispetto a Q. Prendiamo in esame il sistema linearizzato utilizzato anche per il controllore H2 : 0 ) ( 2 1 2 1 1⋅y −k ⋅ y − y +F −Fd = m && 0 ) ( 2 1 2 2 2⋅y +k ⋅ y −y +Fd = m && ,
con F =k1⋅(y1 −y0) e Fd = forzaattuatore e definiamo le variabili di stato come fatto precedentemente: ⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ = = = = 2 4 1 3 2 2 1 1 y x y x y x y x & & si nota che non è possibile individuare, tra queste, le due variabili quelle che noi vogliamo minimizzare; più precisamente y&&2 e y1−y0 non sono
variabili di stato. Risulta quindi opportuno ricondursi ad un’altra definizione delle variabili di stato di questo sistema: d E u B x A x& = ⋅ + ⋅ + ⋅ in cui avremo ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − = 1 0 1 2 1 2 y y y y y y x & &
e u =Ue d = y&0
Da cui otteniamo il nuovo sistema: o y U m m y y y y y y m k m k m k y y y y y y & & & && & & && & & ⋅ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − + ⋅ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − + ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − ⋅ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 1 2 1 0 1 2 1 2 1 1 1 2 2 2 1 0 1 2 1 2
Tale sistema presenta come variabili di stato y1− y0ma non presenta y&&2.
Per risolvere il problema si passa ad un controllo LQRY. Esso è del tutto analogo al controllo LQR ad eccezione del fatto che minimizza il seguente funzionale:
∫
∞ ⋅ ⋅ + ⋅ ⋅ = 0 ) (y Q y u R u dt J T T in questo modo possiamo porre il sistema nella forma seguente: u D x C y u B x A x ⋅ + ⋅ = ⋅ + ⋅ = &prima relazione rimane quella precedentemente scritta, mentre dopo aver posto ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ − = 0 1 2 y y y y && la seconda relazione diventa: 0 2 1 0 1 2 1 2 2 2 0 1 2 0 0 0 1 0 1 0 0 0 0 0 y U m y y y y y y m k y y y & & & && ⋅ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ + ⋅ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ + ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − ⋅ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡− = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ − come matrici peso si sceglie: ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⋅ = 6 9 10 35 0 0 10 Q e R=1 Le matrici così definite diventano: ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = 0 8064.5 -0 674.19 1 0 0 0 0 0 0 59.714 -1 0 1 0 A e ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 0.032258 -0 0.0028571 0 B e ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = 0 1 0 0 0 0 0 59.714 -C e ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = 0 0.0028571 D Si ottiene come soluzione:
[
−13996 1832.7 −6319.8 −676.65]
= KA questo punto, come per il precedente controllore, si rende la sospensione semiattiva e si ricava il valore di C da applicare, ottenendo lo schema complessivo della pagina seguente.
random a confronto con quelli degli altri controllori. Passivo R1 R2 R3 R4 R5 RMS(Rh) 0.0011846 0.0030708 0.0011937 0.0030962 0.0038189 RMS(Acc) 0.36189 0.93285 0.33855 0.87408 1.1127 Skyhook RMS(Rh) 0.0011495 0.0029859 0.0011797 0.0030632 0.0037861 RMS(Acc) 0.25365 0.64957 0.25176 0.64892 0.78348 Sk On/Off RMS(Rh) 0.0010839 0.0028195 0.0011328 0.0029196 0.0036151 RMS(Acc) 0.2827 0.72758 0.2746 0.71128 0.82551 Skh_P RMS(Rh) 0.001118 0.0027738 0.0011867 0.0029585 0.0036048 RMS(Acc) 0.28908 0.80056 0.2793 0.78869 0.951 H2 RMS(Rh) 0.0011484 0.0029812 0.0011767 0.0030449 0.0037788 RMS(Acc) 0.24801 0.63481 0.2451 0.6315 0.75624 LQRY RMS(Rh) 0.0011436 0.0029669 0.24316 0.0030598 0.0037711 RMS(Acc) 0.24343 0.62208 0.0011818 0.62562 0.74161
Il controllore LQRY migliora ancora le prestazioni rispetto a quello H2: tale risultato è giustificato dal fatto che questo algoritmo utilizza più variabili di stato rispetto all’H2.
Figura 4.72 ‐ Accelerazione della massa sospesa in risposta ad un profilo random: confronto LQRY ‐ passivo Figura 4.73 – Variazione di tenuta in risposta ad un profilo random: confronto LQRY ‐ passivo
Figura 4.74 ‐ Accelerazione della massa sospesa in risposta ad un profilo random: confronto LQRY ‐ Skyhook
Figura 4.75 – Variazione di tenuta in risposta ad un profilo random: confronto LQRY ‐ Skyhook
Figura 4.76 ‐ Accelerazione della massa sospesa in risposta ad un profilo random: confronto LQRY – Skyhook On/Off Figura 4.77 – Variazione di tenuta in risposta ad un profilo random: confronto LQRY – Skyhook On/Off
Figura 4.78 ‐ Accelerazione della massa sospesa in risposta ad un profilo random: confronto LQRY – Skyhook P
Figura 4.79 – Variazione di tenuta in risposta ad un profilo random: confronto LQRY – Skyhook P
Figura 4.80 ‐ Accelerazione della massa sospesa in risposta ad un profilo random: confronto LQRY – H2 Figura 4.81 – Variazione di tenuta in risposta ad un profilo random: confronto LQRY – H2
Figura 4.82 ‐ Accelerazione della massa sospesa in risposta ad un profilo random: confronto LQRY, passivo, skyhook, Skyhook P, H2 Figura 4.83 – Variazione di tenuta in risposta ad un profilo random: confronto LQRY, passivo, skyhook, Skyhook P, H2
Figura 4.84 ‐ Accelerazione della massa sospesa in risposta ad un gradino: confronto LQRY ‐ passivo.
Figura 4.86 ‐ Accelerazione della massa sospesa in risposta ad un gradino: confronto LQRY ‐ skyhook.
Figura 4.87 – Variazione di tenuta in risposta ad un gradino: confronto LQRY ‐ skyhook.
Figura 4.88 ‐ Accelerazione della massa sospesa in risposta ad un gradino: confronto LQRY – skyhook On/Off. Figura 4.89 – Variazione di tenuta in risposta ad un gradino: confronto LQRY – skyhook On/Off.
Figura 4.90 ‐ Accelerazione della massa sospesa in risposta ad un gradino: confronto LQRY – skyhook P.
Figura 4.91 – Variazione di tenuta in risposta ad un gradino: confronto LQRY – Skyhook P.
Figura 4.92 ‐ Accelerazione della massa sospesa in risposta ad un gradino: confronto LQRY – H2.
Figura 4.94 ‐ Accelerazione della massa sospesa in risposta ad un gradino: confronto LQRY, passivo,, Skyhook On/Off, Skyhook, Skyhook P, H2
Figura 4.95 – Variazione di tenuta in risposta ad un gradino: confronto LQRY, passivo,, Skyhook On/Off, Skyhook, Skyhook P, H2
4.7.3 Controllore LQRY2
Si noti tuttavia che il controllore LQRY proposto precedentemente prevede come variabile di stato la grandezza
(
y1−y0)
; y0non è peròricavabile perciò tale controllore avrà unicamente natura teorica.
Per tale ragione conviene realizzare un controllore LQRy sfruttando la seguente rappresentazione dello stato: d E u B x A x& = ⋅ + ⋅ + ⋅ in cui avremo ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1 2 1 2 y y y y x &
& e u=U e d = y&0
Da cui otteniamo il nuovo sistema: o y m k U m m y y y y m k k m k m k m k y y y y ⋅ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ + ⋅ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − + ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⋅ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ + − − = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ 1 1 1 2 1 2 1 2 1 1 2 1 2 2 2 2 2 1 2 1 2 0 0 0 1 1 0 0 0 0 ) ( 0 0 1 0 0 0 0 1 0 0 & & && && & & si definiscono quindi le uscite come ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = 2 1 y y y && la seconda relazione diventa: 0 2 1 2 1 2 2 2 2 2 2 1 0 0 1 0 0 0 0 0 1 0 y U m y y y y m k m k y y ⋅ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ + ⋅ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ + ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⋅ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ − = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ & & && come matrici peso si sceglie: ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⋅ ⋅ = 4 8 10 4 . 1 0 0 10 7 . 5 Q e R=0.07 Le matrici così definite diventano:
⎥ ⎥ ⎥ ⎥ ⎦ ⎢ ⎢ ⎢ ⎢ ⎣ = 0 0 8738.7 -674.19 0 0 59.714 59.714 -1 0 0 0 A e ⎥ ⎥ ⎥ ⎥ ⎦ ⎢ ⎢ ⎢ ⎢ ⎣ = 0.032258 -0.0028571 0 B e ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = 0 0 59.714 59.714 -0 0 1 0 C e ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = 0.0028571 0 D Si ottiene come soluzione
[
-8019 3720.9 1901.2 -606.23]
= K Figura 4.96 ‐ Schema: pianta ‐ controllore LQRY2I valori comparativi sono riportati in tabella: Passivo R1 R2 R3 R4 R5 RMS(Rh) 0.0011846 0.0030708 0.0011937 0.0030962 0.0038189 RMS(Acc) 0.36189 0.93285 0.33855 0.87408 1.1127 Skyhook RMS(Rh) 0.0011495 0.0029859 0.0011797 0.0030632 0.0037861 RMS(Acc) 0.25365 0.64957 0.25176 0.64892 0.78348 Sk On/Off RMS(Rh) 0.0010839 0.0028195 0.0011328 0.0029196 0.0036151 RMS(Acc) 0.2827 0.72758 0.2746 0.71128 0.82551 Skh_P RMS(Rh) 0.001118 0.0027738 0.0011867 0.0029585 0.0036048 RMS(Acc) 0.28908 0.80056 0.2793 0.78869 0.951 H2 RMS(Rh) 0.0011484 0.0029812 0.0011767 0.0030449 0.0037788 RMS(Acc) 0.24801 0.63481 0.2451 0.6315 0.75624 LQRY RMS(Rh) 0.0011436 0.0029669 0.0011818 0.0030598 0.0037711 RMS(Acc) 0.24343 0.62208 0.24316 0.62562 0.74161 LQRY2 RMS(Rh) 0.0011558 0.0029961 0.001179 0.003048 0.0037775 RMS(Acc) 0.24979 0.6406 0.24546 0.63245 0.7638
dovuto alle nuove variabili di stato che sono state scelte. Tale scelta si giustifica con il fatto che le nuove variabili di stato sono più facilmente ricavabili rispetto alle precedenti.
Figura 4.97 ‐ Accelerazione della massa sospesa in risposta ad un profilo random: confronto LQRY2 – passivo.