Implementierung von FastSLAM 2.0 und Tests in Outdoor-Simulationsumgebungen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Abb. 1: FastSLAM 2.0
Autor: Benjamin Dilly
Modul: Bachelorarbeit, MTR-B-2-7.01
Starttermin: TBD
Abgabetermin: TBD
Prüfungsform: Modulabschlussprüfung als schriftliche Dokumentation (Bachelorarbeit) im Umfang von 30 bis 60 Seiten Textteil und Präsentation (15 Minuten) zzgl. Kolloquiumsdiskussion (15-30 Minuten).
Betreuer: Prof. Dr.-Ing. Schneider, Tel. 806; Stefan Arndt, HANNING ELEKTRO-WERKE GmbH & Co. KG
Mitarbeiter: Marc Ebmeyer, Tel. 847

Einleitung

Algorithmen zur Simultanen Positionsbestimmung und Kartierung (Engl.: Simultaneous Localization and Mapping, SLAM) sind ein wichtiger Bestandteil in der Mobilen Robotik. Da heutzutage meist hochauflösende Laserscanner eingesetzt werden, haben sich Scan-Matching basierende SLAM-Algorithmen für die Indoor-Anwendung durchgesetzt. Jedoch scheitern diese Algorithmen in unstrukturierten und spärlich belegten Umgebungen (kaum bis keine Wände, geringe Anzahl an Messpunkte durch den Laserscanner), wie es im Outdoor-Bereich der Fall ist. Eine Möglichkeit, um in dieser Umgebung zu navigieren, ist die Verwendung eines Landmarken-basierenden SLAM-Verfahrens. Eines dieser Verfahren ist FastSLAM 2.0, das markante Umgebungsmerkmale (Features) mithilfe einer Gaußverteilung modelliert. Die verschiedenen Möglichkeiten der Trajektorie als auch der gesamten Karte werden durch Partikel abgebildet (siehe [1]) Da in einem industriellen Umfeld sowohl Indoor als auch Outdoor-Navigation verlangt wird, sollen beide SLAM-Algorithmen bei Hanning zum Einsatz kommen.


Zielsetzung

Ziel der Arbeit ist die Implementierung von FastSLAM 2.0 in modernem C++ (>= 17) unter Verwendung des Robot Operating System 2 (ROS2) Humble und das Testen in verschiedenen Outdoor-Simulationsumgebungen.

Eigenschaften der Umgebung können hierbei folgende sein:

  • Bodenbeschaffenheit (flach oder uneben)
  • Wenige bis viele Features
  • Langer oder kurzer Weg bis zum nächsten Indoor-Bereich
  • Features verschwinden oder tauchen auf

Von dem Softwaremodul FastSLAM 2.0 werden besondere Anforderungen verlangt:

Feature-Management

Features sind häufig nicht statisch, d.h. sie können über die Zeit aus der Umgebung verschwinden, werden versetzt oder neue kommen dazu. Das Softwaremodul soll damit automatisiert umgehen können.

Konfidenzwert der Lokalisierung

Die Lokalisierung mittels FastSLAM 2.0 soll probabilistisch bewertet werden. Hierbei können verschiedene Kriterien zum Einsatz kommen, wie z. B.: Anzahl der erkannten Features, Abweichung der Messung zu den Features, Kovarianz der Features, Verteilung der Partikel etc. Die Motivation hierbei ist es, mithilfe des Confidence-Werts eine automatische Umstellung von Indoor- und Outdoor-SLAM durchführen zu können.

Parametrierung

Anzahl der Partikel, Ungenauigkeit des Antriebsstrang (Odometrie), verwendete Reichweite des Laserscanners (usable Range), Rastergröße der Karte

Schnittstelle (ROS2)

  • Input: Odometrie, Laserscanner
  • Output: Occupancy Grid Map (Rasterkarte), globale Position bzw. Transformation, Confidence-Wert

Aufgabenstellung

  • Einarbeitung in ROS2
  • Implementierung des Softwaremoduls FastSLAM 2.0
  • Testen in geeigneter Simulationsumgebungen (z. B. WeBots)
  • Testen in geeigneten Umgebungen
  • Auswertung der Ergebnisse unter Berücksichtung der Outdoor-Navigation
  • Dokumentation im HSHL-Wiki


Anforderungen an die wissenschaftliche Arbeit

SVN-Repositorium

Getting started

Lesen Sie zum Einstieg diese Artikel

Erweiterungsdokument

In dem Erweiterungsdokument zur Bachelorarbeit, können die Informationen:

  • zur Einrichtung eines Dual-Boot-Systems,
  • eine grundlegende Einführung in die Funktionsweise von ROS,
  • eine Einführung in die Programmierung mit ROS2 Humble, C++ und Visual Studio Code,
  • als auch eine Einführung in die Programmierung mit Visual Studio Code, C++ und CMake gefunden werden.

Tools

Die während der Arbeit verwendeten Tools, werden im folgenden aufgelistet:

  • yEd live zum Erstellen von Graphen wie PAP
  • Matlab
  • Excel (Visualisierung der CSV-Exportierten Projektauswertungen)
  • Visual Studio Code
  • Colcon (Zum Bauen von ROS-Paketen)
  • ROS2 Humble
  • RViz (Zur Visualisierung der Simulation)
  • Webots (Simulationsumgebung)
  • Eigen (Matrix-Bibliothek C++)
  • Teleop-Twist-Keyboard (Steuerung des Roboters über Konsole)
  • CMake zur Programmierung mit C++ und Visual Studio Code
  • Ubuntu 22.04.3 als sekundäres Betriebssystem (ISO-Image Download)
  • Windows 10 Home als primäres Betriebssystem
  • Rufus zur Erstellung eines Boot-Fähigen USB-Stick (32 GB)
  • Yaml-cpp zum Erstellen von YAML-Files

Nützliche Artikel

Nützliche Links






Wichtige ROS-Topics

Literatur

  1. THRUN, S. und OTHERS. Probabilistic Robotics. Massachusetts: The MIT Press, 2006. ISBN 978-0-262-20162-9.
  2. TU-DRESDEN. RoboLab Documentation v2024.5.1. Odometrie [online], 2024 [Zugriff am: 22. Mai 2024].
  3. MONTEMERLO, M. und OTHERS. FastSLAM 2.0: An Improved Particle Filtering Algorithm for Simultaneous Localization and Mapping that Provably Converges, 2003.
  4. FRESE, U., R. WAGNER und T. RÖFER. A SLAM Overview from a User’s Perspective. In: Springer-Verlag, 2010, S. 191-198.
  5. ALSADIK, B. und S. KARAM. The Simultaneous Localization and Mapping (SLAM)-An Overview. SURVEYING AND GEOSPATIAL ENGINEERING JOURNAL, 2021, 2(1), 1-12.
  6. LV, T.-Z., C.-X. ZHAO und H.-F. ZHANG. An Improved FastSLAM Algorithm Based on Revised Genetic Resampling and SR-UPF. International journal of automation and computing, 2018, 325-334. ISSN 1751-8520.
  7. ABOUZAHIR, M. und OTHERS. FastSLAM 2.0 Running On a Low-Cost Embedded Architecture. In: 13th International Conference on Control, Automation, Robotics & Vision, 2014, S. 1421-1426.
  8. BEUTELSPACHER, A. Lineare Algebra. Eine Einführung in die Wissenschaft der Vektoren, Abbildungen und Matrizen. Springer Spektrum, 2014. ISBN 978-3-658-02413-0.
  9. IOANNIDOU, S. und G. PANTAZIS. Helmert Transformation Problem. From Euler Angles Method to Quaternion Algebra [online]. ISPRS Int. J. Geo-Inf., 2020, 9. Verfügbar unter: doi:10.3390/ijgi9090494
  10. GRISETTI, G., C. STACHNISS und W. BURGARD. Improved Techniques for Grid Mapping with Rao-Blackwellized Particle Filters, 2007.
  11. GRISETTI, G., C. STACHNISS und W. BURGARD. Improving Grid-based SLAM with Rao-Blackwellized Particle Filters by Adaptive Proposals and Selective Resampling, 2005.
  12. THRUN, S. und OTHERS. FastSLAM: An Efficient Solution to the Simultanious Localization And Mapping with Unkown Data Association [online], 2004 [Zugriff am: 22. Mai 2024].
  13. ALI, S.S., A. HAMMAD und A.S. TAG ELDIEN. A Novel Implementation for FastSLAM 2.0 Algorithm Based on Cloud Robotics. In: 13th International Computer Engineering Conference (ICENCO), 2017.
  14. SCHÄFER, T. Methodenlehre und Statistik. Wiesbaden: Springer Fachmedien, 2016. ISBN 978-3-658-11936-2.
  15. KLANCAR, G., A. ZDESAR, S. BLAZIC und I. SKRJANC. Wheeled Mobile Robotics: From Fundamentals Towards Autonomous Systems. Elsevier Inc, 2017. ISBN 978-0-12-804204-5.
  16. ABBEL, P. und OTHERS. Discriminative Training of Kalman Filters.
  17. STACHNISS, C., D. HÄHNEL und W. BURGARD. Exploration with Active Loop-Closing for FastSLAM, 2004.
  18. ALI, S.S., A. HAMMAD und A. S. TAG ELDIEN. Cloud-based map alignment strategies for multi-robot FastSLAM 2.0. International Journal of Distributed, 2019, 15(3), 1-7.
  19. KIM, P. Kalman-Filter für Einsteiger mit MATLAB Beispielen. CreateSpace Independent Publishing, 2016. ISBN 978-1502723789.



→ zurück zum Hauptartikel: Studentische Arbeiten