Open Source Robotics

Eine kuratierte Sammlung hochwertiger Open-Source-Robotikprojekte, Werkzeuge und Software für die Robotik-Community.

Loop Closure

  • Auch genannt: loop closing, loop closure detection
  • Kategorie: State estimation & navigation › Localisation
  • Schlagwörter: slam, localization, place-recognition, mapping, state-estimation

Der Schritt in SLAM, in dem ein Roboter erkennt, dass er an einen zuvor besuchten Ort zurückgekehrt ist, und diese Übereinstimmung nutzt, um die unterwegs aufgelaufene Drift zu korrigieren.

Definition

Loop Closure ist das Erkennen während der Kartierung, dass der Roboter an einen bereits gesehenen Ort zurückgekehrt ist, und die Nutzung dieser Erkennung, um seine geschätzte Trajektorie zu korrigieren. Odometrie, ob aus Rädern, einer IMU, Kameras oder LiDAR, sammelt bei jedem Schritt kleine Fehler an. Nach einer langen Schleife kann die Schätzung des Roboters, wo er sich befindet, merklich von seinem Startpunkt abweichen, selbst wenn er physisch an dieselbe Stelle zurückgekehrt ist. Eine Loop Closure verknüpft die aktuelle Pose mit der früheren und ermöglicht es dem System, den Fehler neu zu verteilen.

Loop Closure hat zwei Teile. Die Detektion, oft Ortserkennung (Place Recognition) genannt, entscheidet, dass die aktuelle Beobachtung mit einer früheren übereinstimmt. Kamerabasierte Systeme verwenden häufig Bag-of-Visual-Words-Verfahren wie DBoW2 oder gelernte globale Deskriptoren; LiDAR-Systeme nutzen Scan-Deskriptoren wie Scan Context oder direktes geometrisches Matching. Die Verifikation berechnet dann die relative Transformation zwischen den beiden Beobachtungen, zum Beispiel mit Feature-Matching und RANSAC bei Bildern oder ICP bei Punktwolken, und verwirft Übereinstimmungen, die geometrisch nicht passen.

Nach der Verifikation wird die Loop Closure als Nebenbedingung hinzugefügt, typischerweise als Kante in einem Posengraphen, und das Backend optimiert alle Posen neu. Die Korrektur wird über die gesamte Schleife verteilt, statt nur am Ende angewendet zu werden.

Die Hauptschwierigkeit ist perzeptuelles Aliasing: Verschiedene Orte können gleich aussehen, etwa identische Flure, Regalreihen oder sich wiederholende Pflanzreihen. Eine falsche Loop Closure kann die ganze Karte verzerren, daher sind praktische Systeme konservativ und verpassen lieber eine echte Closure, als eine falsche zu akzeptieren.

Warum es wichtig ist

Ohne Loop Closure verschlechtert sich jede aus Odometrie erstellte Karte langsam, während die Drift wächst, und derselbe Flur kann zweimal an leicht unterschiedlichen Stellen kartiert werden. Loop Closure ist das, was einem SLAM-System erlaubt, über lange Strecken und wiederholte Besuche global konsistente Karten zu erstellen.

Wichtige Anwendungen

  • Aufbau konsistenter Innen- und Außenkarten mit LiDAR- oder Kamera-SLAM
  • Korrektur der Drift in visueller und visuell-inertialer Odometrie
  • Relokalisierung, nachdem ein Roboter versetzt wurde oder das Tracking verloren hat
  • Zusammenführen von Karten aus mehreren Sitzungen oder von mehreren Robotern

In der Praxis

Auf einem mobilen Roboter, der ein SLAM-Paket wie Cartographer, RTAB-Map oder ORB-SLAM ausführt, läuft die Loop Closure im Hintergrund neben dem Tracking. Jeder neue Keyframe oder jede neue Submap wird mit einer Datenbank früherer verglichen; Kandidaten, die eine Ähnlichkeitsschwelle im Aussehen überschreiten, werden geometrisch geprüft, und nur solche mit genügend Inliern und einer konsistenten Transformation werden an den Posengraph-Optimierer weitergegeben. Teams fahren bei der Kartierung eines neuen Geländes meist bewusst Schleifen, damit das System Gelegenheiten hat, sie zu schließen, und stellen die Detektionsschwellen je nach Umgebung ein, wobei sie in sich wiederholenden Räumen wie Lagerhallen weniger Closures akzeptieren. Zeigt eine Karte doppelte Wände oder einen verbogenen Flur, ist eine verpasste oder falsche Loop Closure eines der ersten Dinge, die Ingenieure prüfen.

Häufige Missverständnisse

  • Loop Closure korrigiert nur die aktuelle Pose — sie fügt eine Nebenbedingung hinzu, die der Backend-Optimierer durch die ganze Trajektorie propagiert
  • Wenn zwei Bilder gleich aussehen, ist es derselbe Ort — perzeptuelles Aliasing bedeutet, dass Übereinstimmungen im Aussehen geometrisch verifiziert werden müssen, bevor man ihnen vertraut
  • Visuelle Odometrie enthält bereits Loop Closure — Odometrie schätzt nur inkrementelle Bewegung; Loop Closure macht aus Odometrie ein vollständiges SLAM

Wer das wissen sollte

  • Ingenieure für SLAM und Kartierung
  • Entwickler der Navigation mobiler Roboter und Drohnen
  • Computer-Vision-Ingenieure, die an Ortserkennung arbeiten
  • Feldrobotik-Teams, die große Außengelände kartieren

Verwandte Technologien

  • Ortserkennung (Place Recognition)
  • Bag of Visual Words
  • RANSAC
  • ORB-SLAM
  • Cartographer
  • RTAB-Map

Verwandte Begriffe

  • SLAM
  • Pose Graph Optimization
  • Visual Odometry
  • Odometry

Verwandte Projekte

  • LingBot-Map: Streaming 3D reconstruction from one camera: pose and depth for every frame, live
  • oomwoo: Open-source DIY robot vacuum: 3D-printed, ROS2 + 2D LiDAR, fully local.
  • Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
  • OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
  • Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
  • FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO

Videos

  • SLAM Course - 20 - SLAM Frontends (2013/14; Cyrill Stachniss): Cyrill Stachniss

Diese Website benötigt JavaScript. Bitte aktivieren Sie JavaScript, um unsere Open-Source-Robotikprojekte zu erkunden.