Die vorliegende Arbeit entwickelt eine autonome Erkundungsstrategie für Tunnel unter Verwendung von ROS. Ziel ist es, Tunnel selbstständig zu erkunden und detaillierte Karten zu erstellen, während die Herausforderungen unterirdischer Umgebungen berücksichtigt werden.
[2] [3]. The DARPA subterranean challenge highlighted the need for effective path planning and SLAM [4]Diese Strategie baut auf bestehenden Ansätzen auf, die für verschiedene Roboter anwendbar sind. Das Hauptziel ist es, Tunnel autonom zu erkunden und detaillierte Karten zu erstellen, wobei die Herausforderungen unterirdischer Umgebungen berücksichtigt werden. Die nachfolgenden Abschnitte erläutern die Ziele und deren Beschreibung.
Entwicklung des Ansatzes
Knotentypen
Die Navigation bei Roboter-Tunnelinspektionen zeigt eine Vielzahl von Knotenpunkten mit jeweils eigenen Herausforderungen. Von den vertrauten Kreuzungsknoten über T-Knoten, Y-Knoten und versetzten Knoten bis hin zu einfachen linken oder rechten Abzweigungen, Sackgassen und geraden Wegen — jede Geometrie verlangt spezifische Strategien. Um dieser Komplexität zu begegnen, wurde die Junction-Synthesizer-Technik entwickelt. Dieser Ansatz extrahiert Schlüsselinformationen aus verschiedenen Knotentypen, wodurch robotische Systeme präzise und anpassungsfähig in Tunnelumgebungen navigieren und kartieren können.
Spezielle Fälle
Kreuzungsknoten: Entsteht durch die Kreuzung von zwei rechtwinkligen Wegen.
T-Knoten: Tritt auf, wenn ein Weg rechtwinklig in einen anderen endet und ein „T“-förmiges Muster bildet.
Y-Knoten: Entsteht, wenn sich ein Weg in zwei Wege aufspaltet und eine „Y“-Form bildet.
Versetzter Knoten: Zwei Kreuzungen liegen versetzt zueinander mit einer gewissen Verschiebung.
Rechts-Merge-Knoten: Ein von rechts kommender Weg fügt sich in den Hauptweg ein (Merge) mit kleinem Winkel.
Links-Merge-Knoten: Ein von links kommender Weg fügt sich in den Hauptweg ein.
Normale Fälle
Linke Abzweigung: Der Weg teilt sich nach links.
Rechte Abzweigung: Der Weg teilt sich nach rechts.
Sackgasse: Der Weg endet ohne weitere Fortsetzung.
Gerader Weg: Linearer Abschnitt ohne Abzweigungen.
Umgebungssegmentierung
Der Junction-Synthesizer unterteilt das Gebiet um den Roboter in acht Regions of Interest (ROIs) basierend auf Geometrie und dem Koordinatensystem des Roboters: Vorne, Hinten, Links, Rechts, Diagonal vorne links, Diagonal vorne rechts, Diagonal hinten links, Diagonal hinten rechts.
Ansätze
Die Erkundung von Tunnelumgebungen benötigt ausgefeilte Segmentierungsansätze. Rechteckiger Ansatz → Quadratischer Ansatz → Kreisregionen-Ansatz → Hybrider Ansatz (optimal).
Rechteckiger Ansatz
Initiales Design mit überlappenden ROIs.
Quadratische Regionen
Verfeinerte Grenzen, jedoch Lücken zwischen Regionen → Datenverlust.
Kreisregionen-Ansatz
16 Sektoren um den Roboter, ungeeignet für Knotenstrukturen.
Hybrider Ansatz
Optimale Kombination aus klar definierten Grenzen und passenden Lücken, maximale Informationsausbeute.
Workflow der Umgebungssegmentierung
Der Junction-Synthesizer erstellt imaginäre Regionen um den Roboter basierend auf dem hybriden Ansatz und kategorisiert LIDAR-Punkte, die in diese Regionen fallen. Die Ausgabe des Synthesizers dient als Eingabe für den Junction-Detektor, der verschiedene Knotentypen identifiziert und damit Navigationsentscheidungen ermöglicht.
Umgebungsidentifikation
Der Junction-Detektor klassifiziert Knotentypen wie Sackgassen, Kreuzungsknoten, T-Knoten und Merge-Knoten. ROIs innerhalb der LIDAR-Punktwolke werden anhand geometrischer Muster der jeweiligen Knotentypen bestimmt. Zur Erkennung werden Erkennungslogiken und Frontier-Berechnungsstrategien eingesetzt.
Kreuzungsknoten-Erkennung: Punkte in allen diagonalen Richtungen deuten auf einen Kreuzungsknoten hin.
T-Knoten-Erkennung: Punkte vorne und in diagonalen Regionen ohne hintere oder seitliche Punkte deuten auf einen T-Knoten hin.
Links-/Rechts-Merge-Knoten-Erkennung: Punkte auf einer Seite ohne hinten oder vorne deuten auf einen Merge-Knoten hin.
Links-/Rechts-Abzweigung-Erkennung: Punkte auf einer Seite und vorne, ohne hintere oder gegenüberliegende Punkte, deuten auf eine Abzweigung hin.
Sackgassen-Erkennung: Punkte in allen Richtungen außer hinten deuten auf eine Sackgasse hin.
Gerader Weg-Erkennung: Punkte auf beiden Seiten ohne vorne oder hinten deuten auf einen geraden Weg hin.
Frontier-Berechnung
Frontiers werden je nach Knotentyp berechnet:
Kreuzungsknoten
Bei Kreuzungsknoten bestimmen Mittelpunkte zwischen diagonalen Punkten die Frontiers (Ziele) in den Richtungen vorne, links und rechts.
T-Knoten
Bei T-Knoten werden Mittelpunkte zwischen Front- und Diagonalpunkten zur Bestimmung der Frontiers herangezogen.
Links-/Rechts-Merge-Knoten
Bei Merge-Knoten werden Mittelpunkte zwischen diagonalen und angrenzenden Punkten genutzt, um mögliche Frontiers zu identifizieren.
Sackgasse
In einer Sackgasse wird die aktuelle Position als Frontier betrachtet (keine weiterführende Richtung vorhanden).
Die Berechnungen der Frontiers basieren auf der Analyse und Nutzung von Datenpunkten innerhalb der ROIs. In Kreuzungsknoten weisen Punkte in diagonalen ROIs auf potenzielle Frontiers in vorne, links und rechts hin. In T-Knoten deuten diagonale Punkte auf side-Frontiers hin. Merge-Knoten erfordern differenzierte Berechnungen basierend auf der Anordnung der Punkte. In einer Sackgasse impliziert das Fehlen von Punkten in der hinteren ROI, dass die aktuelle Position des Roboters als Frontier gilt. Diagramme visualisieren diese dynamische Frontier-Bestimmung basierend auf Geometrie und räumlichen Eigenschaften der Knotentypen.
Workflow der Umgebungsidentifikation
Der Junction-Detektor verarbeitet die Daten des Synthesizers, identifiziert Knotentypen, berechnet Frontiers und speichert Knoteninformationen in einem Dictionary. Die Detektion einer Sackgasse setzt eine Flagge für Navigationszwecke.
Dieser optimierte Workflow ermöglicht dem Roboter eine effektive Navigation in Tunnelumgebungen mittels LIDAR-Datenanalyse und Knotenerkennung.
Autonome Erkundung
Analog zum Junction-Detektor nutzt die autonome Erkundung Daten des Junction-Synthesizers, um die autonome Navigation im Tunnel zu ermöglichen. Ein prioritätsbasierter Tiefensuche-Algorithmus (priority-based depth-first search) steuert das Verhalten, um Sackgassen zu bewältigen und die Erkundung fortzusetzen. Eine Übersicht der autonomen Erkundung ist in der folgenden Abbildung dargestellt.
Fall I: Gerader Weg
Der Roboter fährt weiter geradeaus, wenn vorne frei ist und links sowie rechts belegt sind — gemäß der Logiktabelle zur Knoten-Erkennung. Er hält sich zentral innerhalb des Astes, bis diese Bedingung nicht mehr gilt.
Fall II: Strategische Bewegung
Falls der gerade Weg scheitert, führt der Roboter eine strategische Bewegung aus, um bessere räumliche Informationen zu erhalten. Diese Bewegung ist in zwei Fälle unterteilt:
Strategische Bewegung ohne Front
Der Roboter verschiebt seine Position leicht nach vorne, indem er Daten aus diagonalen ROIs nutzt — insbesondere entworfen für Links- und Rechts-Merge-Knoten.
Strategische Bewegung mit Front
Ähnlich zum vorherigen Fall, berücksichtigt dieser die Daten aus der Front-ROI und wird primär bei T-Knoten und Sackgassen angewendet.
Fall III: Abzweigung
Im Abzweigungsfall bringt der Roboter sich vorwärts in den Ast, falls die Bedingungen für eine linke oder rechte Abzweigung erfüllt sind. Dies teilt sich in linke und rechte Abzweigungsfälle auf.
Linker Abzweigungsfall
Der Roboter bewegt sich in die linke Abzweigung, indem er Daten aus der Front-ROI und der diagonal hinten links ROI analysiert.
Rechter Abzweigungsfall
Der Roboter bewegt sich in die rechte Abzweigung, indem er Daten aus der Front-ROI und der diagonal hinten rechts ROI analysiert.
Point-to-Point Navigation
Die berechneten Frontiers aus den verschiedenen Fällen steuern die Punkt-zu-Punkt-Navigation des Roboters und leiten ihn zu den identifizierten Zielen.
Diese umfassende Erkundungsstrategie ermöglicht es dem Roboter, komplexe Tunnelumgebungen autonom zu durchqueren und seine Bewegung entsprechend Knotentyp und räumlichen Einschränkungen anzupassen.
Umgebungseinrichtung
Roboter-Setup
Clearpath Jackal
Der Clearpath Jackal, eine vielseitige, ROS-basierte Forschungsplattform für Feldroboter, verfügt über einen eingebauten Computer, GPS und eine IMU, die in ROS integriert sind, um autonome Fähigkeiten zu unterstützen. Seine Punkt-zu-Punkt-Navigation vereinfacht die Entwicklung und Implementierung von Algorithmen.
Turtlebot3
Ähnlich dem Clearpath Jackal ist der Turtlebot3 eine ROS-basierte Plattform, die für Simulation und reale Anwendungen konzipiert wurde. Er bietet integrierte Punkt-zu-Punkt-Navigationsfunktionen und wurde sowohl in Simulation als auch in Labortests eingesetzt.
Simulations-Setup
Gazebo
Gazebo ist ein 3D-dynamisches Simulationswerkzeug, das die Simulation von Robotern, Umgebungen und Szenarien für Forschung und Tests ermöglicht. Es wurde in unserem Simulations-Setup mit einer Labyrinth- bzw. Maze-Umgebung eingesetzt.
Gazebo | ROS
ROS (Robot Operating System) bildet das Rückgrat des Simulations-Setups und ermöglicht die Kommunikation zwischen den verschiedenen Komponenten.
Gazebo | Rviz
Rviz ist ein 3D-Visualisierungstool für ROS, das die Darstellung von Robotermodellen und Sensordaten in einer 3D-Umgebung ermöglicht und so Debugging und Monitoring erleichtert.
Labore-Setup
Reale Tests wurden in einem Labor durchgeführt, indem Kartons verwendet wurden, um eine tunnelartige Umgebung zu schaffen. Der Turtlebot3 wurde in diesem Setup für Testläufe verwendet.
Reale Umgebung | ROS
ROS dient in der Laborumgebung als zentrale Komponente und ermöglicht Steuerung und Kommunikation innerhalb des Robotersystems.
Reale Umgebung | Rviz
Rviz unterstützt die Visualisierung und Analyse der während der Experimente erzeugten Daten und erleichtert so die Evaluierung und Fehlerbehebung.
Das Environment-Setup für unser Robotikprojekt umfasste sowohl simulierte als auch reale Testumgebungen. In der simulierten Umgebung nutzten wir Gazebo, um dynamische Szenarien für das Testen unserer Algorithmen und Roboterverhalten zu erstellen. Gazebo ermöglichte realistische Simulationen von Robotern wie dem Clearpath Jackal und dem Turtlebot3 und bot eine kontrollierte Umgebung zur Leistungsbewertung. ROS bildete dabei die Kommunikations- und Steuerungsbasis, während Rviz die Visualisierung von Robotermodellen und Sensordaten erleichterte. In der realen Laborumgebung wurden Tunnelstrukturen aus Kartons nachgebildet, in denen der Turtlebot3 eingesetzt wurde. ROS und Rviz spielten auch dort zentrale Rollen für Steuerung, Datenanalyse und Visualisierung. Dieses umfassende Setup erlaubte eine gründliche Validierung unserer Ansätze in simulierten und realen Bedingungen und trug zur Robustheit und Zuverlässigkeit der Forschungsergebnisse bei.
Anwendungsfälle (Use Cases)
Zur Bewertung unserer Ansätze entwarfen und implementierten wir Umgebungen in Simulation und realen Testszenarien:
Reale Umgebung I
Große Testumgebung aus Kartons mit mehreren Kreuzungsfällen und einer Verzweigungsgröße von 85 cm. Zahlreiche Sackgassen und ein großer Versuchsbereich ermöglichten umfassende Tests.
Reale Umgebung II
Kleinere Umgebung im Vergleich zu Reale Umgebung I, welche dennoch alle Kreuzungstypen enthielt und drei Sackgassen aufwies. Verzweigungsgröße: 70 cm.
Reale Umgebung III
Ähnlich zu Reale Umgebung II, jedoch mit nur zwei Sackgassen. Ebenfalls waren alle Kreuzungstypen repräsentiert.
Simulationsumgebung I
Große Gazebo-Umgebung mit quadratischen Boxen, die alle Kreuzungstypen nachbildet. Verzweigungsgröße: 100 cm und mehrere Sackgassen, um die Navigation in größerem Maßstab zu testen.
Simulationsumgebung II
Kleinere Simulation, die die Features von Simulationsumgebung I widerspiegelt, inklusive aller Kreuzungstypen und drei Sackgassen. Verzweigungsgröße: 70 cm.
Diese unterschiedlichen Umgebungen ermöglichten umfassende Tests und Validierungen der Algorithmen in realen und simulierten Settings, um die Robustheit und Verlässlichkeit der vorgeschlagenen Methoden sicherzustellen.