Schwach nichtlineare wertekontinuierliche Systeme
Lineare Vs. Nichtlineare Systeme
| Linear | Nichtlinear |
---|
Systemabbildung | xβk+1β=Akβxβkβ+Bkβ(uβkβ+wβkβ) | xβk+1β=aβkβ(xβkβ,uβkβ,wβkβ) |
Messabbildung | yβkβ=Hkβxβkβ+vβkβ | yβkβ=hβkβ(xβkβ,vβkβ) |
Extended Kalman Filter (EKF)
π‘ Idee: Linearisierung mit Tylorentwicklung 1. Ordnung um die beste verfΓΌgbare SchΓ€tzung, um den (linear) Kalman-Filter zu vewenden.
Systemabbildung
aβkβ(xβkβ,uβkβ)βNomialteilaβkβ(xβkβ,uβkβ)ββ+DifferentialteilAkβ(xβkββxβkβ)+Bkβ(uβkββuβkβ)ββMessabbildung
hβkβ(xβkβ,vβkβ)βNomialteilhβkβ(xΛβkβ,vΛβkβ)ββ+DifferentialteilHkββ
(xβkββxΛβkβ)+Lkββ
(vβkββvΛβkβ)ββ
PrΓ€diktion
Filterung
(Linear) KF vs. EKF
| (Linear) KF | EKF |
---|
PrΓ€diktion | x^βkpβ=Akβ1βx^βkβ1eβ+Bkβ1βu^βkβ1β Ckpβ=Akβ1βCkβ1eβAkβ1β€β+Bkβ1βCkβ1wβBkβ1β€β | x^βk+1pβ=aβkβ(x^βkeβ,uβ^βkβ) Ck+1pββAkβCkeβAkβ€β+Ckwβ²β=AkβCkeβAkβ€β+BkβCkwβBkβ€β |
Filterung | Kkβ=CkpβHkβ€β(Ckvβ+HkβCkpβHkβ€β)β1 x^βkeβ=x^βkpβ+Kkβ(y^ββkββHkβx^βkpβ) Ckeβ=(IβKkβHkβ)Ckpβ | $\begin{aligned} \mathbf{K}_{k}&=\mathbf{C}_{k}^{p} \mathbf{H}_{k}^{\top}\left(\mathbf{L}_{k} \mathbf{C}_{k}^{v} \mathbf{L}_{k}^{\top}+\mathbf{H}_{k} \mathbf{C}_{k}^{p} \mathbf{H}_{k}^{T}\right)^{-1} \\ \hat{\underline{x}}_{k}^{e}&=\hat{\underline{x}}_{k}^{p}+\mathbf{K}_{k}\left[\hat{\underline{y}}_{k}-\underline{h}_{k}\left(\hat{\underline{x}}_{k}^{p}, \hat{\underline{v}}_{k}\right)\right] \\ \mathbf{C}_{k}^{e}&=\mathbf{C}_{k}^{p}-\mathbf{K}_{k} \mathbf{H}_{k} \mathbf{C}_{k}^{p} = (\mathbf{I} - \mathbf{K}_{k} \mathbf{H}_{k})\mathbf{C}_{k}^{p} \end{aligned}$ |
Auxiliary | | Akβ=βxβkβ€ββaβkβ(xβkβ,uβkβ)ββxβkβ=x^βkβ1eβ,uβkβ=uβ^βkββ Bkβ=βuβkβ€ββaβkβ(xβkβ,uβkβ)ββxβkβ=x^βkβ1eβ,uβkβ=uβ^βkββ Hkβ=βxβkβ€ββhβkβ(xβkβ,vβkβ)ββxβkβ=x^βkpβ,vβkβ=v^βkββ Lkβ=βvβkβ€ββhβkβ(xβkβ,vβkβ)ββxβkβ=x^βkpβ,vβkβ=v^βkββ |
Probleme
Berechnung der posteriore Verteilung nur gut fΓΌr βschwacheβ NichtlinearitΓ€t
Linearisierung nur um einen Punkt
Linearisiertes System ist i.A. zeitvariant, auch wenn originalsytstem zeitinvariant ist, da Linearisierung vom SchΓ€tzwert abhΓ€ngt.
Filterung
(Annahme: xβkβ
und yβkβ
sind gemeinsam GauΓverteilt)
Define zβ:=[xβyββ]
Mittelwert und Varianz von zβ berechnen.
ΞΌβzβ=[ΞΌβxβΞΌβyββ]=L1βi=1βLβ[xβiβyβiββ],Czβ=L1βi=1βLβ(zβiββΞΌβzβ)(zβiββΞΌβzβ)β€=[CxxβCyxββCxyβCyyββ]Filterung in probabilistischer Form mit Messung yβ^β
x^βkeβCkeββ=xβkpβ+CxyβCyyβ1β(y^βββΞΌβyβ)=CkpββCxyβCyyβ1βCyxββ
Unscented Kalman Filter (UKF)
Unscented Prinzipien
- Nichtlineare Transformation eines einzelnen Punktes ist einfach
- Es ist einfach, eine Punktwolke zu finden, deren Stichprobenmittelwert und -varianz mit den Momenten der gegebene Dichte ΓΌbereinstimmen.
- Es ist einfach, Mittelwert und Varianz einer Punktwolke zu bestimmen
Bsp: additives Rauschen
xβk+1βyβkββ=aβkβ(xβkβ)+wβkβ=hβkβ(xβkβ)+vβkββPrΓ€diktion
Samples/Particles/Punkte propagieren
xβkp,iβ=aβkβ1β(xβkβ1e,iβ)Mittelwert und Varianz basierend auf Samples berechnen
x^βkpβCkpββ=L1βi=1βLβxβkp,iβ=L1βi=1βLβ(xβkp,iββx^βkpβ)(xβkp,iββx^βkpβ)β€+Ckwββ
Fitlerung
Sampling:
Punkte Propagation
yβkp,iβ=hβkβ(xβkp,iβ)bzw.
yβki,jβ=hβkβ(xβkp,iβ,vβkjβ)Verbundraum zβ=[xβyββ]
erstellen (Annahme: xβkβ
und yβkβ
sind gemeinsam GauΓverteilt).
Mittelwert und Varianz von zβ berechnen.
ΞΌβzβ=[ΞΌβxβΞΌβyββ]=L1βi=1βLβ[xβiβyβiββ],Czβ=L1βi=1βLβ(zβiββΞΌβzβ)(zβiββΞΌβzβ)β€=[CxxβCyxββCxyβCyyββ]Filterung in probabilistischer Form mit Messung yβ^β
x^βkeβCkeββ=xβkpβ+CxyβCyyβ1β(y^βββΞΌβyβ)=CkpββCxyβCyyβ1βCyxββ
Sampling
Samples nur auf Hauptachsen: Insgesamt 2N btw. 2N+1 (N: #Dimensionen)
Vorteil von UKF gegen EKF
- UKF reduziert mΓΆglicherweise den Linearisierungsfehler des EKF
- Man braucht die Jacobi-Matrizen nicht zu berechnen π
Analytische Momente
Verbundraum zβ erstellen
z:=[xyβ]Mittelwert von zβ berechnen (mithilfe von hΓΆheren Momente der GauΓdichte)
E{zβ}=[x^pβE{h(x)}β]Differenz zwichen h(x) und Eh(x) berechnen
hΛ(x)=h(x)βE{h(x)}Cov{zβ} berechnen
Cov{zβ}=[CxxβCyxββCxyβCyyββ]=[Οp2βE{(xβx^pβ)hΛ(x)}βE{(xβx^pβ)hΛ(x)}E{h2(x)}+Οv2ββ]Filterung in probabilistischer Form.
x^βkeβCkeββ=xβkpβ+CxyβCyyβ1β(y^βββΞΌβyβ)=CkpββCxyβCyyβ1βCyxββ
Ensemble Kalman Filter (EnKF)
π‘ ReprΓ€sentiere den unsicheren SchΓ€tzwert nun per βStreuungsbreiteβ einer Punktwolke.
Als βunsicheren Zustandβ verwende L N-dim. Vektoren als Samples
Xkβ=[RNxβk,1βββ,xβk,2β,β¦,xβk,Lβ]βRNΓL,Wkβ=[wβk,1β,wβk,2β,β¦,wβk,Lβ]βRNΓLwobei die Samples als Spalten einer Matrix kompakt aufgefasst werden kΓΆnnen.
PrΓ€diktion
Nichtlinear
Xkpβ=aβkβ1β(Xkβ1eβ,uβkβ1β,Wkβ1β)Linear
Xkpβ=Akβ1βXkβ1eβ+Bkβ1β(uβkβ1β+Wkβ1β)
Filterung
- DurchfΓΌhrung der Filterschritt NUR mit Samples
- Vermeidung der Verwendung der Update-Formeln fΓΌr Kovarianzmatrix (Reine Representation der Unsicherheiten durch Samples)
Schritte
βPrΓ€dizierteβ Mess-Samples berechnen
linear
Ykβ=HkβXkpβ+Vkβnichtlinear
Ykβ=hβkβ(Xkpβ,Vkβ)
Kalman Gain berechnen
CxyβCyyβKβ=L1βi=1βLβxβk,ipββ
yβk,iβ€β=L1βXkpββ
Ykβ€β=L1βi=1βLβyβk,iββ
yβk,iβ€β=L1βYkββ
Ykβ€β=Cxyββ
Cyyβ1ββFilterschritt mit der tatsΓ€chlichen Messung y^ββkβ
Xkeβ=Xkpβ+K(y^ββkββ
1ββ€βYkβ)