Open Source Robotics

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

LiDAR Odometry

  • Auch genannt: laser odometry, LO
  • Kategorie: State estimation & navigation › Localisation
  • Schlagwörter: lidar, odometry, slam, state-estimation, point-cloud-registration

Schätzung der Bewegung eines Roboters durch Registrierung aufeinanderfolgender LiDAR-Scans gegeneinander oder gegen eine lokale Karte; sie driftet mit der Strecke, sofern sie nicht durch Loop Closure korrigiert wird.

Definition

LiDAR-Odometrie (LiDAR Odometry) schätzt die Bewegung eines LiDAR-Sensors und des Roboters, der ihn trägt, indem jeder neue Scan mit früheren Daten ausgerichtet wird. Sie ist eine Form der Odometrie (Odometry): Wie Radodometrie oder visuelle Odometrie (Visual Odometry) integriert sie relative Bewegung über die Zeit und akkumuliert daher Drift. Von der visuellen Odometrie unterscheidet sie sich in der Eingabe, direkten Entfernungsmessungen statt Kamerabildern, was mit einem einzigen Sensor einen metrischen Maßstab liefert und sie weitgehend unabhängig von der Beleuchtung macht. Von Iterative Closest Point (ICP) unterscheidet sie sich im Umfang: ICP ist ein Registrierungsalgorithmus, der oft innerhalb eines LiDAR-Odometrie-Systems eingesetzt wird, während LiDAR-Odometrie die gesamte Pipeline aus Vorverarbeitung, Registrierung, Bewegungskompensation und Kartenverwaltung ist.

Es gibt zwei Hauptfamilien. Merkmalsbasierte Methoden wie LOAM von Zhang und Singh aus dem Jahr 2014 extrahieren Kanten- und Ebenenpunkte aus jedem Scan und gleichen sie mit Merkmalen in einer lokalen Karte ab. Dichte Methoden registrieren die meisten Punkte, typischerweise mit Punkt-zu-Ebene-ICP oder einer Normal Distributions Transform, gegen den vorherigen Scan oder eine ausgedünnte lokale Karte. Scan-zu-Karte-Registrierung driftet weniger als Scan-zu-Scan-Registrierung, weil jeder Scan an einer Struktur ausgerichtet wird, die aus vielen früheren Scans aufgebaut ist.

Ein rotierendes LiDAR erfasst einen Scan über eine volle Umdrehung, sodass ein bewegter Sensor ihn verzerrt. Systeme korrigieren dies, indem sie die Punkte entzerren (De-Skewing), unter Annahme konstanter Geschwindigkeit, mit einer IMU oder, wie bei CT-ICP, mit einer zeitkontinuierlichen Trajektorie mit getrennten Posen am Anfang und Ende jedes Scans. LiDAR-Odometrie hat Schwierigkeiten, wo die Geometrie nicht alle sechs Freiheitsgrade festlegt: in langen Korridoren, Tunneln, auf offenen Feldern und flachen Straßen. Eine enge Fusion mit einer IMU, wie bei der LiDAR-Inertial-Odometrie, hilft bei schnellen Bewegungen und kurzen degenerierten Abschnitten, und ein vollständiges SLAM-System ergänzt Loop Closure und Posengraph-Optimierung, um die akkumulierte Drift zu beseitigen.

Warum es wichtig ist

LiDAR-Odometrie ist für viele autonome Fahrzeuge, mobile Roboter und Kartierungssysteme die Hauptquelle für Bewegungsschätzungen, besonders im Freien und im Dunkeln, wo Kameras Schwierigkeiten haben. Ihre Genauigkeit begrenzt die Qualität jeder Karte und jedes Lokalisierungsergebnisses, das darauf aufbaut.

Wichtige Anwendungen

  • Eigenbewegungsschätzung für autonome Autos und Lieferroboter
  • Frontend von LiDAR-SLAM- und 3D-Kartierungssystemen
  • Handgeführte und rucksackgetragene mobile Kartierung
  • Navigation in Bergwerken, Tunneln und anderen dunklen Umgebungen
  • Zustandsschätzung für Laufroboter und Drohnen mit LiDAR an Bord

In der Praxis

Ein Team rüstet einen Vermessungsroboter, der über eine Baustelle fährt, mit einem rotierenden LiDAR und einer IMU aus. Jeder Scan wird mithilfe der IMU entzerrt, in ein Voxelgitter ausgedünnt und mit Punkt-zu-Ebene-ICP an einer lokalen Karte aus den letzten Scans registriert. Die resultierende Pose speist den Navigationsstack des Roboters mit der Scanrate. Als der Roboter einen langen, kahlen Korridor entlangfährt, sieht das Team, wie sich die Positionsschätzung entlang der Korridorachse dehnt, weil die Wände die Bewegung entlang dieser Achse nicht festlegen; es ergänzt eine Degenerationsprüfung der ICP-Lösung, verlässt sich in solchen Abschnitten stärker auf IMU und Radodometrie und führt Loop Closure offline aus, um die endgültige Karte zu korrigieren.

Häufige Missverständnisse

  • LiDAR-Odometrie liefert driftfreie globale Positionen — sie integriert relative Bewegung und driftet, daher werden für lange Fahrten Loop Closure oder eine globale Referenz benötigt
  • LiDAR-Odometrie ist dasselbe wie ICP — ICP ist ein Registrierungsschritt; Odometrie umfasst außerdem Entzerrung, Filterung, Kartenverwaltung und oft IMU-Fusion
  • Weil LiDAR Entfernungen direkt misst, funktioniert es überall — geometrisch merkmalsarme Szenen wie Tunnel oder offene Felder lassen manche Richtungen unbestimmt
  • Jeder Scan ist eine Momentaufnahme eines einzigen Zeitpunkts — ein rotierendes LiDAR tastet über die Zeit ab, daher erzeugt ein bewegter Sensor verzerrte Scans, sofern sie nicht korrigiert werden

Wer das wissen sollte

  • Ingenieure für SLAM und Zustandsschätzung
  • Wahrnehmungsteams im autonomen Fahren
  • Entwickler für mobile Kartierung und Vermessung
  • Feldrobotik-Ingenieure, die im Freien oder unter Tage arbeiten

Verwandte Technologien

  • LOAM
  • KISS-ICP
  • CT-ICP
  • LiDAR-Inertial-Odometrie (Lidar-Inertial Odometry)
  • Normal Distributions Transform

Verwandte Begriffe

  • Odometry
  • Visual Odometry
  • Iterative Closest Point
  • LIDAR
  • Loop Closure
  • SLAM

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
  • FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO
  • DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
  • evo: De-facto standard tool for evaluating and plotting odometry/SLAM trajectories

Videos

  • LiDAR Odometry - 5 Minutes with Cyrill: Cyrill Stachniss

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