Filtro di Kalman - Soluzione - Dipartimento di Ingegneria dell
Transcript
Filtro di Kalman - Soluzione - Dipartimento di Ingegneria dell
ELABORAZIONE dei SEGNALI nei SISTEMI di CONTROLLO Lezione 22: Filtro di Kalman - Soluzione • Soluzione • Equazione di Riccati • Filtro di Kalman e Osservatore • Un problema di ottimo 21-1 Soluzione (1/2) PROPAGAZIONE DELLA STIMA DELLO STATO • Aggiornamento alla misura x̂(t|t) = x̂(t|t − 1) + L(t)e(t) , e(t) = y(t) − Cx̂(t|t − 1) (1) L(t) = P (t|t − 1)C ′G−1 (t) , G(t) = CP (t|t − 1)C ′ +R • Aggiornamento temporale x̂(t + 1|t) = Ax̂(t|t) + Bu(t) (2) 1. Il processo e(t) viene chiamato processo delle innovazioni del processo y(t). e(t) è △ un processo bianco, a media nulla, e con varianza V ar(e(t)) = G(t). 2. La matrice L(t) viene chiamata Guadagno (del Filtro) di Kalman. Esso dipende dalla matrice di varianza P (t|t − 1). 3. L’aggiornamento della stima alla misura dipende dal valore assunto dal guadagno di Kalman L(t) e dall’errore di predizione della misura e(t). Se la misura viene predetta esattamente (e(t) = 0), essa è ridondante e non concorre a modificare la stima dello stato. 21-2 Soluzione (2/2) PROPAGAZIONE DELLA MATRICE DI VARIANZA • Aggiornamento alla misura P (t|t) = P (t|t − 1) − P (t|t − 1)C ′ (CP (t|t − 1)C ′ + R)−1 CP (t|t − 1) (3) • Aggiornamento temporale P (t + 1|t) = AP (t|t)A′ + DQD′ (4) Osservazione - L’equazione di aggiornamento di P (t|t − 1) alla misura può essere riscritta come: P −1(t|t) = P −1(t|t − 1) + C ′ R−1C (5) Questa equazione descrive l’evoluzione della inversa della matrice P (t|t − 1) chiamata matrice di informazione I(t|t − 1). Formalmente questa ricorsione in I assomiglia alla formula di aggiornamento temporale per P . 21-3 Equazione di Riccati Le due equazioni di aggiornamento (al tempo e alla misura) possono essere fuse insieme ottenendo: x̂(t + 1|t) = A x̂(t|t − 1) + B u(t) + K(t) (y(t) − Cx̂(t|t − 1)) = = (A − K(t)C) x̂(t|t − 1) + B u(t) + K(t) y(t) (6) K(t) = AL(t) = AP (t|t − 1)C ′G−1(t), G(t) = R + CP (t|t − 1)C ′ P (t + 1|t) = AP (t|t − 1)A′ + DQD′ − AP (t|t − 1)C ′ G−1(t) CP (t|t − 1)A′ La prima equazione è inizializzata da x̂(1|0) = m0; l’ultima da P (1|0) = P0 . Quest’ultima equazione viene chiamata Equazione Ricorsiva di Riccati. Da essa dipende il valore assunto dal Guadagno di Kalman. Anche per sistemi stazionari, la matrice P (t|t − 1) e quindi il guadagno K(t) sono tempo-varianti. Il guadagno del predittore K(t) e il guadagno del filtro L(t) sono legati dalla relazione K(t) = AL(t). La matrice A − K(t)C = A (I − L(t)C) rappresenta la matrice della dinamica del filtro. 21-4 Predizione a più passi in avanti e interpolazione • Predizione a più passi. È facile verificare che per L = 0, 1, . . .: x̂(k + L + 1|k) = A x̂(k + L|k) (7) P (k + L + 1|k) = A P (k + L|k) A′ + DQD′ • Interpolazione. È più difficile dimostrare che per k > t: x̂(t|k) = x̂(t|k − 1) + K(k)e(k) e(k) = y(k) − Cx̂(k|k − 1) (8) K(k) = P (k|k − 1)C ′ (CP (k|k − 1)C ′ + R)−1 P (k + 1|k) = (A − K(k)C) P (k|k − 1) mentre K(k) e P (k|k − 1) rappresentano il guadagno di Kalman e la matrice di varianza del filtro di Kalman base. Si noti come ogni misura successiva all’istante t contribuisca a modificare la stima interpolata di x(t) in maniera proporzionale all’innovazione della misura stessa calcolata dal filtro di Kalman base. Il peso da assegnare all’innovazione è dato dal guadagno dell’interpolatore K(k) che differisce dal guadagno di Kalman K(k). 21-5 Il Filtro di Kalman e l’Osservatore (1/2) Un classico problema della Teoria dei Sistemi è il seguente: dato il sistema dinamico lineare x(t + 1) = Ax(t) + Bu(t) (9) y(t) = Cx(t), in cui lo stato iniziale non è accessibile, determinare un algoritmo che, elaborando le uscite, fornisca una approssimazione sempre migliore dello stato corrente x(t). La soluzione è fornita dall’osservatore (ricostruttore dello stato): x̂(t + 1) = Ax̂(t) + Bu(t) + K (y(t) − Cx̂(t)) (10) La scelta del guadagno K che pesa la differenza fra l’uscita del sistema e l’uscita dell’osser△ vatore avviene tenendo conto che l’errore di ricostruzione x e(t) = x(t) − x̂(t) evolve secondo l’equazione: x e(t + 1) = (A − KC) x e(t) (11) L’asintotica stabilità della matrice A − KC garantisce il raggiungimento dell’obiettivo. La struttura del ricostruttore è riportata nello schema seguente. 21-6 Struttura dell’Osservatore. Il Filtro di Kalman e l’Osservatore (2/2) Confrontando l’osservatore con il filtro di Kalman si nota che essi hanno lo stessa struttura. Struttura del Filtro di Kalman. 21-8 Tuttavia l’evoluzione dell’errore di stima x e(t|t − 1) = x(t) − x̂(t|t − 1) è aleatoria dovendo tener conto dei disturbi di processo e di misura: x e(t + 1|t) = (A − K(t)C) x e(t|t − 1) + Dw(t) − K(t)v(t) (12) Adesso il guadagno K(t) non influenza solo la dinamica del filtro A − K(t)C, ma anche l’amplificazione del disturbo di misura v(t). Bisogna operare un compromesso tra dinamica rapida (alti valori del guadagno) e reiezione del disturbo di misura (bassi valori del guadagno). Nel Filtro di Kalman, la scelta del guadagno K(t) avviene in modo da minimizzare, istante per istante, la varianza di x e(t+1|t). Un problema di ottimo Sia {x̂(t|N ); t = 1, . . . , N } la successione di stime interpolate dello stato, fornita dal filtro di Kalman, basata sulle misure y(1), . . . , y(N ). Si può dimostrare che questa successione è la soluzione del seguente problema di ottimo: n ks(1) − m0k2P −1 + {x̂(t|N ), t = 1, . . . , N } = arg min{s(t),t=1,...,N } 0 + PN −1 t=1 ks(t + 1) − As(t) − Bu(t)k2Q−1 + PN t=1 ky(t) − Cs(t)k2R−1 o (13) In sostanza la successione {x̂(t|N ), t = 1 . . . , N } è fra tutte le successioni {s(1), . . . , s(N )} quella che meglio interpola una combinazione pesata dei seguenti termini: • l’incertezza iniziale, rendendo piccolo il termine ks(1) − m0 k2P −1 0 • le misure, rendendo piccolo il termine ky(t) − Cs(t)k2R−1 (rappresenta l’errore di interpolazione della t-esima misura); • la dinamica, rendendo piccolo il termine ks(t + 1) − As(t) − Bu(t)k2Q−1 che rappresenta l’errore di interpolazione della dinamica al passo t. 21-10 Si noti che questi ultimi due errori sono pesati in base all’inverso della matrice di varianza rispettivamente del disturbo di misura e del disturbo di processo. In altri termini se le misure sono affette da grossi errori (R elevata) non è necessario che la stima dello stato le riproduca con precisione; e viceversa se la dinamica dello stato è molto incerta (Q elevata) è opportuno che la stima dello stato segua le misure, anche a scapito di una sua evoluzione temporale assai irregolare.