Kalman-Filter-Tutorial
(kalmanfilter.net)Überblick
-
Über dieses Tutorial
- Der Kalman-Filter-Algorithmus ist ein leistungsstarkes Werkzeug zur Schätzung und Vorhersage von Systemzuständen unter Unsicherheit und wird in vielen Bereichen wie Zielverfolgung, Navigation und Regelung als grundlegender Baustein eingesetzt.
- Der Kalman-Filter ist konzeptionell einfach, kann aber komplex wirken, weil viele Materialien mathematische Vorkenntnisse voraussetzen und praktische Beispiele fehlen.
- 2017 wurde ein Online-Tutorial erstellt, das auf Zahlenbeispielen und intuitiven Erklärungen basiert, um das Thema leichter verständlich zu machen.
- Das Tutorial behandelt univariate (eindimensionale) und multivariate (mehrdimensionale) Kalman-Filter und wurde um fortgeschrittene Themen wie nichtlineare Kalman-Filter, Sensorfusion und praktische Implementierungsrichtlinien erweitert.
- Auf Grundlage dieses Tutorials wurde ein Buch verfasst, das theoretische Konzepte und praktische Anwendungen von den Grundlagen bis zu fortgeschrittenen Themen behandelt.
-
Über den Kalman-Filter
- Viele moderne Systeme verwenden mehrere Sensoren, um verborgene Zustände zu schätzen.
- Der Kalman-Filter ist ein Algorithmus, der verborgene Zustände eines Systems trotz Unsicherheit schätzt und zukünftige Zustände vorhersagt.
- In einer 1960 veröffentlichten Arbeit beschrieb Rudolf E. Kálmán eine rekursive Lösung für das Problem der linearen Filterung diskreter Daten.
Einführung in den Kalman-Filter
- Die Notwendigkeit von Vorhersagen
- Um die Notwendigkeit von Tracking- und Vorhersagealgorithmen zu verstehen, kann man das Beispiel eines Tracking-Radars heranziehen.
- Das Radar schätzt die aktuelle Position und Geschwindigkeit eines Ziels und sagt die Position des Ziels zum Zeitpunkt des nächsten Tracking-Strahls voraus.
- Die Vorhersage kann mit den Newtonschen Bewegungsgleichungen berechnet werden.
- Reale Radarmessungen sind nicht exakt und enthalten zufällige Fehler oder Unsicherheiten.
- Durch Messrauschen und Prozessrauschen kann die geschätzte Zielposition stark von der tatsächlichen Position abweichen.
- Der Kalman-Filter ist ein Algorithmus, der diese Unsicherheiten berücksichtigt und so die Tracking-Genauigkeit verbessert.
1 Kommentare
Hacker-News-Kommentare
Um den Kalman-Filter zu verstehen, sollte man zuerst Least Squares (lineare Regression) lernen und danach rekursives Least Squares sowie den Information Filter. So erkennt man, dass der Kalman-Filter in der Update-Phase eine Umgestaltung von rekursivem Least Squares ist, bei der Effizienz im Vordergrund steht
Als Material zum Kalman-Filter gibt es dieses PDF und das GitHub-Repository
Derzeit gibt es keine Werkzeuge für symbolische Berechnungen mit Wahrscheinlichkeitsverteilungen; dazu gehören Aufgaben wie das Multiplizieren multivariater gaußscher PDFs und das Ermitteln von Kovarianzmatrizen
Wenn Q und R konstant sind, entspricht der Kalman-Filter einem exponentiellen Filter mit Vorhersageschritt. Das ist leicht zu verstehen und passt zu der Vorgehensweise, Q und R manuell abzustimmen und zu optimieren
Zum besseren Verständnis des Kalman-Filters wird die Vorlesung von Michael van Biezem empfohlen
Es gibt die Idee, mit dem Kalman-Filter den Beobachtungswert von Vorfällen zu erhöhen, bei denen nur Zeugenaussagen vorliegen. Dabei werden Lügen und Ungenauigkeiten als „Fehler“ behandelt
Der Begriff „Tracking“ wird allgemein verwendet, meint aber oft eine bestimmte Art von Tracking und kann deshalb verwirrend sein
Der Kalman-Filter ist nach Rudolf E. Kálmán benannt, der 1960 eine Arbeit veröffentlichte, in der eine rekursive Lösung für das Problem der linearen Filterung diskreter Daten beschrieben wird