SDE WS25: AP 2.5 Glättung der Messwerte mittels Kalman-Filter
Zur Navigation springen
Zur Suche springen

Autor: Jan Steffens
Einleitung/Funktion
Die aus dem vorherigen erhaltenen Prismapositionspunkte im WeltKOS (X;Y;Z) sollen dem KalmanFilter.m Modul übergeben und innerhalb dessen geglättet werden. Außerdem werden vX und vY bestimmt. Rückgabewerte sind die geglätteten X und Y Koordinaten im WeltKOS und die X und Y Geschwindigkeiten (X;Y;vX;vY).
Anforderungen
| ID | Testfallbeschreibung | Eingang | Erwartetes Ergebnis |
|---|---|---|---|
| 1 | Punkte der Alphabotposition werden übergeben | PW (XPos; YPos) | Punkte werden nacheinander übergeben |
| 2 | Punkte werden Kalman gefiltert | Kalman Parameter & PW | geglättete Punkte |
| 3 | X und Y Geschwindigkeit wird bestimmt | PW (XPos; YPos) | vX und vY |
| 4 | Geglättete Punkte und Geschwindigkeiten ausgeben | (X;Y;vX;vY) |
Softwareentwurf
-
Abb. 2: PAP für KalmanFilter.m
Umsetzung
SVN-Links:
Modultest
Für den Modultest wurde die Funktion KalmanFilter.m mit dem Testframework TestKalmanFilter.m getestet.
| Req | Testfallbeschreibung | Eingang | Erwartetes Ergebnis | Testergebnis | Testperson | Datum |
|---|---|---|---|---|---|---|
| 1 | Test auf Existenz des Skripts | Skript (KalmanFilter.m) | Skript vorhanden | Skript vorhanden | Jan Steffens | 08.01.26 |
| 2 | Test auf Reset des Filters | Skript (KalmanFilter.m) | Filter wird zurückgesetzt | Filter wird zurückgesetzt | Jan Steffens | 08.01.26 |
| 3 | Test auf Initialisierung | Testdaten: z = [1;2] & dt = 0.1 | [1;2;0;0] | [1;2;0;0] | Jan Steffens | 08.01.26 |
| 4 | Test auf passendes Ausgabeformat | Testdaten: z = [0;0] & dt = 0.1 | xEst = [4 1] | xEst = [4 1] | Jan Steffens | 08.01.26 |
| 5 | Test auf Stillstand | konstante Testdaten z = [0;0] | vx & vy = 0 | vx & vy = 0 | Jan Steffens | 08.01.26 |
| 6 | Test auf Bewegung | Änderung der Position in X & Y Richtung (z) | vx & vy != 0 | vx & vy != 0 | Jan Steffens | 08.01.26 |
| 7 | Test auf fehlende Positionsdaten | z1 = [1;0] , z2 = [NaN;NaN] & dt = 0.1 | x2(1:2) == x1(1:2) + x1(3:4) * dt | x2(1:2) == x1(1:2) + x1(3:4) * dt | Jan Steffens | 08.01.26 |
| 8 | Test auf nicht numerische Werte | Testdaten z = [1:20;0] & dt = 0.1 | keine inf und NAN Ergebnisse | keine inf und NAN Ergebnisse | Jan Steffens | 08.01.26 |
-
Abb. 3: Testergebnis von TestKalmanFilter.m
→ zurück zum Hauptartikel: Spurverfolgung mit Kamera