Mathematische Grundlagen Kalman Filter Kalman Filter Stephan Meyer FWPF Ortsbezogene Anwendungen und Dienste Georg-Simon-Ohm-Hochschule Nürnberg 07.12.2007 Beispielprogramm Mathematische Grundlagen Outline 1 Mathematische Grundlagen 2 Kalman Filter 3 Beispielprogramm Kalman Filter Beispielprogramm Mathematische Grundlagen Kalman Filter Mathematische Grundlagen 1 Mathematische Grundlagen Matrizen Zufallsvariablen Gaußverteilung Kovarianz und Kovarianz-Matrizen 2 Kalman Filter 3 Beispielprogramm Beispielprogramm Mathematische Grundlagen Kalman Filter Matrizen Matrizen Matrix Rechteckiges Zahlenschema 12 23 7 Einfache 2 × 3 Matrix 34 4 2 n × m bedeutet Zeilen × Spalten Oft mit Großbuchstaben angegeben, die die Zeilen-/Spalteninformation im Index tragen a11 a12 a13 a21 a22 a23 A43 = a31 a32 a33 a41 a42 a43 Beispielprogramm Mathematische Grundlagen Kalman Filter Beispielprogramm Matrizen Rechengesetze Addition: A22 + B22 = a11 a12 b11 b12 a11 + b11 a12 + b12 + = a21 a22 b21 b22 a21 + b21 a22 + b22 Multiplikation: a11 a12 b b = a21 a22 · 11 12 = b21 b22 a31 a32 A32 · B22 a11 · b11 + a12 · b21 a11 · b12 + a12 · b22 = a21 · b11 + a22 · b21 a21 · b12 + a22 · b22 a31 · b11 + a32 · b21 a31 · b12 + a32 · b22 Matrizenmultiplikation ist nicht kommutativ! A · B 6= B · A Mathematische Grundlagen Kalman Filter Beispielprogramm Matrizen Transponierte Matrix Transponierte Matrix Spiegelung“ der Matrix an der Diagonalen von ” rechts unten a11 a11 a12 a13 T A33 = a21 a22 a23 , A33 = a12 a13 a31 a32 a33 links oben nach a21 a31 a22 a32 a23 a33 Mathematische Grundlagen Kalman Filter Matrizen Inverse Matrix Inverse Matrix Eine Matrix multipliziert mit ihrer Inversen ergibt die Einheitsmatrix A · A−1 = E Berechnung mit: Gauß-Jordan-Algorithmus LR-Zerlegung Cholesky-Zerlegung Beispielprogramm Mathematische Grundlagen Kalman Filter Beispielprogramm Zufallsvariablen Zufallsvariablen Definition (Papula): Eine Zufallsvariable oder Zufallsgröße X ist eine Funktion, die jedem Elementarereignis ω aus der Ergebnismenge Ω genau eine reelle Zahl X (ω) zuordnet. Unterscheide zwischen: Diskreten ZV (Augensumme bei mehrmaligem Würfeln) Stetigen ZV (Prozess in der Natur) Mathematische Grundlagen Kalman Filter Beispielprogramm Zufallsvariablen Erwartungswert und Varianz Gewünscht: Wie sind die Werte einer Zufallsvariablen ungefähr verteilt? Erwartungswert Angegeben durch E oder µ Entspricht z.B. dem Mittelwert der möglichen Variablen-Werte Varianz Angegeben durch σ 2 Maß für die mittlere quadratische Abweichung der Werte vom Erwartungswert Mathematische Grundlagen Kalman Filter Beispielprogramm Gaußverteilung Gauß- bzw. Normalverteilung Bezeichnung X ∼ N(µ, σ 2 ) Eine Zufallsvariable X ist gaußverteilt mit Erwartungswert µ und Varianz σ 2 Dichtefunktion (t−µ)2 1 f (t) = √ e − 2σ2 σ 2π Mathematische Grundlagen Gaußverteilung Gaußkurve Kalman Filter Beispielprogramm Mathematische Grundlagen Kalman Filter Kovarianz und Kovarianz-Matrizen Kovarianz Kovarianz Maßzahl für Zusammenhang zweier Zufallsvariablen X,Y Positiv, wenn lineare Abhängigkeit Negativ, wenn reziproke Abhängigkeit Null, wenn nicht voneinander abhängig Hoher Betrag → hohe Abhängigkeit Formeln Cov (X , Y ) := µ((X − µ(X ))(Y − µ(X ))) Cov (X , X ) := σ 2 (X ) Beispielprogramm Mathematische Grundlagen Kalman Filter Beispielprogramm Kovarianz und Kovarianz-Matrizen Kovarianzmatrix Definition Eine Kovarianzmatrix beschreibt die paarweisen Abhängigkeiten der Komponenten eines Zufallsvektors. Beispiel: Zufallsvektor und Kovarianzmatrix X x = Y Z Cov (X , X ) Cov (X , Y ) Cov (X , Z ) Cov (x) = Cov (Y , X ) Cov (Y , Y ) Cov (Y , Z ) Cov (Z , X ) Cov (Z , Y ) Cov (Z , Z ) Mathematische Grundlagen Der Kalman Filter 1 Mathematische Grundlagen 2 Kalman Filter Grundlegendes Anwendung Modell Formeln 3 Beispielprogramm Kalman Filter Beispielprogramm Mathematische Grundlagen Kalman Filter Beispielprogramm Grundlegendes Grundlegendes Was ist ein Kalman Filter? Mathematischer Formelsatz zur Werteschätzung in linearen dynamischen Systemen anhand fehlerbehafteter Messungen Vom ungarisch-amerikanischen Mathematiker Rudolf Emil Kalman 1960 entworfen Mathematische Grundlagen Kalman Filter Beispielprogramm Grundlegendes Besonderheiten Besonderheiten Prediktor-Korrektor-Struktur Keine Wertespeicherung nötig → Rekursion Funktionsweise als Black-Box Geringer Rechenaufwand → Echtzeitfähigkeit Berücksichtigung von manuellen Änderungen am System → Regelungstechnik Mathematische Grundlagen Kalman Filter Anwendung Einsatzgebiete Beispiele GPS-/INS-Navigation Satellitengestützte Messungen in der Atmosphäre (z.B. Ozon, N2 O,...) Navigation und Steuerung von Apollo-Raumkapseln Positionsbestimmung bei autonomen Fahrzeugen Generic Kalman Filter Software der NASA Filterung von Störsignalen bei Seismographen Beispielprogramm Mathematische Grundlagen Kalman Filter Anwendung Varianten des Kalman Filters Varianten Extended Kalman Filter (nichtlineare Systeme) Kalman Schmidt Filter (Apollo) Kalman Bucy Filter (Regelungstechnik) Fuzzy Kalman Filter Local Ensemble Transform Kalman Filter Beispielprogramm Mathematische Grundlagen Kalman Filter Beispielprogramm Modell Modell Zustandsvektor Beschreibt den aktuellen Systemzustand Z.B. Position, Geschwindigkeit, Beschleunigung, ... Prediktor-Korrektor-Schema A priori Schätzung des Systemzustandes auf Basis des vorherigen Systemzustandes und manueller Änderungen Messung des Systemzustandes (fehlerbehaftet) A posteriori Schätzung des Systemzustandes auf Basis der Messung und der a priori-Schätzung Prediktor-Phase wird als Time Update bezeichnet Korrektor-Phase wird Measurement Update genannt Mathematische Grundlagen Modell Modell Kalman Filter Beispielprogramm Mathematische Grundlagen Kalman Filter Formeln Der zu schätzende Prozess Zustandsvektor xk = A · xk−1 + B · uk + wk−1 Elemente xk xk−1 A uk B wk−1 aktueller Zustandsvektor (Schritt k) vorheriger Zustandsvektor (Schritt k − 1) Transformationsmatrix für Abbildung xk−1 → xk Vektor der manuellen Änderungen Transformationsmatrix uk → xk Vektor über Prozessrauschen Beispielprogramm Mathematische Grundlagen Kalman Filter Formeln Der zu schätzende Prozess Messung zk = H · xk + vk Elemente zk xk H vk aktueller Messungsvektor (Schritt k) aktueller Zustandsvektor (Schritt k) Transformationsmatrix für Abbildung xk → zk Vektor über Messfehler Beispielprogramm Mathematische Grundlagen Kalman Filter Formeln Fehlervektoren Prozessrauschen wk Transformationsfehler beim Übergang von xk−1 nach xk p(w ) ∼ N(0, Q) Q ist Kovarianzmatrix von wk Messfehler vk Abweichung der Messung zk vom Systemzustand p(v ) ∼ N(0, R) R ist Kovarianzmatrix von vk Vereinfachung: Q und R werden als konstant betrachtet Beispielprogramm Mathematische Grundlagen Kalman Filter Beispielprogramm Formeln Time Update A priori Zustandsvektor und Fehlerkovarianzmatrix x̂k,apri = A · x̂k−1,apos + B · uk Pk,apri = A · Pk−1,apos · AT + Q Elemente x̂k,apri a x̂k−1,apos a Pk,apri a Pk−1,apos a priori Schätzung des aktuellen Zustandsvektors posteriori Schätzung des vorherigen Zustandsvektors priori Schätzung der aktuellen Fehlerkovarianzmatrix posteriori Schätzung der aktuellen Fehlerkovarianzm. Mathematische Grundlagen Kalman Filter Beispielprogramm Formeln Measurement Update Kalman Gain und a posteriori Schätzungsvektoren Kk = Pk,apri · H T · (H · Pk,apri · H T + R)−1 x̂k,apos = x̂k,apri + Kk · (zk − H · x̂k,apri ) Pk,apos = (E − Kk · H) · Pk,apri Elemente Kk x̂k,apos Pk,apos Kalman Gain a posteriori Schätzung des aktuellen Zustandsvektors a posteriori Schätzung der aktuellen Fehlerkovarianzm. Mathematische Grundlagen Beispielprogramm 1 Mathematische Grundlagen 2 Kalman Filter 3 Beispielprogramm Kalman Filter Beispielprogramm Mathematische Grundlagen Beispielprogramm Kalman Filter Beispielprogramm Mathematische Grundlagen Kalman Filter Beispielprogramm Ende Vielen Dank für Ihre Aufmerksamkeit!