Berechnung der Momente: Unscented Kalman Filter (UKF)

Analytische Momente

  • Scheinbar die beste Methode, da schnell & feste Laufzeit 👍
  • Aber
    • Herleitung aufwändig
    • Formeln werden schnell unhandlich groß

Beispiel: Kubisches Sensorproblem (skalar)

Output $y$ ist nonlinear abhängig von dem Zustand $x$:

$$ y=h(x)+v=x^{3}+v $$

Gegeben

  • Priore Schätzung $x_p \sim \mathcal{N}(\hat{x}_p, \sigma_p^2)$
  • Messung $\hat{y}$
  • Rauschen $v$ ist Gaußverteilt mit $E\{v\}=0, \operatorname{Cov}\{v\}=Z_{v}^{2}$

Definiere

$$ z := \left[\begin{array}{l} x \\ y \end{array}\right] \Rightarrow E\{\underline{z}\}=\left[\begin{array}{c} \hat{x}_{p} \\ E\{h(x)\} \end{array}\right] $$

mit

$$ E\{h(x)\}=\int_{\mathbb{R}} h(x) f_{p}(x) d x=\int_{\mathbb{R}} x^{3} f_{p}(x) d x=\hat{x}_{p}^{2}+3 \hat{x}_{p} \sigma_{p}^{2}=:E_{3} $$

Definiere

$$ \bar{h}(x)=h(x)-E\{h(x)\} $$

Dann

$$ \operatorname{Cov}\{\underline{z}\}=\left[\begin{array}{ll} \mathbf{C}_{x x} & \mathbf{C}_{x y} \\ \mathbf{C}_{y x} & \mathbf{C}_{y y} \end{array}\right]=\left[\begin{array}{cc} \sigma_{p}^{2} & E\left\{\left(x-\hat{x}_{p}\right) \bar{h}(x)\right\} \\ E\left\{\left(x-\hat{x}_{p}\right) \bar{h}(x)\right\} & E\left\{\overline{h}^{2}(x)\right\}+\sigma_{v}^{2} \end{array}\right] $$ $$ \begin{aligned} E\left\{\left(x-\hat{x}_{p}\right)\bar{h}(x)\right\} &= E\left\{\left(x-\hat{x}_{p}\right)\left(x^{3}-E_{3}\right)\right\} \\ &= E\left\{x^{4}-\hat{x}_{p} x^{3}-E_{3} x+\hat{x}_{p} E_{3}\right\} \\ &= E_4 - \hat{x}_p E_3 - E_3 \hat{x}_p + \hat{x}_p E_3 \\ &= E_4 - \hat{x}_p E_3 \end{aligned} $$

mit

$$ \begin{aligned} E_{q}&=\hat{x}_{p}^{4}+6 \hat{x}_{p}^{2} \sigma_{p}^{2}+3\sigma_{p}^{4} \\\\ &=\hat{x}_{p}^{4}+6 \hat{x}_{p}^{2} 2_{p}^{2}+3\sigma_{p}^{4}-\hat{x}_{p}^{4}-3 \hat{x}_{p}^{2} \sigma_{p}^{2} \\\\ &=3 \sigma_{p}^{4}+3 \hat{x}_{p}^{2} \sigma_{p}^{2} \\\\ &=3\sigma_{p}^{2}\left(\hat{x}_{p}^{2}+2_{p}^{2}\right) \end{aligned} $$

und

$$ E\left\{\bar{h}^{2}(x)\right\}=9 \hat{x}_{p}^{4} \sigma_{p}^{2}+36 \hat{x}_{p}^{2} \sigma_{p}^{4}+15\sigma_{p}^{6} $$

In der Kalmanfilter Filterungsgleichung einsetzen ergibt sich

$$ \begin{array}{l} \hat{x}_{e}=\hat{x}_{p}+\mathbf{C}_{xy}\mathbf{C}_{yy}^{-1}(\hat{y}-E\{h(x)\}) \overset{\text{skalar}}{=} \hat{x}_{p}+\frac{\mathbf{C}_{x y}}{\mathbf{C}_{y y}}(\hat{y}-E\{h(x)\}) \\ \sigma_{y}^{2}= \sigma_{p}^{2}-\mathbf{C}_{xy}\mathbf{C}_{yy}^{-1}\mathbf{C}_{yx} \overset{\text{skalar}}{=} \sigma_{p}^{2}-\frac{\mathbf{C}_{x y}^{2}}{\mathbf{C}_{y y}} \end{array} $$

Einschub: Momente Gaußdichte

Theorem

Die zentralen Momente einer Gaußdichte sind gegeben durch

$$ C\_{i}=E\_{f}\left\\{(\boldsymbol{x}-\hat{x})^{i}\right\\}=\left\\{\begin{array}{ll} \displaystyle\prod\_{j=1, j\text{ ungeradde}}^{i-1} j \sigma^{i}=1 \cdot 3 \cdot 5 \cdots(i-1) \sigma^{i} & i \text { gerade } \\\\ 0 & i \text { ungerade } \end{array}\right. $$

截屏2022-07-12 16.27.43

Numerische Momente

  • Verwendung von Standardverfahren zur Integration

  • 👍 Vorteile

    • Nutzung schneller Implementierungen
    • Einstellbare Genauigkeit
    • Adaptive Integration
  • 👎 Nachteile

    • Nicht für das konkrete Probleme der Momentenberechnung maßgeschneidert

Basierend auf Abtastwerten der prioren Dichte

Approximation der Prioren Gaußdichte durch Samples

Verschiedene Verfahren mit unterschiedliche Komplexität, Effizienz, Genauigkeit

  • Zufälliges Sampling mit Zufallszahlengenerator $\rightarrow$ unabhängige Samples

  • Abtastung (z.B. äquidistantes Gitter)

  • Minimale Approximation auf den Hauptachsen

    • Verwendung von $2N$ oder $2N + 1$ samples ($N$: #Dimension)

      wertkontinuierliche_nichtlineare_system-Minimal_Approximation.drawio
  • Genaue Approximation auf den Hauptachsen

    wertkontinuierliche_nichtlineare_system-Genau_Approximation.drawio
  • Allgemeine Sample-Approximation $\rightarrow$ Systematische Approximation durch Minimierung eines Gütemaßes

Einschub: Diracsche Deltafunktion

Betrachtung Grenzfall einer Gaußdichte

$$ f(x, m, \sigma)=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left\{-\frac{1}{2} \frac{(x-m)^{2}}{\sigma^{2}}\right\} $$

für $\sigma \rightarrow 0$

Plotting verschiedener Gaußdichte für $m=0$.

Plotting verschiedener Gaußdichte für $m=0$.

Dirasche Deltafunktion

$$ \delta(x-m)=\lim _{\sigma \rightarrow 0} f(x, m, \sigma) $$

Wenn die Bereite gegen 0 ($\sigma \to 0$), die Höhe gegen unendlich.

$$ \int_{-\infty}^{\infty} \delta(x-m) d x=1 $$

Definition: Diracsche Deltafunktion

$$ \delta(x)=\left\\{\begin{array}{cc} \text{Nicht definiert} & x=0 \\\\ 0 & \text { sonst } \end{array}\right. $$ $$ \int_{-\infty}^{\infty} \delta(x) d x=\int_{-\varepsilon}^{\varepsilon} \delta(x) d x=1, \varepsilon>0 $$
  • Laut Definition hat die Dirasche Deltafunktion alle Eigenschaften einer Dichte
  • Wichtige Eigenschaften
    • $f(x) \cdot \delta(x-m)=f(m) \delta(x-m)$
    • $\int_{\mathbb{R}} f(x) \delta(x-m) d x=f(m)$

Heaviside Funktion (Unit Step Function)

Cumulative Verteilungsfunktion der Gaußdichte

$$ F(x)=P(\boldsymbol{x} \leq x)=\int_{-\infty}^{x} f(x) d x=\frac{1}{2}\left\{1+\operatorname{erf}\left(\frac{x-m}{\sqrt{2} \sigma}\right)\right\} $$

Es gilt

$$ f(x)=\frac{d}{d x} F(x) $$

Definition: Heaviside Funktion

$$ H(x-m)=\lim\_{\sigma \to 0} F(x)=\left\\{\begin{array}{ll} 1 & x>m \\\\ \frac{1}{2} & x=m \\\\ 0 & x

Cumulative Verteilungsfunktion von $\delta(x)$ ist $H(x)$ mit

$$ \begin{array}{l} H(x)=\displaystyle\int_{-\infty}^{x} \delta(x) d x \\\\ \delta(x)=\frac{d}{d x} H(x) \end{array} $$

Multivariate Diracsche Deltafunktion

Dirasche Mischdichten (Dirac Mixture)

$$ f(x)=\sum_{i=1}^{L} \omega_{i} \delta \left(x-x_{i}\right) $$

Multivariate Diracdichte

$$ \delta(\underline{x})=\delta\left(x_{1}\right) \cdot \delta\left(x_{2}\right) \cdot \ldots, \quad \underline{x}=\left[x_{1}, x_{2}, \ldots\right]^{\top} $$

Multivariate Dirasche Mischdichte

$$ f(\underline{x})=\sum_{i=1}^{L} \omega_{i} \delta\left(\underline{x}-\underline{x}_{i}\right) $$

Umrechnung SNV $\rightarrow$ Allgemeine Gaußdichte

(SNV = Standard Normalverteilung $\mathcal{N}(0, 1)$)

  • Natürliche Lösung für Problem
  • Verschiedene Möglichkeiten mit unterschiedlicher Komplexität und Effizienz

Angenommen: Wir haben ein Approximationsverfahren, das eine standardverteilung in merh-/höher-dimension approximieren kann.

  • Gegeben: Gaußdichte mit $\underline{\hat{x}}=\underline{0}$ und $\mathbf{C}_x = \mathbf{I}_N$ ($N$-dim. Einheitsmatrix)
  • Gesucht: Dichte mit beliebigen Mittelwert $\underline{\hat{y}}$ und Kovarianzmatrix $\mathbf{C}_y$

Wir machen Cholesky-Zerlegung

$$ \mathbf{C}_{y}=\mathcal{C}_{y} \cdot \mathcal{C}_{y}^{\top} $$

wobei $\mathcal{C}_y$ eine untere Dreiecksmatrix.

Umrechnung

$$ \underline{y}=\mathcal{C}_{y} \cdot \underline{x}+\underline{\hat{y}} $$

Beweis:

$$ E\{\underline{y}\}=E\left\{\mathcal{C}_{y} \cdot \underline{x}+\hat{y}\right\}=\mathcal{C}_{y} \underbrace{E\{\underline{x}\}}_{=\underline{0}}+\underbrace{E\{\hat{y}}_{=\underline{y}}\}=\underline{\hat{y}} $$ $$ \begin{aligned} \operatorname{Cov}\{\underline{y}\} &=E\left\{(\underline{y}-E\{\underline{y}\})(\underline{y}-E\{\underline{y})^{\top}\right\} \\ &=E\left\{(\underline{y}-\underline{\hat{y}})(\underline{y}-\underline{\hat{y}})^{\top}\right\} \\ &=E\left\{\mathcal{C}_{y} \cdot \underline{x} \cdot \underline{x}^{\top} \mathcal{C}_{y}^{\top}\right\}\\ &=\mathcal{C}_{y} \cdot \underbrace{E\left\{\underline{x}\underline{x}^{\top}\right\}}_{=\mathbf{C}_{x}=\mathbf{I}_{N}} \cdot \mathcal{C}{y}^{\top} \\ &=\mathcal{C}_{y} \cdot \mathbf{I}_{N} \cdot \mathcal{C}_{y}^{\top}=\mathcal{C}_{y} \cdot \mathcal{C}_{y}^{\top} = \mathbf{C}_{y} \end{aligned} $$

Minimale Approximation SNV auf Hauptachsen

1D-Fall

Die wahre Dichte $\tilde{f}(x)$ sei eine 1D Standardnormalverteilung (SNV). Die möchten wir darstellen über eine Dirac Mixture

wertkontinuierliche_nichtlineare_system-SNV_approx_1D.drawio $$ f(x)=w_{1} \delta\left(x-x_{1}\right)+w_{2} \delta\left(x-x_{2}\right) \qquad w_{1}, w_{2} \geqslant 0 $$

Gaußdichte ist symmetrisch $\Rightarrow$

$$ w_{1}=w_{2}=w, \quad x_{1}=-x_{2} $$

Integral soll gleich 1 sein.

$$ \int_{\mathbb{R}} f(x) d x=w_{1}+w_{2}=2 w \stackrel{!}{=} 1 \Rightarrow w=\frac{1}{2} $$

Erwartungswert:

$$ E_{f}\{x\}=0=E_{\tilde{f}}\{x\} $$

Varianz:

$$ E_{f}\left\{x^{2}\right\}=\int_{\mathbb{R}} x^{2} f(x) d x=w x_{1}^{2}+w x_{2}^{2}=2 w x_{1}^{2} \stackrel{!}{=} 1 \Rightarrow x_{1}^{2}=1 \Rightarrow x_1 = -1, x_2 = 1 $$

2D-Fall

wertkontinuierliche_nichtlineare_system-SNV_approx_2D.drawio $$ \begin{aligned} f(x, y)=& w_{1} \delta\left(x-x_{1}\right) \delta(y)+w_{2} \delta\left(x-x_{2}\right) \delta(y) & w_{1}, w_{2} \geqslant 0 \\ &+v_{1} \delta(x) \delta\left(y-y_{1}\right)+v_{2} \delta(x) \delta\left(y-y_{2}\right) & v_{1}, v_{2} \geqslant 0 \end{aligned} $$

Symmetrie $\Rightarrow$

$$ w_{1}=w_{2}=v_{1}=v_{2}=w, \quad x_{1}=-x_{2}, \quad v_{1}=-y_{2} $$

Integral = 1

$$ \int_{\mathbb{R}^{2}} f(x, y) d x d y=w\left\{\int_{\mathbb{R}} s\left(x-x_{1}\right) d x \int_{\mathbb{R}} f(y) d y+\ldots\right\}=4 w \stackrel{!}{=} 1 \Rightarrow w=\frac{1}{4} $$

Varianz

$$ \iint_{\mathbb{R}} x^{2} f(x, y) d x d y=w x_{1}^{2}+w x_{2}^{2}=2 w x_{1}^{2} \stackrel{!}{=} 1 \Rightarrow x_{1}^{2}=2 \Rightarrow x_1 = -\sqrt{2}, x_2 = \sqrt{2} $$

$x, y$ sind nicht unabhänging:

$$ f(x, y) \neq f(x) \cdot f(y), E\{x \cdot y\}=0 $$

N-dim Fall

$$ \begin{array}{c} w=\frac{1}{2 N} \quad \underline{x}=\left[x^{(1)}, x^{(2)}, \ldots\right]^{\top} \\ \Rightarrow \begin{equation} x_{1}^{(i)}=-\sqrt{N}, \quad x_{2}^{(i)}=+\sqrt{N}, \quad i=1, \ldots, N \end{equation} \end{array} $$

Ablauf des Filters mit Sampling der prioren Dichte

Messfunktion (Bsp.)

$$ y = x^3 + v $$

Priore Schätzung: Gaußdichte $\tilde{f}_{p}(x)=\mathcal{N}\left(x, \hat{x}_{p}, \sigma_{p}^{2}\right)$

Rauschen: $v \sim \tilde{f}_v(v) = \mathcal{N}(v, 0, \sigma_v^2)$

截屏2022-09-12 22.29.08

Approximation

$$ f_{p}(x)=\frac{1}{2} \delta\left(x-x_{1}\right)+\frac{1}{2} \delta\left(x-x_{2}\right) $$

wobei

$$ x_1 = \hat{x}_p - \sigma_p \quad x_2 = \hat{x}_p + \sigma_p $$ $$ f_v(v)=\frac{1}{2} \delta(\underbrace{x - \sigma_{v}}_{=v_{1}})+\frac{1}{2} \delta(\underbrace{x+\sigma_{v}}_{=v_{2}}) $$

Dann

$$ y_{i j}=x_{i}^{3}+v_{j} \qquad i=1,2 , j=1,2 $$

Wir sampeln für $x$ und $v$ jeweils 2 Samples. Dann kriegen wir 4 Paare $(x, y)$: $(x_1, y_{11}), (x_1, y_{12}), (x_2, y_{21}), (x_2, y_{22})$, also die 4 violette Punkte im Bild.

Wir nehmen an, dass $x, y$ gemeinsam Gaußverteilt sind. Dann berechnen wir mit dieser 4 Punkte den Mittelwert und Kovarianz, und fitten wir eine Gaußdichte (Moment matching).

Wir haben auch die Messung $\hat{y}$, die diese approximierte Gaußdichte schneidet. Mit $\hat{y}$ können wir jetzt den probabilistischen Kalman Filter durchführen.