Come capire Kalman ottenere intuitivamente?


30

L' algoritmo del filtro Kalman funziona come segue

Inizializza x 0 | 0 e P 0 | 0 .x^0|0P0|0

Ad ogni iterazione k=1,,n

predire

Previsto (a priori) Stato stima x k | k - 1 = F k x k - 1 | k - 1 + B k u k Previsione (a priori) stima covarianza P k | k - 1 = F k P k - 1 | k - 1 F T k + Q k Aggiornamento

x^k|k1=Fkx^k1|k1+Bkuk
Pk|k1=FkPk1|k1FkT+Qk

L'innovazione o la misura residua Covarianza per l'innovazione (o residua) S k = H k P k | k - 1 H T

y~k=zkHkx^k|k1
Guadagno Kalmanottimale Kk=Pk| k-1H T k S - 1 k
Sk=HkPk|k1HkT+Rk
Kk=Pk|k1HkTSk1
Aggiornamento (a posteriori) Stato stima x k | k = x k | k - 1 + K k ˜ y k Stima della covarianza stimata (a posteriori) P k | k = ( I - K k H k ) P k | k - 1
x^k|k=x^k|k1+Kky~k
Pk|k=(IKkHk)Pk|k1

Kky~kx^k|k1

Kk

  • Pk|k1

  • Hk

  • Sk

Grazie e saluti!


Questa è una domanda difficile a cui rispondere correttamente. Ci ho provato, ma non sono convinto della mia risposta. Fondamentalmente il guadagno controlla quanto ti fidi delle misurazioni rispetto alla stima, ma non posso spiegare come questo guadagno sia conforme.
Jav_Rock,

Risposte:


18

KK

 Kk=PkHkT(HkPkHkT+Rk)1=PkHkTHkPkHkT+Rk

ti renderai conto che le magnitudini relative delle matrici (RkPkxkk

 limRk0PkHkT HkPkHkT+Rk =Hk1

 limPk0PkHkT HkPkHkT+Rk =0

Sostituendo il primo limite nell'equazione di aggiornamento della misurazione

 x^k=xk+Kk(y~kHkxk)

R è piccola, il che significa che le misurazioni sono accurate, la stima dello stato dipende principalmente dalle misurazioni.

HPHTRxk


2
KkHk .
Tim

12

Il guadagno di Kalman ti dice quanto voglio cambiare il mio preventivo dando una misurazione.

SKzKSK

PKXKPK

PKPK0K0


2

Jav_Rock ha capito. In realtà se scriviKK come questo

 KK=PK-HKT(HKPK-HKT+RK)-1=HK-HKPK-HKTHKPK-HKT+RK

il numeratore della frazione rappresenta l'incertezza propagata dal modello while RKrappresenta l'incertezza della misurazione. Quindi il valore della frazione rappresenta quanto dovremmo fidarci della misurazione, come spiegato da Jav_Rock.

Per quanto riguarda la HK-, trasforma semplicemente l'osservazione nello stato, perché è lo stato che vogliamo aggiornare, non l'osservazione.

Per concludere, il guadagno KK calcola quanta correzione dovremmo prendere dall'osservazione e trasformare la correzione dell'osservazione in correzione dello stato, che porta all'aggiornamento della stima dello stato:

 X^K=XK-+KK(y~K-HKXK-)


-1

Sto lavorando all'algoritmo Kalman Filter (KF). Ho osservato che il guadagno di Kalman si occupa della convergenza dell'algoritmo nel tempo, ovvero della velocità con cui l'algoritmo corregge e minimizza il residuo.

Venendo all'equazione scegli un valore di guadagno iniziale kalman e variarlo da basso ad alto, che può darti un valore approssimativo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.