Wytrzymały Variational Bayes UKF dla GPS w warunkach miejskich: tłumienie anomalii za pomocą rozkładu Studentta
W warunkach miejskiego kanionu sygnały GPS cierpią na wielodrogowe odbicia i ekranowanie, co powoduje skoki w pseudoodległościach. Klasyczny UKF z fuzją danych i gaussowskim szumem traci precyzję, podczas gdy Variational Bayes UKF modeluje szum jako rozkład Studentta. Iteracyjna estymacja zmiennej skalującej automatycznie zmniejsza wagę anomaliach pomiarów. Symulacje wykazały redukcję RMSE pozycjonowania o ponad połowę w porównaniu do bazowego UKF.
Wytrzymałość dzięki zmianie modelu szumu i fuzji sensorów
Klasyczne filtry Kalmana zakładają addytywny szum gaussowski, ale rzeczywiste anomalie GPS mają ciężkie ogony. Przejście na rozkład Studentta pozwala ważyć pomiary według reszt: duże błędy otrzymują niski ciężar, zapobiegając zniekształceniu trajektorii.
Waga obliczana jest jako $w = \frac{\nu + m}{\nu + d^2}$, gdzie $\nu$ — stopnie swobody, $m$ — wymiarowość pomiaru, $d^2$ — kwadrat odległości Mahalanobisa. Przy małym $\nu$ (np. 2) waga spada szybko dla skoków, przy dużym ($\nu \to \infty$) — zbliża się do przypadku gaussowskiego.
Fuzja sensorów uzupełnia GPS danymi inercyjnymi (IMU). W podejściu VB macierze kowariancji $R_i$ dla każdego sensora estymowane są iteracyjnie jako zmienne losowe, zapewniając dynamiczne przesuwanie zaufania.
Przy anomaliach GPS VB-UKF zwiększa wariancję $R_{GPS}$, zmniejszając jego udział i przechodząc na IMU do ustabilizowania sygnału.
Ochrona w implementacji
# 1. Ochrona przed przekroczeniem modelu
if self.cap_lambda_to_1:
lamvec = np.minimum(lamvec, 1.0)
# 2. Ochrona przed dzieleniem przez zero
lamvec = np.clip(lamvec, self.lambda_clip[0], self.lambda_clip[1])
Te klipy zapobiegają wagom >1 (naruszenie fizyki) i NaN od ekstremalnych skoków.
Złożoność obliczeniowa i kompromisy
Klasyczny UKF używa 2n+1 punktów sigma do nieliniowej aproksymacji, złożoność $O(n^3)$ z powodu inwersji macierzy. VB-UKF dodaje iteracje wariacyjnego wnioskowania bayesowskiego do aproksymacji posteriori Studentta rozkładem gaussowskim.
Wariacyjne wnioskowanie minimalizuje divergenję KL między prawdziwym posteriori a przybliżeniem, zbiegając się w 5–10 iteracjach na krok. To złoty środek: efektywniejsze niż Particle Filter ($O(N_p n^2)$, $N_p \gg 2n$), ale wytrzymalsze niż punktowy UKF.
Do strumieniowej filtracji w czasie rzeczywistym VB-UKF nadaje się do systemów wbudowanych z dynamiką do 100 Hz.
Model symulacyjny: trajektoria CTRV
Model dynamiki — Constant Turn Rate and Velocity (CTRV) do symulacji manewrującego obiektu w miejskim kanionie:
- Stan: $[x, y, v, \psi, \dot{\psi}]^T$
- Pomiary GPS: $[x_gps, y_gps]$ z anomaliami
- IMU: akcelerometr, żyroskop
Parametry:
- Nominalny szum GPS: $\sigma_{gps} = 3$ m
- Anomalie: skoki do 50–100 m z prawdopodobieństwem 5–10%
- $\nu = 4$ dla balansu czułości
- Kroki symulacji: 1000 s, częstotliwość 10 Hz
Struktura danych — buforowane pomiary z timestampem, wektor stanu 5D.
Wyniki symulacji
Trajektorie i RMSE
Na trajektorii z zakrętami i anomaliami klasyczny UKF odbiega o 20–50 m, VB-UKF trzyma błąd <10 m. RMSE pozycjonowania: 7.2 m (VB) vs 18.5 m (Fusion UKF).
NIS (Normalized Innovation Squared) dla VB-UKF zgodny z rozkładem $\chi^2$, wskazując na poprawny model szumu.
Adaptacja wag
Mechanizm VB dynamicznie obniża wagę GPS przy $d^2 > \nu$: wykres pokazuje spadek z 1 do 0.1 w 2–3 krokach po anomalii, powrót w 5 krokach.
Proces przejściowy
Po skoku VB-UKF odzyskuje trajektorię w 10–20 krokach vs 50+ dla bazowego UKF. Adaptacja $R$ wygładza przejście.
Co najważniejsze
- VB-UKF redukuje RMSE o połowę w anomaliach GPS dzięki Studenttowi i iteracyjnej estymacji $R$.
- Dynamiczne ważenie sensorów bez heurystyk: priorytet GPS/IMU zmienia się bayesowsko.
- Koszt obliczeniowy — 5–10 iteracji na krok, akceptowalne dla czasu rzeczywistego.
- Dostrojenie przez $\nu$: 2–4 dla agresywnej wytrzymałości, >10 dla gaussowskiego.
- NIS/NEES potwierdzają spójność modelu.
— Editorial Team
Brak komentarzy.