Kalman-Filter für nichtlineare Systeme
- Erweiterung der Modelle:
- 2d-Flug
- 2d-Abstandsmessungen zu vorgegebenen Bezugspunkten
- Problem: Messwertbestimmung ist nichtlinear
- Erweiterung des Kalman-Filters nötig (Extended Kalman
Filter)
- Flugmodell:
- analog zu Flight1D, aber mit 2d-Start- und Landekoordinaten
- Zustandsvektor 6-dimensional (x, y, vx, vy, ax, ay)
- Parameter
- einige Hilfsrechnungen der Einfachheit halber in der
Maske
- Aufbau
- Einfaches Testsystem:
- Modell flug2d1.mdl
- Messung der beiden Beschleinigungskomponenten
- H = [0 0 0 0 1 0; 0 0 0 0 0 1]
- System-Matrizen
- kinematisches System wie oben, mit dt = 1
- aber alle Größen jetzt selbst zweidimensional

- in Matlab
- kron([1, 1, 0.5; 0, 1, 1; 0, 0,
1], [1, 0; 0, 1])
- analog

- Ergebnis

- Abweichung ähnlich wie im 1d-Fall
- Extended Kalman Filter:
- Kalman-Filter kann für nichtlineares System erweitert
werden
- hier nur Spezialfall nichtlinearer Messung
- Systemgleichungen
- Filter-Gleichungen
- Prädiktor

- Korrektor

- als Simulink-Modell

- Block Measurement muss für spezielle Messung angepasst
werden
- Messmodell:
- zusätzlich zu Beschleunigungen werden Abstände
zu zwei vorgegebenen Punkten P1, P2 bestimmt
- leicht berechnet als
- Jacobi-Matrix der Messung
- mit

- erhält man

- liefert
- Messwerte mit Rauschen (z)
- Messwerte ohne Rauschen (h(x))
- Jacobi-Matrix H
- Koordinaten der Punkte P1, P2 als Parameter
- Aufbau

- Zusammenschieben der Teile mit Block Matrix Concatenate
- Gesamtsystem:
- Modell flug2d2.mdl

- Messungsblock 2-Point-Distance steckt auch im Extended
Kalman Filter !
- Ergebnis

- i.W. wie bei 1d
- seltsame Peaks (hohe Ungenauigkeit) bei t = 250
- Ursache
- Abstandsmessung liefert grundsätzlich zwei mögliche
Orte

- Anfangswert x0 legt pS fest
- nahe des Schnittpunkts liefern die Abstandsmessungen
keine Entscheidung
- ungenaue Beschleunigungsmessung gibt den Ausschlag
- Erweiterung des Modells:
- Simulation eines temporären Ausfalls der Beschleunigungssensoren
- Parameter für Beginn und Ende des Ausfalls
- Umschaltung zwischen entsprechenden Messungen
- Verbesserung der Bedienbarkeit
- bisher zwei identische Messmodelle (eins im Filter)
- Parameteränderungen immer bei beiden eintragen!
- stattdessen jetzt nur ein Messmodell
- liefert Ergebnisse für "reale" Messungen
und für interne Filterberechnungen
- Gesamtsystem
- Messung wurde aus dem Filter ausgelagert

- gibt seinen x-Predictor-Wert nach außen (zum
Messblock)
- Verbesserung des Messblocks
- modularer Aufbau

- verbessert deutlich die Übersichtlichkeit und
Verständlichkeit
- Unterblöcke
- Umschaltung bei Ausfall der a-Sensoren

- Berechnung der Messwerte (wird 2x verwendet)

- Berechnung der Jacobi-Matrix

- Berechnung der Kovarianz-Matrix

- Ergebnisse:
- Ausfall von 0 bis 200

- Werte fasst wie vorher, etwas schlechter mit zunehmender
Ausfallzeit
- Ausfall von 200 bis 400

- deutliche Verschlechterung
- Flugbahn und Filter-Vorhersage
- mit funtionierendem a-Sensor

- mit Ausfall des a-Sensors von 200 bis 400
