Lokalisierung (Wo bin ich?), Kartierung (Wie sieht meine Umwelt aus?) und Pfadplanung (Wo fahre ich entlang?) sind wichtige Grundlagen für einen Roboter, der sich in der Welt der Menschen bewegt. Ob es darum geht Zusammenstöße zu vermeiden, die eigene Position zu bestimmen oder sich zu orientieren – mobile Roboter benötigen aus vielen Gründen präzise Informationen über ihre Umgebung. Die dafür benötigten 2D- oder 3D-Karten können entweder offline erstellt und zur Verfügung gestellt oder auch vom Roboter selbst generiert werden. Dabei kann dieser sich eigenständig online in den erstellten Karten lokalisieren.
Herausforderungen bei Lokalisierung, Kartierung und Pfadplanung
SLAM
Ein wichtiges Grundkonzept ist dabei das sogenannte SLAM. Die Abkürzung steht für „Simultaneous Localization and Mapping“, also das gleichzeitige Lokalisieren und Kartieren eines Roboters. Wie der Name schon sagt, erfolgt die Lokalisierung und Kartierung zeitgleich – und das auch in unbekannten Umgebungen. SLAM wird neben Robotern auch bei autonomen Fahrzeugen angewendet. Dies ermöglicht dem Fahrzeug oder Roboter eine Karte seiner Umgebung zu erstellen und dabei zeitgleich die eigene Position in dieser Karte zu bestimmen. Mithilfe von SLAM-Algorithmen können demnach unbekannte Umgebungen erfasst und darauf aufbauend die Pfadplanung und Hindernisvermeidung durchgeführt werden [1]. So ermöglicht SLAM die sichere Navigation außer Reichweite von GPS, bei schwierigen Bedingungen in neuen Umgebungen.
Pfadplanung
Die Pfadplanung (englisch: path planning) innerhalb der so entstandenen Karten ist eine weitere grundlegende Voraussetzung für autonome mobile Roboter. Sie ermöglicht es dem Roboter, einen sicheren und effizienten Weg zu berechnen, um Hindernissen auszuweichen und sein Ziel zu erreichen [2].

Übersicht über OSS für Navigationsanwendungen
Open Source SLAM Frameworks
Cartographer (google)
Lizenz: Apache 2.0
Code: https://github.com/cartographer-project/cartographer
Mehr zu Cartographer (Link zur Wissensplattform-Seite folgt).
DSO: Direct Sparse Odometry (TUM):
Code: https://cvg.cit.tum.de/research/vslam/dso
Lizenz: GNU GPL 3.0
Mehr zu DSO (Link zur Wissensplattform-Seite folgt).
Gmapping (Uni Freiburg):
Code: https://openslam-org.github.io/gmapping.html
Lizenz: BSD-3-Clause
Mehr zu Gmapping (Link zur Wissensplattform-Seite folgt).
Open Source Karten-Erweiterungen auf 3D
GridMap (ETH Zürich):
Code: https://github.com/ANYbotics/grid_map
Lizenz: BSD 3-clause
Mehr zu GridMap (Link zur Wissensplattform-Seite folgt).
VDB-Mapping (FZI):
Code: https://github.com/fzi-forschungszentrum-informatik/vdb_mapping
Lizenz: Apache 2.0
Mehr zu VDB-Mapping (Link zur Wissensplattform-Seite folgt).
LidarMARS Registration – 6D SurfelMaps (Uni Bonn):
Code: https://github.com/AIS-Bonn/lidar_mars_registration
Lizenz: BSD 3-clause
Mehr zu LidarMARS (Link zur Wissensplattform-Seite folgt).
Open Source Software für Pfadplanung
Move-Base-Flex (Magazino & Universität Osnabrück):
Code: https://github.com/magazino/move_base_flex
Lizenz: BSD-3
Mehr zu Move-Base-Flex (Link zur Wissensplattform-Seite folgt).
Nav2 (ROS 2):
Code: https://navigation.ros.org/
Lizenz: Apache 2.0
Mehr zu Nav2 (Link zur Wissensplattform-Seite folgt).
Recast & Detour:
Code: https://github.com/recastnavigation/recastnavigation
Lizenz: zlib
Mehr zu Recast & Detour (Link zur Wissensplattform-Seite folgt).
Weiterführende Links
Sammlung verschiedener SLAM Stacks: https://openslam-org.github.io/
Übersicht, Vergleiche und Benchmarks: KITTI Benchmark Suite: https://www.cvlibs.net/datasets/kitti/
Referenzen
[1] MathWorks. Was ist SLAM? Funktionsweise, Arten von SLAM-Algorithmen und erste Schritte. [Online]. Verfügbar: https://de.mathworks.com/discovery/slam.html. [Abruf Januar 21, 2025].
[2] S. Schwaiger. (2021, Juni 21). Pfadplanung für autonome Systeme. [Online]. Verfügbar: https://www.aiav.technikum-wien.at/post/pfadplanung-f%C3%BCr-autonome-systeme. [Abruf Januar 21, 2025].