Was ist SLAM?
Wie funktioniert es und warum ist es so wichtig für mobiles Mapping?
Grundlagen
SLAM steht für Simultaneous localization and mapping (auf Deutsch: Simultane Positionsbestimmung und Kartierung) und ist keine Software im eigentlichen Sinne oder gar ein einzelner Algorithmus. Stattdessen handelt es sich um einen Oberbegriff für eine Technologie, die bereits in den 80er Jahren entwickelt wurde, um es Robotern zu ermöglichen, ohne Karte autonom durch neue Umgebungen zu navigieren.
Um das zu bewerkstelligen, muss der Roboter sich selbst verorten können, gleichzeitig aber auch eine Karte seiner Umgebung erstellen. Das ist keine leichte Aufgabe: Um den eigenen Standort ermitteln zu können, braucht der Roboter eine Karte der Umgebung; um eine Karte erstellen zu können, muss er allerdings vorher seinen eigenen Standort kennen.
Die Katze beißt sich hier also in den Schwanz und es ergibt sich ein nicht enden wollender Kreis von Abhängigkeiten.
Wie funktioniert SLAM?
Es ist wichtig festzuhalten, dass es bei SLAM keinen Königsweg gibt, sondern viele verschiedene Herangehensweisen. Dennoch funktionieren alle weitestgehend nach dem gleichen Prinzip:
Beim Starten des Roboters werden die von den eingebauten Sensoren aufgenommenen Daten mit der SLAM-Technologie verknüpft und dann mithilfe von Computer-Vision-Algorithmen verarbeitet, um Strukturen in der Umgebung zu erkennen. Auf diese Weise kann eine grobe Karte erstellt und eine erste Schätzung der Position des Roboters abgegeben werden.
Wenn sich der Roboter weiterbewegt, übernimmt der SLAM-Algorithmus diese anfängliche Positionsschätzung, sammelt mit Hilfe der eingebauten Sensoren neue Daten und liefert eine neue (und verbesserte) Positionsschätzung. Sobald diese neue Positionsschätzung bekannt ist, wird die Karte wiederum aktualisiert, womit der Vorgang abgeschlossen ist.
Durch die kontinuierliche Wiederholung dieser Schritte wird die Trajektorie des Roboters erfasst und mitverfolgt, während dieser sich durch die Anlage bewegt. Gleichzeitig wird eine detaillierte Karte erstellt.