Robustes Variational-Bayes-UKF für GPS in Stadtcanyons: Ausreißerablehnung mit Student-t-Verteilung
In Stadtcanyons leiden GPS-Signale unter Mehrwegeausbreitung und Signalblockaden, was zu Ausreißern in den Pseudorängen führt. Der klassische Fusion-UKF mit Gaußschem Rauschen verliert an Genauigkeit, während das Variational-Bayes-Fusion-UKF das Rauschen als Student-t-Verteilung modelliert. Die iterative Schätzung des Skalenparameters gewichtet anomalen Messungen automatisch herunter. Simulationen zeigten über 50 % Reduktion des Positionierungs-RMSE im Vergleich zum Basis-UKF.
Robustheit durch Rauschmodell-Ersatz und Sensordatenfusion
Klassische Kalman-Filter gehen von gaußschem additivem Rauschen aus, doch reale GPS-Ausreißer haben schwere Ränder. Der Wechsel zur Student-t-Verteilung gewichtet Messungen nach Residuen: Große Fehler erhalten geringes Gewicht und verhindern Verzerrungen der Trajektorie.
Das Gewicht berechnet sich als $w = \frac{\nu + m}{\nu + d^2}$, wobei $\nu$ die Freiheitsgrade, $m$ die Messdimension und $d^2$ die quadratische Mahalanobis-Distanz ist. Bei niedrigem $\nu$ (z. B. 2) fallen Gewichte bei Ausreißern schnell ab; bei hohem $\nu$ ($\nu \to \infty$) nähert es sich dem Gauß-Fall an.
Sensordatenfusion koppelt GPS mit Inertialdaten (IMU). Im VB-Ansatz werden Kovarianzmatrizen $R_i$ für jeden Sensor iterativ als Zufallsvariablen geschätzt, was dynamische Vertrauensumverteilung ermöglicht.
Bei GPS-Anomalien bläht VB-UKF die Varianz von $R_{GPS}$ auf, reduziert dessen Einfluss und stützt sich auf die IMU, bis das Signal stabilisiert.
Schutzmaßnahmen in der Implementierung
# 1. Lambda auf 1 begrenzen, um Modellinkongruenz zu vermeiden
if self.cap_lambda_to_1:
lamvec = np.minimum(lamvec, 1.0)
# 2. Division durch Null verhindern
lamvec = np.clip(lamvec, self.lambda_clip[0], self.lambda_clip[1])
Diese Begrenzungen verhindern Gewichte >1 (physikalisch unmöglich) und NaNs durch extreme Ausreißer.
Rechenkomplexität und Abwägungen
Der klassische UKF nutzt 2n+1 Sigma-Punkte für nichtlineare Approximation mit $O(n^3)$-Komplexität durch Matrixinversionen. VB-UKF ergänzt Iterationen für variationelle Bayes-Inferenz, um das Student-t-Posterior durch eine Gaußsche Approximation zu modellieren.
Variationelle Inferenz minimiert die KL-Divergenz zwischen echtem Posterior und Approximation und konvergiert in 5–10 Iterationen pro Schritt. Es ist ein guter Kompromiss: effizienter als Partikelfilter ($O(N_p n^2)$, $N_p \gg 2n$), aber robuster als reiner UKF.
Für Echtzeit-Streaming auf eingebetteten Systemen mit Dynamiken bis 100 Hz eignet sich VB-UKF hervorragend.
Simulationsaufbau: CTRV-Trajektorie
Dynamikmodell: Constant Turn Rate and Velocity (CTRV) für ein manövrierendes Fahrzeug in einem Stadtcanyon:
- Zustand: $[x, y, v, \psi, \dot{\psi}]^T$
- GPS-Messungen: $[x_{gps}, y_{gps}]$ mit Ausreißern
- IMU: Beschleunigungssensor, Gyroskop
Parameter:
- Nenn-GPS-Rauschen: $\sigma_{gps} = 3$ m
- Ausreißer: Sprünge auf 50–100 m mit 5–10 % Wahrscheinlichkeit
- $\nu = 4$ für ausgewogene Empfindlichkeit
- Simulation: 1000 s, 10 Hz Takt
Datenstruktur: Zeitstempel-basierte gepufferte Messungen, 5D-Zustandsvektor.
Simulationsergebnisse
Trajektorien und RMSE
Bei Trajektorien mit Kurven und Ausreißern driftet der klassische UKF um 20–50 m ab, während VB-UKF Fehler unter 10 m hält. Positionierungs-RMSE: 7,2 m (VB) vs. 18,5 m (Fusion-UKF).
NIS (Normalized Innovation Squared) für VB-UKF passt zur $\chi^2$-Verteilung und bestätigt korrektes Rauschmodell.
Gewichtsanpassung
VB-Mechanismus gewichtet GPS dynamisch herunter, wenn $d^2 > \nu$: Diagramme zeigen Abfall von 1 auf 0,1 in 2–3 Schritten nach Ausreißer, Erholung in 5 Schritten.
Transientenverhalten
Nach einem Ausreißer erholt VB-UKF die Trajektorie in 10–20 Schritten vs. 50+ beim Basis-UKF. Adaptives $R$ glättet den Übergang.
Wichtige Erkenntnisse
- VB-UKF halbiert RMSE bei GPS-Ausreißern durch Student-t und iterative $R$-Schätzung.
- Dynamische Sensorgewichtung ohne Heuristiken: GPS/IMU-Prioritäten verschieben sich bayesianisch.
- Rechenaufwand: 5–10 Iterationen/Schritt, geeignet für Echtzeit.
- Abstimmung über $\nu$: 2–4 für aggressive Robustheit, >10 für gaußähnlich.
- NIS/NEES validieren Modellkonsistenz.
— Editorial Team
Noch keine Kommentare.