Implementowanie filtra Kalmana dla pozycji, prędkości, przyspieszenia


9

Używałem filtrów Kalmana dla różnych rzeczy w przeszłości, ale teraz jestem zainteresowany wykorzystaniem jednego do śledzenia położenia, prędkości i przyspieszenia w kontekście stanowiska śledzenia smartfonów aplikacje. Uderza mnie, że powinien to być tekstowy przykład prostego liniowego filtru Kalmana, ale nie mogę znaleźć żadnych linków internetowych, które mogłyby to omawiać. Mogę wymyślić różne sposoby na zrobienie tego, ale zamiast badać to od zera, być może ktoś tutaj wskaże mi właściwy kierunek:

  1. Czy ktoś zna najlepszy sposób skonfigurowania tego systemu? Na przykład, biorąc pod uwagę najnowszą historię obserwacji pozycji, jaki jest najlepszy sposób przewidywania następnego punktu w przestrzeni stanów filtra Kalmana? Jakie są zalety i wady włączenia przyspieszenia do przestrzeni stanu? Jeśli wszystkie pomiary dotyczą pozycji, to czy prędkość i przyspieszenie znajdują się w przestrzeni stanów, czy system może stać się niestabilny? Itd ...
  2. Alternatywnie, czy ktoś wie o dobrych referencjach dla tej aplikacji filtrów Kalmana?
Dzięki


Wikipedia ma tutaj prosty przykład . To wystarczająco proste, aby uzyskać szczegółowe informacje. Aby odpowiedzieć na pierwsze pytanie, przewidujesz następny stan, korzystając z aktualnego stanu i dynamicznego modelu zachowania systemu.
Jason R

@JasonR dziękuję za komentarz, ale szukam czegoś więcej niż na Wikipedii. Używałem filtrów Kalmana wiele razy, więc szukam jak największej liczby szczegółów na temat najlepszych podejść i pułapek tej konkretnej aplikacji.
Stochastycznie

2
Filtry Kalmana są na tyle dojrzałe, że trudno będzie znaleźć szczegółowy współczesny przykład. W skrócie: nawet jeśli mierzysz tylko pozycję, warto uwzględnić pochodne takie jak prędkość i przyspieszenie w wektorze stanu. Ilość pochodnych, które śledzisz, jest związana z wielomianową kolejnością zmian w stanie, w którym filtr będzie mógł śledzić bez błędu statycznego.
Jason R

@JasonR bardzo dziękuje, w przypadku braku czegokolwiek innego, to z pewnością bardzo przydatny wskaźnik :-).
Stochastycznie

Nie jest to dokładnie to, czego szukasz, ale ta odpowiedź na podobne pytanie może pomóc.
Peter K.

Odpowiedzi:


4

To jest najlepszy, jaki znam

Pełne wyprowadzenie z wyjaśnieniem

Kalman

To dobre źródło informacji o filtrze Kalmana. Jeśli jesteś bardziej zainteresowany uruchomieniem aplikacji na smartfona, sugeruję poszukiwanie wcześniejszej implementacji filtra Kalmana. Po co wymyślać koło ponownie? Na przykład, jeśli tworzysz dla Androida, openCV ma implementację filtru Kalmana. Zobacz Android OpenCV

Bradski i Kaehlerogólnie dobrym źródłem informacji o przetwarzaniu obrazu i zawierają sekcję dotyczącą filtru Kalmana, w tym przykłady kodu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.