Masterarbeit: Marker-basierte Lokalisierung und Mapping
Allgemeine Beschreibung
Die Berechnung der eigenen aktuellen Position — die Lokalisierung — ist ein wichtiges Thema der mobilen Robotik. Unter der Verwendung verschiedener Sensoren ist es dem Roboter möglich, seine Umwelt sensoriell zu erfassen. Durch eine geeignete Verarbeitung der Sensordaten und der Extraktion relevanter Informationen aus der Umgebung lässt sich dann die eigene Position des Systems ermitteln.
In dieser Arbeit soll unter der Verwendung einer oder mehrerer geeigneter Kameras die Umgebung eines mobilen Roboters erfasst und aus diesen Informationen die Position des Roboters in einem Gebäude ermittelt werden. Als künstliche Landmarken sollen visuelle Marker, wie sie z.B. bei Augmented Reality (AR) Anwendungen zum Einsatz kommen, verwendet werden. Da in diesen Markern zusätzliche Informationen gespeichert werden können, kann eine zuverlässige, absolute Lokalisierung auch mit wenigen erfassten Markern erfolgen.
Eingangsdaten und angedachtes Vorgehen
Als Sensor zur Umgebungserfassung soll eine monokulare Kamera verwendet werden. Um einen möglichst großen Bereich erfassen zu können, können auch parallel mehrere Kameras zum Einsatz kommen. Alternativ ist die Verwendung einer Weitwinkelkamera oder einer omnidirektionalen Kamera möglich.
Als Eingangsdaten zur Lokalisierung erhält der mobile Roboter die Bilder der Kamera(s). Die Form und Größe der in der Umgebung angebrachten Marker kann als bekannt angenommen werden. Sind die intrinsischen Kameraparameter ebenfalls bekannt, so können aus der Größe und der Verzerrung der Marker im Kamerabild Rückschlüsse über die Distanz und Orientierung der aufnehmenden Kamera bezüglich diesen Marker gezogen werden.
Geforderte Ergebnisse
Ein mobiler Roboter soll sich in einem Indoor-Szenario anhand von Kameradaten und in der Umgebung angebrachten, künstlichen Landmarken lokalisieren. Aufbauend auf einer ausführlichen Literaturrecherche sollen ein entsprechendes Verfahren zur Lokalisierung konzeptioniert und die Anforderungen an das einzusetzende Kamerasystem festgelegt werden. Die Umsetzung des Konzepts soll zunächst in der Simulation getestet werden, bevor die Komponenten auf reale Hardware übertragen werden. Alle Einzelkomponenten des Konzepts werden in Form eines Plugins der Simulationssoftware VEROSIM entwickelt.
Optional: Basierend auf der Lokalisierung können vom Roboter bestimmte Aufgaben erfüllt werden wie z.B.:
- Hindernisse erkennen
- Eine vorgegebene Position anfahren
- Ausgehend von der Startposition eine Karte der während der Fahrt erkannten Markerpositionen erzeugen
Implementierung
Zur Erfüllung der Aufgabe müssen verschiedene Algorithmen implementiert werden. Hierbei kann mit externen Bibliotheken (z.B. OpenCV) gearbeitet werden, die grundlegende Funktionalitäten, wie z.B. Matrizenberechnungen in der linearen Algebra, zur Verfügung stellen. Die Anbindung dieser Bibliotheken, sowie die restliche programmatische Umsetzung der Aufgabe sollen eigenständig und mit der Programmiersprache C++ und als Plugin der Simulationssoftware VEROSIM erfolgen.
Um alle entwickelten Komponenten über die Arbeit hinaus weiter verwenden und weiterentwickeln zu können sollen diese modular und austauschbar umgesetzt werden. Dazu gehört die Verwendung der einheitlichen Schnittstellen des in VEROSIM verwendeten Input/Output (IO) Konzepts zur Kommunikation zwischen den Komponenten.
Stichworte: Lokalisierung, Mapping, Marker
Betreuer: Sondermann