CAPITOLO 5
DISCRETIZZAZIONE DEI
CONTROLLORI
5.1 Introduzione
Sono stati presentati, nel precedente capitolo, diversi tipi di controllore e sono state confrontate le loro prestazioni. E’ quindi necessario, a questo punto, andare a valutare le risorse hardware in termini di operazioni al secondo che ogni tipo di controllo richiede. Per raggiungere tale obiettivo, in questo capitolo, si andrà a calcolare il tempo di campionamento a cui deve funzionare ogni controllore, il tempo di campionamento per ricostruire segnali tramite integrazione e derivazione e, infine, si calcoleranno il numero di operazioni richieste. In questo modo, sarà possibile, avere idea di quale sia l’hardware necessario per ognuno di essi e quindi si potrà avere un’idea precisa dei costi.
5.2 Metodologia applicata nella discretizzazione
Il primo obiettivo, per valutare le risorse hardware richieste, è quello di discretizzare i controllori per andare poi a capire quale sia il tempo di campionamento minimo richiesto da ogni controllore per garantire un corretto funzionamento. A tal fine si è scelto di proseguire con la metodologia introdotta nel capitolo precedente: si sceglie di mandare una serie di ingressi significativi e di valutare alcuni parametri significativi. Per prima cosa si calcolano RMS RMS
RH Acc) ,( )
( per i sistemi discreti come calcolati nel precedente capitolo e si confrontano con quelli dei sistemi continui calcolando l’errore percentuale tra i due: 100 ) ( ) ( ) ( 1 ⋅ − = RMS Continuo RMS Discreto RMS continuo p Acc Acc Acc ε
( )
100 ) ( ) ( 2 ⋅ − = RMS continuo RMS discreto RMS continuo p RH RH RH ε Successivamente si sono calcolati anche i seguenti indici di prestazione:(
)
(
)
(
)
(
)
∫
∫
− = − = − = − = T Discreto Continuo T Discreto Continuo Discreto Continuo Discreto Continuo dt t RH t RH T IP dt t Acc t Acc T IP t Acc t Acc IP t RH t RH IP 0 2 4 0 2 3 2 1 ) ( ) ( 1 ) ( ) ( 1 ) ( ) ( max ) ( ) ( maxGli indici di prestazione IP3 e IP4 rappresentano l’integrale dell’errore,
elevato a quadrato, (delle accelerazioni e della tenuta di strada rispettivamente) tra sistema continuo e discreto. Ciò significa che il sistema discreto approssimerà tanto meglio quello continuo tanto più questi indici di prestazione tenderanno ad essere piccoli: idealmente zero. Tuttavia questo non basta, potrebbe infatti accadere che l’errore tra i due
sistemi sia molto piccolo, ma possa esserci un istante in cui assume un valore talmente elevato da dare problemi (cioè un errore grosso per un tempo molto piccolo che non influenza l’integrale degli indici di prestazione IP3 e IP4 ): un picco di accelerazione, anche di durata
brevissima, potrebbe non ripercuotersi sul primo indice ed invece essere sufficiente a sbalzare il pilota fino a farlo cadere. Questo spiega l’importanza degli altri due indici IP1 e IP2: tali indici tengono conto della
massima differenza puntuale tra l’accelerazione della massa sospesa e della tenuta di strada tra il sistema discreto e continuo.
5.3 Controllori non ottimi
Quando si discretizza un controllore bisogna tener conto del fatto che il sistema discreto otterrà le grandezze di controllo solo a intervalli di tempo regolari e di conseguenza fornirà una variabile di controllo con i medesimi intervalli temporali. Le uscite dei controllori Skyhook, Skyhook P, Skyhook On/Off dipendono unicamente dagli ingressi (e non dallo stato precedente) e quindi è sufficiente inserire dei campionatori sulle variabili di ingresso al controllore.
5.3.1 Skyhook
Per quanto riguarda lo skyhook si ottengono i seguenti valori al variare del tempo di campionamento sui 5 profili random utilizzati nel capitolo precedente: Skyhook R1 R2 R3 R4 R5 RMS(Rh) 0.0011495 0.0029859 0.0011797 0.0030632 0.0037861 RMS(Acc) 0.25365 0.64957 0.25176 0.64892 0.78348 Tc=0.01 1 P ε 24% 21% 27% 25% 23% 2 P ε 1.69% 0.42% 1.36% 0.64% 1.41% IP1 0.0015952 0.0038379 0.0014545 0.0045553 0.0061782 IP2 2.0815 3.8119 2.0126 4.7852 8.1979 IP3 0.02025 0.09218 0.020795 0.11601 0.18695 IP4 8 10 6301 . 2 ⋅ − 1.4168⋅10−7 2.5444⋅10−8 1.8712⋅10−7 2.5379⋅10−7 Tc=0.005 1 P ε 5.5% 4.87% 5.83% 5.66% 6.2% 2 P ε 0.26% 0.34% 0.22% 0.43% 0.61% IP1 0.00053079 0.0013439 0.00046846 0.0012313 0.0023501 IP2 1.2825 2.7188 1.3061 3.1044 5.4918 IP3 0.005764 0.025191 0.0058616 0.032788 0.058038 IP4 9 10 4255 . 2 ⋅ − 1.7104⋅10−8 2.3746⋅10−9 1.7282⋅10−8 3.2159⋅10−8 Tc=0.001 1 P ε 0.026% 0.068% 0.05% 0.059% 0.1% 2 P ε 0.22% 0.19% 0.13% 0.23% 0.24% IP1 -5 10 5.0193⋅ 1.5929⋅10-4 3.952⋅10-5 1.223⋅10-4 1.8689⋅10-4 IP2 0.2636 0.54043 0.23581 0.6102 0.7647 IP3 0.00011602 0.00052531 0.00013546 0.00072907 0.0014234 IP4 11 10 0598 . 3 ⋅ − 2.4621⋅10−10 2.6249⋅10−11 1.9402⋅10−10 4.111⋅10−10
All’aumentare del tempo di campionamento ci si aspetta che il sistema discreto approssimi meglio quello continuo, ci si aspetta che gli indici di prestazione IP3 e IP4 e ε e P1 ε tendano ad essere sempre più piccoli. Per P2
quanto riguarda invece gli indici IP1 e IP2 questi non necessariamente
diminuiranno, bisogna comunque tenerne conto per non rischiare di avere puntualmente una differenza troppo grossa tra i due sistemi. Nei grafici successivi viene mostrato il comportamento dei due sistemi al variare del tempo di campionamento, ci si aspetta che più il sistema discreto va veloce più i grafici tendano ad essere simili. Figura 5.1 ‐ Variazione di tenuta a confronto tra sistema continuo e sistema discreto con fc=10Hz
Figura 5.2 ‐ Accelerazione massa sospesa a confronto tra sistema continuo e sistema discreto con fc=10Hz
Figura 5.3 ‐ Variazione di tenuta a confronto tra sistema continuo e sistema discreto
Figura 5.4 – Accelerazione massa sospesa a confronto tra sistema continuo e sistema discreto con fc=100Hz Figura 5.5 ‐ Variazione di tenuta a confronto tra sistema continuo e sistema discreto con fc=1kHz
Figura 5.6 ‐ Accelerazione massa sospesa a confronto tra sistema continuo e sistema discreto con fc=1kHz
5.3.2 Controllore skyhook On/Off
Per quanto riguarda lo skyhook On/Off si ottengono i seguenti valori al variare del tempo di campionamento: Skyhook R1 R2 R3 R4 R5 RMS(Rh) 0.0010839 0.0028195 0.0011328 0.0029196 0.0036151 RMS(Acc) 0.2827 0.72758 0.2746 0.71128 0.82551 Tc=0.01 1 P ε 8.2% 5.7% 5.5% 5.3% 6.8% 2 P ε 5% 1.4% 1.8% 1.6% 1.1% IP1 0.0016123 0.0035876 0.0019863 0.0043562 0.0039871 IP2 1.5872 2.0012 1.7692 2.3291 1.3481 IP3 0.012943 0.062036 0.0086737 0.055467 0.095724 IP4 7 10 2668 . 1 ⋅ − 1.6505⋅10−7 4.6736⋅10−8 2.7427⋅10−7 2.1698⋅10−7 Tc=0.005 1 P ε 4.6% 2.2% 2.8% 2.54% 2.9% 2 P ε 0.66% 0.22% 0.49% 0.59% 0.7% IP1 0.00033191 0.00098532 0.00053216 0.00010254 0.00069876 IP2 0.68612 0.964323 0.83627 1.00349 0.58471 IP3 0.0071654 0.023526 0.0044474 0.026093 0.04082 IP4 7 10 093 . 1 ⋅ − 2.0203⋅10−7 1.2657⋅10−8 1.0042⋅10−7 1.7342⋅10−7 Tc=0.001 1 P ε 0.29% 0.4% 0.19% 0.1% 0.49% 2 P ε 0.32% 0.13% 0.4% 0.57% 0.44% IP1 5 10 9686 . 6 ⋅ − 8.9129⋅10−5 6.7621⋅10−5 9.4456⋅10−6 7.4359⋅10−5 IP2 0.67645 0.82144 0.76937 0.90021 0.48765 IP3 0.0047197 0.042664 0.0029497 0.010572 0.067088 IP4 9 10 7044 . 7 ⋅ − 4.987⋅10−8 1.0031⋅10−8 9.857⋅10−8 1.1669⋅10−7
Come per il controllore precedente si vede che all’aumentare del tempo di campionamento il sistema discreto approssima sempre meglio il sistema tempo continuo. Figura 5.7 ‐ Variazione di tenuta a confronto tra sistema continuo e sistema discreto con fc=10Hz
Figura 5.8 ‐ Accelerazione massa sospesa a confronto tra sistema continuo e sistema discreto con fc=1kHz
Figura 5.9 ‐ Variazione di tenuta a confronto tra sistema continuo e sistema discreto con fc=100Hz
Figura 5.10 ‐ Accelerazione massa sospesa a confronto tra sistema continuo e sistema discreto con fc=100Hz
Figura 5.11 ‐ Variazione di tenuta a confronto tra sistema continuo e sistema discreto con fc=1kHz
Figura 5.12 ‐ Accelerazione massa sospesa a confronto tra sistema continuo e sistema discreto con fc=1kHz
5.3.3 Controllore Skyhook P Skyhook R1 R2 R3 R4 R5 RMS(Rh) 0.001118 0.0027738 0.0011867 0.0029585 0.0036048 RMS(Acc) 0.28908 0.80056 0.2793 0.78869 0.951 Tc=0.01 1 P ε 13.63% 10% 16% 17% 16% 2 P ε 9.39% 7.6% 9.67% 14% 12% IP1 0.0018473 0.0034112 0.0020553 0.007059 0.0077025 IP2 1.8131 5.01 1.8518 5.3284 7.8787 IP3 0.009835 0.091433 0.011475 0.18676 0.25897 IP4 8 10 5175 . 5 ⋅ − 3.354⋅10−7 6.8848⋅10−8 8.967⋅10−7 1.2299⋅10−6 Tc=0.005 1 P ε 5.75% 5% 6.86% 8.9% 6.9% 2 P ε 3.56% 4% 3.63% 7.1% 5.22% IP1 0.0006778 0.0031365 0.00056659 0.0035175 0.0027355 IP2 1.4232 4.7646 0.83861 4.8619 7.0952 IP3 0.0024238 0.031688 0.0029173 0.067425 0.066981 IP4 9 10 4873 . 8 ⋅ − 9.1814⋅10−8 9.993⋅10−10 2.4301⋅10−7 2.1346⋅10−7 Tc=0.001 1 P ε 0.84% 0.83% 0.94% 0.98% 0.97% 2 P ε 0.55% 0.52% 0.52% 0.64% 0.69% IP1 0.00010698 0.00028202 0.000097793 0.0002534 0.00042474 IP2 0.24976 1.6347 0.28221 1.4111 2.9334 IP3 0.000077319 0.0012851 0.000077954 0.001759 0.0028447 IP4 10 10 2448 . 2 ⋅ − 1.5899⋅10−9 2.6266⋅10−10 2.5212⋅10−9 3.9249⋅10−9 Analogamente a prima gli indici di prestazione diminuiscono all’aumentare del tempo di campionamento, questo significa che il sistema discreto è sempre più simile a quello discreto.
Figura 5.13 ‐ Variazione di tenuta a confronto tra sistema continuo e sistema discreto con fc=5Hz
Figura 5.14 ‐ Accelerazione massa sospesa a confronto tra sistema continuo e sistema discreto con fc=5Hz
Figura 5.15 ‐ Variazione di tenuta a confronto tra sistema continuo e sistema discreto con fc=100Hz
Figura 5.16 ‐ Accelerazione massa sospesa a confronto tra sistema continuo e sistema discreto con fc=100Hz
Figura 5.17 ‐ Variazione di tenuta a confronto tra sistema continuo e sistema discreto con fc=1kHz
Figura 5.18 ‐ Accelerazione massa sospesa a confronto tra sistema continuo e sistema discreto con fc=1kHz
5.4 Controllori ottimi
5.4.1 Controllore H2 Per il controllore H2 la discretizzazione consiste nei passi seguenti: • Scrittura della pianta (sospensione) nella forma: u D x C y u B x A x ⋅ + ⋅ = ⋅ + ⋅ = & • Passaggio da pianta continua a pianta discreta:• Riscrittura del sistema discreto nella forma (come spiegato nel
precedente capitolo ): ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = 22 21 2 12 11 1 2 1 : ) ( D D C D D C B B A s P • Calcolo del controllore H2 discreto
Skyhook R1 R2 R3 R4 R5 RMS(Rh) 0.0011484 0.0029812 0.0011767 0.0030449 0.0037788 RMS(Acc) 0.24801 0.63481 0.2451 0.6315 0.75624 Tc=0.001 1 P ε 34% 35% 26% 33% 33% 2 P ε 6.3% 7.5% 3.34% 4.43% 5.8% IP1 0.0033553 0.01349 0.0028265 0.0072862 0.0099513 IP2 1.5483 5.0072 1.3255 3.4186 4.1461 IP3 0.029924 0.40185 0.020225 0.18421 0.26559 IP4 7 10 4211 . 1 ⋅ − 2.675⋅10−6 1.0043⋅10−7 9.7939⋅10−7 1.5264⋅10−6 Tc=0.0005 1 P ε 17% 5.1% 15% 9.5% 10% 2 P ε 1.98% 1.72% 2% 0.6% 1.2% IP1 0.0014993 0.0019801 0.002227 0.0023624 0.0033665 IP2 0.7642 0.9061 0.95558 1.3649 1.7897 IP3 0.013187 0.02033 0.010578 0.042212 0.081946 IP4 8 10 8548 . 4 ⋅ − 1.0644⋅10−7 4.7965⋅10−8 1.5101⋅10−7 3.0516⋅10−7 Tc=0.0001 1 P ε 0.79% 0.25% 0.4% 4% 5% 2 P ε 0.42% 0.16% 0.18% 0.4% 0.3% IP1 0.00044841 0.00048531 5 10 66 . 9 ⋅ − 0.0016425 0.0021607 IP2 0.16809 0.23337 0.084783 0.91876 1.0428 IP3 0.0005405 0.0013834 0.000080326 0.013705 0.022445 IP4 9 10 3951 . 3 ⋅ − 5.5841⋅10−9 2.7983⋅10−10 5.3605⋅10−8 8.817⋅10−8
Si nota che, anche a frequenze di campionamento elevate (fc=10kHz), per alcuni profili di strada, l’indice di prestazione è significativamente peggiore rispetto ai controllori analizzati in precedenza, d’altra parte una frequenza di campionamento ancora maggiore risulterebbe difficilmente
realizzabile. La ragione di tale comportamento consiste nel fatto che l’H2 va spesso a lavorare ad alte frequenze e quindi ha bisogno di frequenze di campionamento molto elevate. Figura 5.19 ‐ Variazione di tenuta a confronto tra sistema continuo e sistema discreto con fc=100Hz
Figura 5.20 ‐ Accelerazione massa sospesa a confronto tra sistema continuo e sistema discreto con fc=100Hz
Figura 5.21 ‐ Variazione di tenuta a confronto tra sistema continuo e sistema discreto con fc=1kHz
Figura 5.22 ‐ Accelerazione massa sospesa a confronto tra sistema continuo e sistema discreto con fc=1kHz
Figura 5.24 ‐ Accelerazione massa sospesa a confronto tra sistema continuo e sistema discreto con fc=10kHz
5.4.2 Controllore LQRY1 Skyhook R1 R2 R3 R4 R5 RMS(Rh) 0.0011436 0.0029669 0.24316 0.0030598 0.0037711 RMS(Acc) 0.24343 0.62208 0.0011818 0.62562 0.74161 Tc=0.001 1 P ε 21% 18% 22% 21% 23% 2 P ε 3.63% 1.89% 3.69% 3.1% 2.3% IP1 0.0016963 0.0038976 0.0014669 0.0041908 0.0053197 IP2 2.3482 4.3317 1.9562 4.2147 7.0218 IP3 0.019804 0.11416 0.020981 0.12822 0.20366 IP4 8 10 3198 . 7 ⋅ − 3.7028⋅10−7 7.8191⋅10−8 4.9537⋅10−7 7.2071⋅10−7 Tc=0.005 1 P ε 5.16% 4.8% 5.59% 5.11% 7.1% 2 P ε 0.94% 0.61% 0.93% 0.81% 0.5% IP1 0.00054096 0.0016036 0.00047322 0.0012505 0.0021116 IP2 1.5176 2.8175 1.4354 2.4459 5.1818 IP3 0.0044613 0.026614 0.004432 0.027626 0.048932 IP4 9 10 4279 . 6 ⋅ − 4.9892⋅10−8 6.4616⋅10−9 4.7354⋅10−8 7.9629⋅10−8 Tc=0.001 1 P ε 0.36% 0.34% 0.43% 0.43% 0.42% 2 P ε 0.16% 0.13% 0.17% 0.16% 0.13% IP1 5 10 467 . 7 ⋅ − 0.00018966 5.1654⋅10−5 0.00013551 0.00020139 IP2 0.3207 0.51731 0.31145 0.7835 1.0952 IP3 0.00010686 0.00064655 0.00010795 0.00067221 0.00097872 IP4 10 10 6732 . 1 ⋅ − 1.1873⋅10−9 1.5356⋅10−10 1.0718⋅10−9 1.723⋅10−9 Anche in questo caso il controllore discreto approssima bene quello continuo all’aumentare della frequenza di campionamento, in particolare a 1 KHz, l’errore relativo è decisamente contenuto.
Figura 5.25 ‐ Variazione di tenuta a confronto tra sistema continuo e sistema discreto con fc=10Hz
Figura 5.26 ‐ Accelerazione massa sospesa a confronto tra sistema continuo e sistema discreto con fc=10Hz
Figura 5.27 ‐ Variazione di tenuta a confronto tra sistema continuo e sistema discreto con fc=100Hz
Figura 5.29 – Variazione di tenuta a confronto tra sistema continuo e sistema discreto con fc=1kHz
5.4.3 Controllore LQRY2 Skyhook R1 R2 R3 R4 R5 RMS(Rh) 0.0011558 0.0029961 0.001179 0.003048 0.0037775 RMS(Acc) 0.24979 0.6406 0.24546 0.63245 0.7638 Tc=0.01 1 P ε 16.9% 13.77% 17.46% 17.14% 16.57% 2 P ε 1.9% 0.81% 2.79% 1.9% 1.1% IP1 0.0014775 0.0038995 0.001079 0.002847 0.0041252 IP2 2.0034 3.6371 1.3988 3.8985 5.8992 IP3 0.014719 0.079418 0.014258 0.088815 0.13246 IP4 8 10 8609 . 5 ⋅ − 2.8689⋅10−7 5.2626⋅10−8 3.7387⋅10−7 5.3334⋅10−7 Tc=0.05 1 P ε 4.19% 3.86% 4.56% 4.22% 4.63% 2 P ε 0.25% 0.09% 0.37% 0.17% 0.13% IP1 0.0004248 0.001453 0.00034376 0.0009927 0.0013785 IP2 0.81978 2.102 1.0422 2.4948 3.2434 IP3 0.0035902 0.02204 0.0032269 0.021029 0.031564 IP4 9 10 3221 . 6 ⋅ − 5.4569⋅10−8 5.2409⋅10−9 3.8604⋅10−8 5.4165⋅10−8 Tc=0.001 1 P ε 0.22% 0.19% 0.3% 0.27% 0.28% 2 P ε 0.017% 0.0011% 0.03% 0.026% 0.02% IP1 5 10 9227 . 5 ⋅ − 0.0001292 5 10 0555 . 4 ⋅ − 0.0001053 0.00015171 IP2 0.21638 0.61205 0.21935 0.58085 0.66265 IP3 0.00009026 0.00054854 0.000081176 0.00053186 0.00073571 IP4 10 10 3781 . 1 ⋅ − 9.2484⋅10−10 9.7227⋅10−11 7.1183⋅10−10 1.2087⋅10−9
Figura 5.31‐ Accelerazione massa sospesa a confronto tra sistema continuo e sistema discreto con fc=10Hz Figura 5.32 ‐ Variazione di tenuta a confronto tra sistema continuo e sistema discreto con fc=10Hz
Figura 5.33 ‐ Accelerazione massa sospesa a confronto tra sistema continuo e sistema discreto con fc=100Hz Figura 5.34 ‐ Variazione di tenuta a confronto tra sistema continuo e sistema discreto con fc=100Hz
Figura 5.35 ‐ Accelerazione massa sospesa a confronto tra sistema continuo e sistema discreto con fc=1kHz Figura 5.36 ‐ Variazione di tenuta a confronto tra sistema continuo e sistema discreto con fc=1kHz
5.4.4 Conclusioni
Osservando le tabelle precedenti si può scegliere il tempo di campionamento più opportuno. Si noti che per ogni controllore i parametri migliorano in modo diverso al variare del tempo di campionamento, questo è dovuto al fatto che ognuno di essi ha un diverso contenuto frequenziale. Se si sceglie di contenere gli errori relativi sotto l’1% si ottiene ad esempio:
Algoritmo Tempo camp. ottimo Skyhook 0.001 s Skyhook On/Off 0.001 s SkyhookP 0.001 s H2 0.0001 s LQRY 0.001 s LQRY2 0.001 s
5.5 Valutazione del numero di operazioni
Per la valutazione del numero di operazioni si è scelto di conteggiare il numero di prodotti, somme, divisioni, istruzioni condizionali, saturatori e valori assoluti necessari per realizzare ogni algoritmo. I risultati sono riassunti in seguito:
Algoritmo * + / if Sat Abs
Skyhook 4 3 1 1 2 2 Skyhook On/Off 1 1 0 2 0 0 SkyhookP 2 1 0 4 0 1 H2 34 25 1 1 3 2 LQRY 6 5 1 1 3 2 LQRY2 6 5 1 1 3 2 Bisogna notare che al numero di operazioni conteggiate vanno aggiunte le eventuali operazioni necessarie per ottenere le variabili di controllo: non tutte possono essere infatti ottenute direttamente e devono essere quindi ricavate in modo analogico o digitale.
5.6 Calcolo delle risorse hardware necessarie per
ricavare le variabili di controllo mancanti
Non tutte le grandezze di cui i controllori fanno uso sono direttamente misurabili dal sistema. Ad esempio, le velocità, vanno ricavate mediante integrazione o derivazione da altre grandezze.
5.6.1 Integrazione numerica
Sia y(t) lʹintegrale di u(t) e y(kT) la sua approssimazione discreta. È possibile calcolare lʹapprossimazione discreta (di y(t)) y(kT) utilizzando la formula dei trapezi:
( ) (
)
(
u kT u kT T)
T T kT y kT y = − + + − 2 ) ( ) ( La f.d.t. in z risulta: 1 1 2 ) ( − + ⋅ = z z T z W e la risposta armonica è: ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ ⋅ = 2 tan 2 1 ) ( T T j e W j T ω ω ω ωLa regola dei trapezi corrisponde allʹoperatore ω
j
1
nel caso continuo a meno di un fattore di distorsione. Lʹapprossimazione considerata è valida se è soddisfatta la condizione 1 2 << T ω
dove con ω si intendono le frequenze significative del segnale da approssimare.
Utilizzare tale formula significa dover fare per ogni intervallo due somme e una moltiplicazione.
Tale tecnica verrà utilizzata per ricavare velocità assoluta della massa sospesa e non sospesa a partire dalle rispettive accelerazioni.
5.6.2 Derivazione numerica
L’operazione di derivazione numerica è utile, ad esempio, per ricavare la velocità relativa della sospensione a partire dalla misura della compressione della molla. Per fare questo si ricorre alla tecnica delle differenze all’indietro: h h x f x f x
f'( )= ( )− ( − ), essendo h>0. Sia u(t) la derivata di y(t) e y(kT) e u(kT) le rispettive versioni discrete: possiamo calcolare u(kT) come segue: T T kT y kT y kT u( )= ( )− ( − ) La f.d.t. in z risulta: z z T z W( )= 1⋅ −1 e la risposta armonica è:
(
)
T T j T T e W( jωT)= − cos(ω⋅ )−1 + ⋅sin(ω⋅ ) se ω⋅T <<1 allora il coseno è circa di valore unitario, mentre il seno può essere approssimato con il suo argomento: W e ω ω⋅T<< = j⋅ω T j 1 ) (Quindi per realizzare la derivata bisogna effettuare una differenza, il prodotto per costante viene infatti inglobato in altre costanti.
5.6.3 Variabili di controllo necessarie per ogni controllore
A questo punto può essere utile vedere nel dettaglio di quali variabili di stato necessita ogni controllore, come mostrato nella tabella seguente:
Algoritmo Variabili di controllo
Skyhook y&2,
(
y&1 −y&2)
Skyhook On/Off y&2,(
y&1 −y&2)
SkyhookP y&2,(
y&1 −y&2)
H2 y&&1,y&&2,(
y1− y2)
LQRY(
y2 −y1)
, y0 LQRY2 y&1,y&2,y1,y2In base a dati sperimentali si sa che y&&1, ha una densità spettrale di potenza che si estende anche oltre i 300Hz, per cui per ottenere y&1con buoni risultati va integrato il segnale dopo averlo campionato a circa 10KHz; analogo discorso si può fare per quanto riguarda le densità spettrali di potenza di y&&2,y&1,
(
y1 −y2)
.Si noti che il sensore potenziometrico in genere è già presente nelle sospensioni semi‐attive: per questa ragione si cercherà generalmente di ricavare y&1 da y&2e
(
y1− y2)
.5.6.4 Numero di operazioni per le operazioni di integrazione e derivazione
Riassumiamo inseguito quali operazioni sono necessarie per ricavare le variabili di stato mancanti:
Algoritmo Integrazioni Derivazioni
Skyhook 1 1 Skyhook On/Off 1 1 SkyhookP 1 1 H2 0 0 LQRY xx xx LQRY2 3 1 Le operazioni di integrazione e derivazione dell’algoritmo LQRY non sono state riportate in quanto non è possibile ricavare y0. Quindi considerando il numero di operazioni necessarie all’integrazione e derivazione numerica si ottiene la seguente tabella: Algoritmo +/‐ * Skyhook 2 2 Skyhook On/Off 2 2 SkyhookP 2 2 H2 0 0 LQRY xx xx LQRY2 9 6
Tali operazioni vanno intese per ogni intervallo di campionamento, per sapere il numero di operazioni per secondo è sufficiente moltiplicare il numero in tabella per la frequenza di campionamento.
5.6.5 Numero complessivo di operazioni
Se si considera di utilizzare i tempi di campionamento ricavati precedentemente per ogni algoritmo e di campionare i dati da integrare e derivare a 10KHz si ottiene il seguente numero di operazioni per secondo:
skyhook On/Off Skh_P H2 LQRY2 Prodotti 24000 21000 22000 340000 66000 somme 23000 21000 21000 250000 95000 Divisioni 1000 0 0 10000 1000 Istr cond 1000 2000 4000 10000 1000 saturazioni 2000 0 0 30000 3000 val assoluti 2000 0 1000 20000 2000
5.7 Risorse hardware per il sistema softcomputing
Nel precedente capitolo è stata presentata la metodologia di controllo soft computing che permette di decidere un coefficiente di smorzamento, tra quelli predefiniti, in base al profilo stradale riconosciuto dal sistema. Il sistema può essere schematizzato come un rivelatore di inviluppo seguito da un filtro che faccia la media. Figura 5.37 ‐ Schema a blocchi del sistema soft‐computing Per prima cosa si inserisce un campionatore a valle dell’accelerometro per digitalizzare tale segnale: considerato che da dati sperimentali si sa che la densità spettrale di potenza di tale segnale è contenuta entro i 300Hz si sceglie, per sicurezza, una frequenza di campionamento di 1kHz.
Il rivelatore di inviluppo può essere realizzato come spiegato nel capitolo precedente quindi richiede unicamente una moltiplicazione.
Il sistema media effettua invece una media con finestra mobile di 5 secondi al fine di decidere quale sia il profilo riconosciuto. Se si facesse una media a finestra mobile direttamente su 5s sarebbe necessario dover tenere in memoria 5000 campioni il che è in contrasto con la semplicità che si vuole ottenere da questo algoritmo.
Quindi, per eseguire tale operazione, si sceglie di effettuare una media ogni 1000 campioni (1s) con il seguente algoritmo: ) 1 ( 1000 1 ) ( 1 1 n = ⋅in+m n− m , 0≤ n≤1000 La media ad 1s risulta quindi: ) 1000 ( ) 1 ( s m M = Ogni 1000 campioni si ottiene quindi un valor medio che indicheremo con ) 5 ( ), 4 ( ), 3 ( ), 2 ( ), 1 ( M M M M M . La media a finestra mobile vera e propria si esegue quindi su questi 5 campioni e risulta:
(
)
5 1 ) 4 ( ) 3 ( ) 2 ( ) 1 ( ) ( ) (k = M k +M k− +M k− +M k− +M k− ⋅ Mtotin cui k è un numero intero e rappresenta il tempo in secondi. Tale algoritmo richiede 1005 somme e 1001 prodotti al secondo.
Successivamente si dovranno distinguere 4 profili stradali mediante istruzioni condizionali in modo da scegliere il coefficiente di smorzamento opportuno: servono quindi 4 istruzioni condizionali ogni secondo. Complessivamente si ottiene quindi: Soft Computing Prodotti 1000 somme 1005 Divisioni 0 Istr cond 4 saturazioni 0 val assoluti 0