Der Kalman-Filter, auch bekannt als lineare quadratische Schätzung, ist ein Algorithmus in der Statistik und Regelungstechnik, der unbekannte Variablen aus einer Reihe von Messungen schätzt, die über die Zeit beobachtet werden. Er berücksichtigt statistisches Rauschen und andere Ungenauigkeiten, um Schätzungen zu erzeugen, die typischerweise genauer sind als solche, die auf einer einzelnen Messung basieren. Der Filter arbeitet rekursiv, indem er für jeden Zeitschritt eine gemeinsame Wahrscheinlichkeitsverteilung über die Variablen schätzt, und ist nach dem in Ungarn geborenen Ingenieur Rudolf E. Kálmán benannt, der die Methode 1960 einführte. Die Kalman-Filterung hat weit verbreitete Anwendung in der Führung, Navigation und Steuerung von Fahrzeugen wie Flugzeugen, Raumfahrzeugen und Schiffen gefunden, sowie in der Zeitreihenanalyse, Signalverarbeitung, Ökonometrie und Robotik. Sie wird auch zur Modellierung der Bewegungssteuerung durch das zentrale Nervensystem angewendet, wo sie Verzögerungen zwischen motorischen Befehlen und sensorischem Feedback kompensiert. Der Algorithmus ist für den Echtzeitbetrieb ausgelegt und verwendet nur die aktuelle Messung, den zuvor berechneten Zustand und seine Unsicherheitsmatrix, ohne zusätzliche vergangene Informationen zu benötigen. Der Filter ist unter bestimmten Bedingungen optimal: Wenn die Prozess- und Messkovarianzen bekannt sind und die Fehler eine gaußsche Verteilung mit Mittelwert null aufweisen, ist er der bestmögliche lineare Schätzer im Sinne des minimalen mittleren quadratischen Fehlers. Erweiterungen wie der erweiterte Kalman-Filter und der unscented Kalman-Filter behandeln nichtlineare Systeme, und der Filter wurde effektiv in der Multi-Sensor-Fusion und in verteilten Sensornetzwerken eingesetzt. Der Filter ist nach Rudolf E. Kálmán benannt, einem ungarischen Emigranten, obwohl Thorvald Nicolai Thiele und Peter Swerling ähnliche Algorithmen früher entwickelten. Richard S. Bucy trug zur Theorie bei, was zum gelegentlich verwendeten Namen Kalman-Bucy-Filter führte. Kálmán stützte seine Ableitung auf Zustandsraumvariablen, die auf das Wiener-Filterproblem angewendet wurden. Die erste Implementierung wird Stanley F. Schmidt zugeschrieben, der erkannte, dass der Filter zu nichtlinearen Problemen passen könnte, während Kálmán das Ames Research Center der NASA besuchte. Dies führte dazu, dass der Filter in den Navigationscomputer der Apollo-Mission integriert wurde, der nur 2k magnetischen Kernspeicher, 36k Drahtseilspeicher und eine Taktfrequenz unter 100 kHz verwendete. Der digitale Filter ist auch ein Sonderfall eines allgemeineren nichtlinearen Filters, der von Ruslan Stratonovich entwickelt wurde, und wird manchmal als Stratonovich-Kalman-Bucy-Filter bezeichnet. Die Methode wurde erstmals in Arbeiten von Swerling (1958), Kalman (1960) und Kalman und Bucy (1961) beschrieben. Kalman-Filter waren wesentlich in den Navigationssystemen der nuklearen ballistischen U-Boot-Raketen und Marschflugkörper der US-Marine, sowie in der Führung, Navigation und Steuerung von wiederverwendbaren Trägerraketen und Raumfahrzeugen, die an der Internationalen Raumstation andocken.
Algorithmus und mathematischer Rahmen
Der Kalman-Filter basiert auf einem verborgenen Markov-Modell mit einem kontinuierlichen Zustandsraum, in dem sowohl latente als auch beobachtete Variablen Normalverteilungen folgen. Der Filter schätzt den Zustand eines dynamischen Systems durch einen zweiphasigen Prozess: Vorhersage und Aktualisierung. In der Vorhersagephase verwendet der Filter das dynamische Modell des Systems und bekannte Steuereingaben, um den aktuellen Zustand und seine Unsicherheit (Kovarianz) auf den nächsten Zeitschritt zu projizieren. In der Aktualisierungsphase integriert der Filter eine neue Messung, die durch Rauschen verfälscht ist, um die Schätzung zu verfeinern. Die Verfeinerung ist ein gewichteter Durchschnitt, bei dem die Gewichte Quellen mit geringerer Unsicherheit mehr Vertrauen zuweisen. Die Gewichte werden aus einer Kovarianzmatrix berechnet, was zu einer neuen Zustandsschätzung führt, die zwischen dem vorhergesagten Zustand und dem gemessenen Wert liegt. Der Filter ist rekursiv und ermöglicht eine Echtzeitverarbeitung mit begrenztem Speicher und begrenzter Rechenleistung. Die Optimalität des Filters besteht darin, dass der Kalman-Filter, wenn die Prozess- und Messgeräusche einen Mittelwert von null haben und gaußsch mit bekannten Kovarianzen sind, der Schätzer mit minimalem mittleren quadratischen Fehler ist. Selbst wenn das Rauschen nicht gaußsch ist, bleibt er der beste lineare Schätzer im Sinne des minimalen mittleren quadratischen Fehlers, sofern die Mittelwerte und Kovarianzen bekannt sind. Ein häufiges Missverständnis ist, dass der Filter gaußsches Rauschen erfordert, aber er kann breiter angewendet werden, wenn auch nicht als optimaler Schätzer.
Geschichte und Entwicklung des Kalman-Filters
Die Filtermethode ist nach Rudolf E. Kálmán benannt, der inspiriert wurde, Zustandsvariablen auf das Wiener-Filterproblem anzuwenden. Die Theorie wurde teilweise von Peter Swerling und Kalman entwickelt, wobei Kalman und Bucy sie 1961 erweiterten. Stanley F. Schmidt, der am Apollo-Führungs- und Navigationssystem arbeitete, wird die erste Implementierung zugeschrieben. Er teilte den Filter in zwei Teile: einen für Zeiträume zwischen Sensorausgaben und einen für die Integration von Messungen. Diese Implementierung lief auf dem Apollo-Navigationscomputer, der einen 2K-Kernspeicher und einen 36k-Drahtseil-Steuerspeicher hatte, mit einer zentralen Recheneinheit aus integrierten Schaltkreisen, die mit unter 100 kHz lief. Die Fähigkeit, einen Kalman-Filter auf solch begrenzter Hardware auszuführen, war eine bemerkenswerte technische Leistung. Der Filter ist seitdem wesentlich in der Führung und Navigation von nuklearen ballistischen Marschflugkörpern der US-Marine, einschließlich der Tomahawk-Rakete und der luftgestützten Marschflugkörper; er wird auch in wiederverwendbaren Trägerraketen und Raumfahrzeugen verwendet, die an der Internationalen Raumstation andocken.
Sensorfusion und multimodale Integration
Eine Schlüsselstärke des Kalman-Filters ist seine Fähigkeit, Daten von mehreren Sensoren zu fusionieren, auch bekannt als Sensorfusion oder Datenfusion. Er erzeugt eine Zustandsschätzung basierend auf verrauschten Sensordaten, Näherungen in den Systemgleichungen und anderen externen Faktoren. Der Filter geht effektiv mit Unsicherheit durch Sensorrauschen und zufällige externe Störungen um und bietet eine robuste Methode zur Verfolgung von Systemen. Zum Beispiel kann der Filter in einem Fahrzeugnavigationssystem GPS, Trägheitsmessungseinheiten und Modelle nutzen, um Schätzungen anzupassen. In verteilten Sensornetzwerken können Konsensalgorithmen aufgebaut werden, die es Systemen ermöglichen, dezentrale Verfolgung zu koordinieren. Die Zustandsschätzung ist ein gewichteter Mittelwert des vorhergesagten Zustands und der Messstatus, wobei die Gewichte aus der Kovarianz berechnet werden, die die Unsicherheit darstellt. Dieser Ansatz stellt sicher, dass zuverlässigere Daten einen größeren Einfluss auf die endgültige Schätzung haben.
Erweiterungen und Verallgemeinerungen
Obwohl der grundlegende Kalman-Filter auf lineare Systeme mit gaußschem Rauschen beschränkt ist, wurden viele Erweiterungen entwickelt, um Nichtlinearitäten zu behandeln. Der erweiterte Kalman-Filter (EKF) linearisiert die Systemdynamik und die Messmodelle mittels Taylor-Reihen um die aktuelle Schätzung, was die Anwendung in nichtlinearen Kontexten ermöglicht. Der unscented Kalman-Filter (UKF) verwendet eine deterministische Stichprobentechnik, um die Zustandsverteilung durch ein nichtlineares System zu propagieren, und erreicht in bestimmten Fällen eine verbesserte Genauigkeit. Diese Methoden werden in Bereichen wie Robotik, autonomer Navigation und Zeitreihenanalyse angewendet. Darüber hinaus werden Kalman-Filter in der Ökonometrie zur Schätzung von Zustandsraummodellen und in der Signalverarbeitung zur Filterung und Vorhersage verwendet. In der Realität ist das Modell des Filters für ein System immer eine Näherung, und die Fähigkeit des Filters, Fehler über den Aktualisierungsschritt zu korrigieren, ist dennoch wichtig.
Externe Links und Referenzen
Der Kalman-Filter ist ein grundlegendes Werkzeug in den Ingenieur- und Sozialwissenschaften mit einer breiten Palette von Anwendungen, einschließlich autonomes Fahren, Autopilot-Systeme und Navigationssoftware. Seine Entwicklung wurde vom Wiener-Filter inspiriert, und seine theoretische Basis ist eng mit der Regelungstechnik und Signalverarbeitung verbunden. In der künstlichen Intelligenz und im maschinellen Lernen integrieren sich Konzepte und nichtlineare Erweiterungen mit moderner Zustandsschätzung und Datenassimilation für das Training dynamischer Systeme. Der Filter wird auch in der Modellierung des zentralen Nervensystems für die Motorsteuerung verwendet, wo er als Mechanismus vorgeschlagen wird, mit dem das Gehirn Verzögerungen im sensorischen Feedback behandelt.