Dieser Artikel beschäftigt sich mit der Vorlesung „Lokalisierung Mobiler Agenten“ am KIT. Er dient als Prüfungsvorbereitung. Ich habe die Vorlesungen bei Herrn Dr.-Ing. Gerhard Kurz im Sommersemester 2016 gehört.
Behandelter Stoff
Übersicht
| Datum | Kapitel | Inhalt |
|---|---|---|
| 17.05.2016 | 5. Vorlesung | Hessische Normalform, Least Squares |
| 24.05.2016 | 6. Vorlesung | Least Squares |
| 21.06.2016 | 10. Vorlesung | Optimalitätsbeweise (Erwartungstreue); Stochastische Kombination |
| 28.06.2016 | 11. Vorlesung | Dynamische Lokalisierung (Kalman Filter: Prädiktions- und Filterschritt) |
| 05.07.2016 | 12. Vorlesung | Kalman Filter: Filterschritt; SLAM |
| 12.07.2016 | 13. Vorlesung | Particle Filter, SLAM |
Statische Lokalisierung
Slides: 20160517-lma-1
- Hessische Normalform (Hesse normal form)
- An equation describing a plane: $$x \cdot n - d = 0$$ where $x$ is a point, $n$ is the unit normal vector of the plane and $d$ is the distance of the plane to the origin.
- Methode der kleinsten Quadrate (Least Squares Methode)
- Bei der Lokalisierung mobiler Agenten in einem Raum mit 4 Wänden
genügen zwei nicht-parallele Abstandsmessungen. Hat man mehr Messungen,
so kann man mit der Methode kleinster Quadrate die beste Position
bestimmen.
Der Fehler ist dann $e = y - H x$.
Damit definiert man das Gütemaß $$G(x) = (y- Hx)^T W^{-1} (y-Hx)$$ wobei $W^{-1}$ eine symmetrische, positiv definite Gewichtungsmatrix ist. - Rekursive Methode kleinster Quadrate
- Wenn bereits einmal die beste Schätzung bestimmt wurde, will man nicht wieder alles neu berechnen, wenn ein neues Sensorergebnis hinzukommt. Bei uns mit vektorwertigen Sensoren, nicht wie im Skript mit Skalaren.
Slides: 6. Vorlesung
- Sherman-Morrison-Woodbury-Formel
- Für zwei $n\times k$-Matrizen $U, V$ gilt:
Die $k\times k$-Matrix $E-V^T A^{-1}U$ sei regulär, dann gilt $$(A-UV^T)^{-1} = A^{-1}+A^{-1}U(E-V^TA^{-1}U)^{-1}V^T A^{-1}$$
Dynamische Lokalisierung
- Kalman-Filter
- Siehe Kalman-Filter-Artikel.
SLAM
- SLAM (Simultaneous Localization and Mapping)
- SLAM ist ein Algorithmus, welcher zugleich eine Karte erstellt und
einen mobilen Agenten auf der Karte lokalisiert. Eine Karte sind
Positionen von Landmarken.
Ansätze:- Filterung (rekursiv): z.B. Kalman-Filter;
EKF,
UKF (sigma-Punkte / samples; einfach zu implementieren und liefert häufig bessere Ergebnisse als EKF),
Partikelfilter (Wahrscheinlichkeitsdichten werden durch Partikel / samples repräsentiert)
$\Rightarrow$ Schätzen für Zeitschritt - Smoothing / Glättung (batch): Nachteile (Rechenaufwendig, erst nach batch ist Ergebnis da, man muss Daten speichern) und Vorteile (komplette Trajektorie, optimale Schätzung selbiger); z.B. Graph-based SLAM
Herausforderungen:- Datenassoziation: Erkennen, ob Landmarken die gleichen sind.
- Komplexität (große Karte)
- Veränderung der Umgebung: z.B. Auto als Landmarke erkannt; neue Brücke kommt hinzu oder wurde abgerissen
- Nichtlinearitäten des Problems
- Filterung (rekursiv): z.B. Kalman-Filter;
EKF,
UKF (sigma-Punkte / samples; einfach zu implementieren und liefert häufig bessere Ergebnisse als EKF),
Partikelfilter (Wahrscheinlichkeitsdichten werden durch Partikel / samples repräsentiert)
- Landmarke
- Ein gut sichtbares / wiedererkennbares Objekt, welches zur Abstandsmessung benutzt werden kann.
- EKF SLAM
-
EKF SLAM basiert auf dem Extended Kalman Filter.
Vereinfachungen:
- Problem in 2D
- Feste Zahl von punktförmigen Landmarken
- Assoziationen bekannt: Landmarken werden zuverlässig erkannt und nicht verwechselt.
Dimension von $\mathbf{x}_k$: $3 + 2 M$.
Kovarianz hat $(3+2M)^2$ Elemente, d.h. der Speicheraufwand ist quadratisch in der Zahl der Landmarken.
Systemgleichung: $x_{k+1} = a_k (x_k, M_k) + w_k$
$x_{k+1} \approx A_k x_k + w_k,$ wobei $A_k$ Jacobi-Matrix von $a_k(x_k, u_k)$ für festes $u_k$ an der Stelle $\hat{x}_k^e$.
Messgleichung: $y_k = h(x_k) + v_k$
In der Regel sind nicht alle Landmarken zugleich sichtbar. In diesem Fall werden Zeilen in der Messabbildung weggelassen. $$y_k = H_k(x_k) + v_k,$$ wobei $H_k$ die Jacobi-Matrix von $h(x_k)$ an der Stelle $\hat{x}_k^P$ ist. - Particle Filter (Partikelfilter, Sequential Monte Carlo, SMC)
-
Idee: Schätze Zustand über Partikel.
Ansatz: Sample aus Transitionsdichte
$$f(x_{k+1} | x_k = p_k^1, u_k$$
Implementierung:
- Rauschen $w_k$ samples $\rightarrow v_k^1, \dots, v_k^N$
- Propagiere durch $x_{k+1} = a_N(x_N, u_N) + w_N$, d.h. $p^1_{k+1} = a_k (p_k^1, u_k) + v_k^1$
- Gewichte bleiben gleich
Lösung: Resampling mit sequential importance resampling (SIR: ziehe $N$ neue Partikel mit Gewichten $\frac{1}{n}$ aus Menge der alten Partikel, wobei die Wahrscheinlichkeit, das Partikel $p_k^i$ zu ziehen, gerade $w_k^i$ ist.)
Material und Links
Die Vorlesung wurde gestreamt und ist unter mml-streamdb01.ira.uka.de verfügbar.
Literatur und Links:
Vorlesungsempfehlungen
Folgende Vorlesungen sind ähnlich:
- Analysetechniken großer Datenbestände
- Informationsfusion
- Machine Learning 1
- Machine Learning 2
- Mustererkennung
- Neuronale Netze
- Lokalisierung Mobiler Agenten
- Probabilistische Planung
Termine und Klausurablauf
Es ist eine mündliche Prüfung.