• Non ci sono risultati.

Il filtro di Kalman standard `e utilizzato per risolvere il problema della stima dello stato di un sistema dinamico lineare, perturbato con rumore gaussiano bianco additivo. Questa stima, basata sulla minimizzazione dell’errore tra il modello matematico e le misure, si snoda in due fasi ben distinte:

• TIME UPDATE O PREDICTION PHASE

In questa fase si esegue una previsione dello stato e della covarianza dell’errore, ba- sandosi sul modello matematico del sistema. Questa valutazione viene solitamente indicata con il termine di stima a priori del sistema.

• MEASUREMENT UPDATE O CORRECTION PHASE

In questa fase si esegue una correzione dello stato a priori attraverso una misura ester- na. Si ottiene in tal modo una migliore stima dello stato, indicata con il termine di stima a posteriori del sistema.

Il filtro di Kalman opera quindi come un algoritmo predictor-corrector, applicando il procedimento sopra esposto in maniera ricorsiva.

L’idea alla base del filtro di Kalman quindi `e quella di sfruttare la conoscenza del model- lo e la descrizione probabilistica dell’incertezza per decidere come combinarle in maniera ottima per ottenere una migliore stima dello stato.

L’uscita del filtro `e lo stato del filtro stesso, ovvero un vettore aleatorio con una certa media e una certa covarianza che rappresenta una stima statistica dello stato del sistema.

3.3.1

Il filtro di Kalman standard discreto

Lo scopo del filtro di Kalman discreto `e quello di determinare lo stato di un processo governato da un’equazione stocastica lineare alle differenze finite del tipo:

Figura 3.3:Schema di principio delle fasi di prediction e update che caratterizzano l’algoritmo di Kalman

xk+1= Akxk+ Bkuk+ wk (3.3)

e da un’equazione di misura del tipo (figura 3.4):

yk= Ckxk+ Dkuk+ vk (3.4)

in cui:

• xk ∈ Rnrappresenta il vettore di stato del sistema;

• uk ∈ Rp `e il vettore dell’input di controllo del sistema;

• Ak∈ Rnxn `e la matrice che lega lo stato del sistema xk+1con lo stato xk;

• Bk ∈ Rnxp `e la matrice che lega l’input uk allo stato del sistema xk;

• wk ∈ Rn `e il rumore di processo che modella i disturbi che affliggono il sistema;

• yk∈ Rm `e il vettore di misura dell’uscita;

• Ck ∈ Rmxn `e la matrice che lega lo stato del sistema xk alla misura yk;

• Dk ∈ Rmxp `e la matrice che lega l’ingresso uk del sistema all’uscita yk;

• vk ∈ Rmrappresenta il ”sensor noise” ovvero il rumore dovuto alle misurazioni.

L’equazione 3.3 rappresenta la legge di aggiornamento dello stato ed ha il compito di

cogliere la dinamica del sistema in continua evoluzione. La stabilit`a, la controllabilit`a e la sensibilit`a al disturbo del sistema possono essere determinate da questa equazione.

Dato un modello come quello descritto dalle eq.3.3 e 3.4, si vuole stimare lo stato xk del

corrispondente sistema fisico, in tempo reale ed in un ambiente dinamico, a partire dalla conoscenza delle misure dei segnali di ingresso/uscita del sistema. Come detto preceden- temente, il filtro di Kalman `e un metodo ottimo per risolvere tale problema , a patto che alcune condizioni risultino verificate ovvero:

Figura 3.4:Schematizzazione di un sistema lineare tempo-discreto [6]

1. vk & wk devono essere processi gaussiani a media nulla con matrici di covarianza note,

rispettivamente pari a Rk e Qk (vkN (0, Rk)ae wkN (0, Qk)) cio`e:

E[vkvkT]b=        Rk n = k 0 n , k (3.5) E[wkwkT] =        Qk n = k 0 n , k (3.6)

2. vk & wk devono essere statisticamente indipendenti cio´e l’incertezza sulla misura non

deve dipendere dall’incertezza sul processo e viceversa. Ci `o in termini matematici si traduce con:

E[wkvkT] = E[vkwTk] = 0; (3.7)

Le assunzioni fatte sui processi di rumore wk e vk vengono rispettate raramente nei casi

pratici, ma molte letterature concordano sul fatto che il metodo del KF lavori correttamen- te [6].

Quindi in sostanza utilizzando tutti i dati misurati {u0, . . . , uk}e {y0, . . . , yk}si vuole andare a

calcolare il minimo errore quadratico medio stimato ˆxk dello stato reale xk. Con le ipotesi

su wk e vk viste precedentemente e sulla base del modello rappresentato dalle equazioni3.3

e3.4si avr`a:

ˆ

xk = arg min[(xkxˆk)T(xkxˆk)|u0, . . . , uk, y0, . . . , yk] (3.8)

Ricordando che la tecnica descritta fornisce in uscita un vettore aleatorio gaussiano (quindi completamente descritto da un vettore dei valori medi e da una matrice di covarianza) che rappresenta lo stato del sistema in termini probabilistici, si utilizza la seguente convenzione negli statements dell’algoritmo:

• l’apice−viene utilizzato per indicare la fase di predizione; • l’apice+viene impiegato invece nella fase di correzione; • il simboloˆcontrassegna le quantit`a stimate;

aLa notazione N (~µ, Σ) indica un vettore di variabili aleatorie gaussiane con vettore dei valori medi pari a ~µ

e matrice di covarianza Σ.

bE[·] rappresenta l’operatore di aspettazione statistico (media statistica) mentre T l’operatore di

• Pk∈ Rnxn rappresenta la matrice di covarianza dello stato.

Con queste premesse si possono finalmente mostrare le equazioni del filtro raggrup- pate per ciascuna fase (prediction e upgrade):

Prediction phase:

1a. Predizione dello stato utilizzando le equazioni del modello ˆ

xk+1= Akxˆ+k + Bkuk (3.9)

1b. Predizione dell’uscita utilizzando le equazioni del modello ˆ

yk= Ckxˆk++ Dkuk (3.10)

1c. Predizione della covarianza d’errore sullo stato ˆ

Pk+1= AkPˆk+ATk + Qk (3.11)

Update phase:

2a. Calcolo del guadagno di Kalman Kk= ˆPk+1C T k (C ˆPk+1C T k + Rk) −1 (3.12) 2b. Aggiornamento della stima utilizzando le info provenienti dalla misura

ˆ

xk+1+ = ˆxk+1+ Kk·(ykyˆk) (3.13)

2c. Aggiornamento della covarianza ˆ

Pk+1= (I − KkCk) ˆP

k+1 (3.14)

Dove ˆPk `e la covarianza d’errore stimata, Rk `e la covarianza dell’errore di misura, Kk `e il

guadagno di Kalman, Qk `e la covarianza del rumore di processo e I `e la matrice identica di

dimensione opportuna.

Le equazioni 3.12, 3.13, e 3.14rappresentano rispettivamente il guadagno di Kalman,

l’equazione che fornisce lo stato stimato, e la stima della covarianza dell’errore.

Un esame della 3.12illustra la natura intrinsecamente adattiva del filtro. Infatti, se il rumo- re che affligge la misura `e grande, Rksar`a grande, e Kksar`a piccolo, fornendo un’indicazione

di grande errore nella stima successiva. D’altra parte invece se il rumore di misura `e piccolo Rk sar`a piccola, Kk sar`a grande e la successiva stima risulter`a pi `u accurata. L’equazione di

stima dello stato data dalla 3.13consta di due termini. Il secondo termine della 3.13 `e il termine correttivo, che fornisce un’ indicazione di quanto il nuovo stato stimato sia corretto rispetto ad una misura disponibile. La differenza tra la misura proveniente dal sensore ad ogni istante (yk) e l’uscita calcolata con l’ausilio del modello ( ˆyk) viene detta innovazione o

residuo e rappresenta l’informazione aggiuntiva utilizzata per migliorare la stima ad ogni iterazione dell’algoritmo.

Di seguito una figura che riepiloga schematicamente quanto detto sull’algoritmo di Kal- man standard

Figura 3.5:Riepilogo flusso di ricorsione linear KF [5]

3.3.2

Influenza delle co di rumondizioni iniziali sulla dinamica della

stima

Quando si progetta un filtro di Kalman si `e chiamati a fornire una stima dello stato all’i- stante iniziale (x0), la corrispondente covarianza dell’errore (P0) , la covarianza del rumore d’uscita (Rk) e la covarianza del rumore di processo(Qk). Lo stato iniziale x0 `e in genere ricavato in base alla conoscenza del modello oppure posto uguale a zero se nessuna infor- mazione `e accessibile. Il valore di P0 pu `o significativamente influenzare la dinamica del filtro. Se gli elementi di P0 sono di valore elevato questo implica che il valore di x0 `e poco attendibile e viceversa.

La matrice Rk ha spesso una chiara interpretazione fisica, rappresentando il rumore dei sen-

sori impiegati nella misura dell’ uscita. Nel caso di pi `u uscite incorrelate fra loro Rk `e una

matrice diagonale contenente le covarianze di rumore dei differenti sensori. La stessa cosa non pu `o dirsi per Qk. Il filtro di Kalman viene spesso utilizzato per stimare lo stato che

quindi `e non misurabile. In questo caso, non avendo ulteriori informazioni, si potrebbe pensare di porre Qk = 0, ma cos`ı facendo diremmo al filtro che il modello matematico `e per-

fetto, ottenendo come risultato che il filtro considera come stima ottima l’evoluzione del suo stato senza considerare la misura delle uscite che sono affette da rumore. A valle di queste considerazioni appare evidente come sia necessario fornire una stima, spesso euristica, della matrice Qk. Una buona scelta, in assenza di informazioni ulteriori, `e quella di prendere una

matrice diagonale definita positiva; il valore degli elementi, poi, va opportunamente scelto. Il valore relativo fra Rk e Qk ha quindi un significato ben preciso, fornendo un alto rapporto

Rk vs Qk (kRkk>> kQkk) significa ”tarare” il filtro in maniera tale da dare maggior peso alle

misure rispetto alla evoluzione dello stato [37].

3.4

Non Linear Kalman-Filter

Quando l’evoluzione o l’osservazione di un sistema sono descritte da equazioni non lineari come nel caso delle celle al litio la teoria di Kalman standard non pu `o essere utilizzata per la determinazione dello stato. La non linearit`a in questo caso `e rappresentata dal legame

versioni del filtro di Kalman pi `u adatte a tale scopo.

Le equazioni di stato e d’uscita per un sistema non lineare divengono (figura3.6): Equazione di stato:

xk+1= f (xk, uk) + wk (3.15)

Equazione d’uscita:

yk= g(xk, uk) + vk (3.16)

Dove ovviamente f (.) e g(.) sono funzioni non lineari.

Figura 3.6:Diagramma di un sistema non lineare tempo discreto [6]

Nel caso non lineare non esiste in generale una soluzione ottima in forma chiusa. Tuttavia, assumendo che i rumori di processo e di misura siano Gaussiani e additivi, uno dei metodi classici per risolvere il problema di filtraggio non lineare `e quello di linearizzare il sistema, nell’intorno della stima corrente, ed applicare il filtro di Kalman al sistema linearizzato; il filtro cos`ı ottenuto prende il nome di Filtro di Kalman Esteso (EKF=Extended Kalman Filter ). Se le non linearit`a sono significative e/o i rumori non sono Gaussiani, l’EKF pu `o fornire prestazioni inadeguate e quindi si deve ricorrere ad altre soluzioni. Due di queste, oggigior- no comunemente utilizzate, sono l’ unscented Kalman filter (UKF) ed il particle filter (PF). Nel proseguo dell’elaborato si esporranno le tecniche EKF e UKF che verranno applicate alla stima del SOC nel capitolo4.

Documenti correlati