Filtr Kalmana szacuje stan układu na podstawie zaszumionych pomiarów. Łączy on matematyczny model zachowania układu z danymi z czujników, które nigdy nie są idealne. Rezultatem jest oszacowanie lepsze niż w przypadku samego modelu lub samego czujnika.
Rudolf Kalman opublikował ten algorytm w 1960 roku. Został on wykorzystany w komputerze nawigacyjnym Apollo i od tamtej pory w niemal każdym systemie naprowadzania. Robot wykorzystuje go do łączenia danych z odometrii kół, IMU, GPS i lidaru w jedną prognozę położenia. Dron wykorzystuje go do łączenia danych z akcelerometru i żyroskopu w celu uzyskania stabilnej pozycji.
Jak działa filtr Kalmana
- Przewidywanie: użycie modelu do oszacowania następnego stanu.
- Aktualizacja: użyj pomiaru czujnika, aby poprawić prognozę.
- Zysk: ważenie prognozy i pomiaru ze względu na ich niepewność.
- Kowariancja: śledź niepewność szacunku.
- Iteracja: powtarzanie przy każdym kroku czasowym.
Filtr zakłada układy liniowe i szum gaussowski. Rzeczywiste układy są często nieliniowe, dlatego istnieją rozszerzony filtr Kalmana i filtr Kalmana bezzapachowy. Linearyzują one model wokół bieżącego oszacowania. Filtr Kalmana nie jest magiczny. To zasadniczy sposób łączenia niedoskonałych informacji. Zły model lub złe dane z czujników spowodują, że otrzyma on złe oszacowanie. Jednak gdy model i czujniki są rozsądne, jest on niezwykle skuteczny. Jest to jeden z najważniejszych algorytmów w robotyce.
Comments
No comments yet. Be the first to share a thought.
Leave a comment