Contents — find the section you need
Der rotierende Sensor auf dem Dach eines autonomen Fahrzeugs oder das kleine Fenster auf einem Saugroboter – viele davon nutzen LiDAR (Light Detection and Ranging), einen Sensor, der die Entfernung zur Umgebung direkt mit Laserlicht misst. LiDAR-SLAM ist die Technologie, die Selbstlokalisierung und Kartierung gleichzeitig anhand der von einem LiDAR-System gelieferten Punktwolkendaten durchführt (optional unterstützt durch Sensoren wie eine IMU). Während Visual-SLAM (siehe „Visual-SLAM Primer“ im Blog „robotics-visual-slam.html“) versucht, indirekt 3D-Strukturen aus den 2D-Bildern einer Kamera zu rekonstruieren, arbeitet LiDAR-SLAM mit direkten 3D-Entfernungsinformationen – das ist der entscheidende Unterschied. Dieser Artikel beginnt mit dem Prinzip der LiDAR-Messung, behandelt die beiden wichtigsten Algorithmen zur Ausrichtung von Punktwolken – ICP und NDT –, das merkmalsbasierte Design von LOAM, Loop Closure und Graph SLAM sowie die Entwicklung von Landmarkenalgorithmen und deren praktische Auswahl. Aktuelle Entwicklungen werden im Artikel „Technologietrends in LiDAR-SLAM“ behandelt.
Velodyne LiDAR-Familie
Livox LiDAR-BeispieleBilder: Velodyne LiDAR-Sensorfamilie (APJarvis, CC BY-SA 4.0) / Livox Mid-40, Horizon und Tele-15 (Dllu, CC BY-SA 4.0), Wikimedia Commons. Repräsentative Produktfamilien, nicht unbedingt die neuesten im Text genannten Modelle.
0. Inhalt dieses Artikels
- Was ein LiDAR-System tatsächlich misst und warum es Entfernungen „direkt“ ermittelt
- Wie sich das grundlegende SLAM-Problem in der Welt der Punktwolken zeigt
- Wie die beiden Säulen-Scan-Matching-Algorithmen ICP (Iterative Closest Point) und NDT (Normal Distributions Transform) funktionieren und worin sie sich unterscheiden
- Der Unterschied zwischen den beiden Modi der LiDAR-Odometrie: Scan-to-Scan und Scan-to-Map
Warum LOAM überhaupt Merkmale (Kanten und Flächen) extrahiert und die zugrunde liegende Designphilosophie - Wie Loop Closure und Pose Graph Optimization zusammenwirken
Die Unterschiede zwischen den Landmark-Algorithmen – ICP / NDT / LOAM / LeGO-LOAM / A-LOAM / Cartographer / LIO-SAM / FAST-LIO2 – und wie man den richtigen auswählt
1. Was ist LiDAR-SLAM?
In einem Satz: LiDAR-SLAM ist eine Technologie, die hochpräzise Distanzmessungen (eine Punktwolke) nutzt, welche aus der Laufzeit (oder Phasenverschiebung) von Laserlicht gewonnen werden. Durch wiederholtes Registrieren aufeinanderfolgender Scans (Scan-Matching) werden gleichzeitig die eigene Bahn des Sensors und eine 3D-Karte seiner Umgebung berechnet.
Die Eingabe ist die Punktwolke, die ein LiDAR in einem festen Intervall ausgibt (von einigen Tausend bis zu Hunderttausenden von Punkten pro Scan). Die Ausgabe besteht – genau wie bei Visual-SLAM – aus zwei Dingen: der Position des Sensors mit sechs Freiheitsgraden (drei für die Position, drei für die Orientierung) und einer 3D-Punktwolkenkarte der Umgebung. Beispiele hierfür sind: ein autonomes Fahrzeug, das präzise Abstände zu anderen Fahrzeugen, Fußgängern und der Straßeninfrastruktur einhält und gleichzeitig seine eigene Position bestimmt; ein autonomer mobiler Roboter, der präzise zwischen Lagerregalen navigiert; Eine Drohne, die durch geometrisch komplexe Räume wie Tunnel oder Gebäudeinnenräume fliegt – in all diesen Fällen kommt LiDAR-SLAM zum Einsatz.
2. Was misst ein LiDAR-System eigentlich?
Die LiDAR-Entfernungsmessprinzipien lassen sich in zwei Hauptkategorien einteilen. Beim ToF-Verfahren (Time of Flight) sendet der Sensor einen Laserimpuls aus und misst die Zeit T, die der reflektierte Impuls für die Rückkehr zum Ziel benötigt. Daraus wird die Entfernung D anhand der Lichtgeschwindigkeit c berechnet.
Da das Licht den Hin- und Rückweg zurücklegt, muss die gemessene Zeit T halbiert werden, um die einfache Laufzeit zu erhalten. Das andere Verfahren, Phasenverschiebung (FMCW/AMCW), sendet einen kontinuierlich modulierten Laserstrahl aus und berechnet die Entfernung aus der Phasendifferenz zwischen dem gesendeten und dem reflektierten Signal. So oder so erfasst ein LiDAR-System nicht nur die Anwesenheit eines Objekts, sondern dessen tatsächliche, absolute Entfernung in einer einzigen Messung – eine Fähigkeit, die einer Kamera völlig fehlt. Wie wir in Abschnitt 4 sehen werden, kann ein einzelnes Bild einer Monokularkamera niemals die realen Maßstäbe wiedergeben, während eine LiDAR-Punktwolke von vornherein metrische Maßstäbe enthält.
Es gibt zwei Arten von LiDAR-Hardware. Mechanisches Rotations-LiDAR nutzt eine Anordnung mehrerer Laser-Sender/Empfänger, um eine vollständige 360-Grad-Punktwolke zu erzeugen; Velodyne und Ouster sind typische Hersteller. Solid-State-LiDAR verzichtet auf rotierende mechanische Teile und verwendet stattdessen MEMS-Spiegel oder optische Phased-Array-Antennen, um ein begrenztes Sichtfeld abzutasten und gleichzeitig kleinere Abmessungen und geringere Kosten zu erzielen; Livox ist ein typisches Beispiel. Solid-State-Geräte bieten im Gegenzug für ein engeres Sichtfeld bei vielen Produkten ein nicht-repetitives Abtastmuster (Abtasten desselben Punktes auf einem leicht unterschiedlichen Pfad), wodurch die Punktwolken mit zunehmender Messdauer dichter werden.
LiDAR-Punktwolken weisen eine Struktur auf, die Kamerabildern vollständig fehlt. Ein rotierender LiDAR sendet mehrere vertikal gestapelte Laserstrahlen aus (z. B. 16, 32 oder 128 Schichten), während er sich horizontal dreht. Dadurch entstehen Punktwolken, die horizontal dicht, vertikal jedoch spärlich und geschichtet sind – eine anisotrope Verteilung. Diese Struktur beeinflusst direkt die Merkmalsextraktion von LOAM und die Normalenbestimmung von ICP, die wir beide weiter unten behandeln werden.
3. Das grundlegende SLAM-Problem: „Wo in der Karte gehört die aktuelle Punktwolke hin?“
So wie Visual-SLAM die Frage „Wo entspricht das aktuelle Bild innerhalb vergangener Bilder und der Karte?“ durch den Abgleich von Merkmalspunkten löst, löst LiDAR-SLAM die Frage „Wo entspricht der aktuelle Scan (die aktuelle Punktwolke) innerhalb vergangener Scans und der Karte?“ durch die Ausrichtung von Punktwolken aneinander. Das zugrundeliegende Problem ist im Wesentlichen unabhängig vom Sensor dasselbe: Eine einzelne Beobachtung allein kann niemals eine absolute Position bestimmen. Der einzige Weg nach vorn besteht darin, die aktuelle Position mithilfe der Korrespondenz mit früheren Beobachtungen (der Karte) als Anhaltspunkt kontinuierlich zu schätzen.
Der Unterschied liegt in der Art dieser Korrespondenz. Visual-SLAM erkennt markante Punkte (Merkmale) in einem Bild, kodiert deren Umgebung numerisch als Deskriptor und sucht anhand der Deskriptorähnlichkeit nach Korrespondenzen. Eine LiDAR-Punktwolke hingegen enthält von vornherein fast keine Informationen über das Erscheinungsbild, wie Helligkeit oder Farbe (die Reflexionsintensität ist zwar verfügbar, aber deutlich weniger aussagekräftig als ein Bilddeskriptor). Daher basiert der Abgleich von Punktwolken in den meisten Fällen ausschließlich auf der räumlichen Nähe – der geometrisch nächstgelegene Punkt. Der gesamte Prozess der Bestimmung der starren Transformation (Rotation, Translation) zwischen zwei Punktwolken wird als Scan-Matching bezeichnet und bildet den Kern von LiDAR-SLAM.
Die Kernaussage dieses Abschnitts ist einfach: Während Visual-SLAM „Feature-Matching + Epipolargeometrie“ verwendet, setzt LiDAR-SLAM stattdessen auf „Scan-Matching“. Die nächsten beiden Abschnitte behandeln die beiden Säulenalgorithmen für Scan-Matching: ICP und NDT.
4. ICP verstehen
ICP (Iterative Closest Point) ist ein klassischer Algorithmus zur Punktwolkenregistrierung. Er wurde 1992 von Besl & McKay in den IEEE Transactions on Pattern Analysis and Machine Intelligence veröffentlicht und ist auch heute noch weit verbreitet. Wie der Name schon sagt, basiert er auf einer einfachen Idee: Der „nächstgelegene Punkt“ wird als korrespondierender Punkt behandelt und dieser dann wiederholt verfeinert.
Der Algorithmus lässt sich in drei Schritte unterteilen.
-
Korrespondenzsuche: Für jeden Punkt p_i in der bewegten Punktwolke (der Quelle) wird der nächstgelegene Punkt q_i in der fixierten Punktwolke (dem Ziel) gefunden – typischerweise mithilfe einer räumlichen Suchstruktur wie einem KD-Baum.
-
Transformationsschätzung: Gegeben sei die Menge der Korrespondenzen \{(p_i, q_i)\}. Finde die Rotation R und Translation \mathbf{t}, die die Summe der Abstände zwischen korrespondierenden Punkten minimieren. Die einfachste Version, der Punkt-zu-Punkt-Fehler, ist wie folgt definiert:
- Anwenden und Iterieren: Wende die resultierenden Transformationen R und \mathbf{t} auf die gesamte Quellpunktwolke an. Gehe dann zurück zu Schritt 1 und suche erneut nach Korrespondenzen. Dieser Zyklus aus Korrespondenzsuche → Transformationsschätzung → Anwendung wird wiederholt, bis der Fehler klein genug ist (oder nicht mehr abnimmt).
Der Punkt-zu-Punkt-Fehler ist intuitiv, aber beim Ausrichten zweier großer, ebener Flächen – beispielsweise einer Wand – spielt es für den Fehler kaum eine Rolle, wo genau die Punkte auf dieser Fläche zueinander passen (eine kleine Verschiebung entlang der Fläche verändert den Fehler kaum, solange der senkrechte Versatz gering ist). Daher ist die Konvergenz tendenziell langsam. Der Punkt-zu-Fläche-Fehler löst dieses Problem: Er schätzt einen Normalenvektor n_i aus der lokalen Form um den entsprechenden Punkt q_i und minimiert nur die Abweichung entlang der Normalenrichtung (den Punkt-zu-Fläche-Abstand).
Der Punkt-zu-Fläche-Fehler toleriert Versätze entlang der Fläche und bestraft strikt nur die Abweichung senkrecht dazu. Er konvergiert bekanntermaßen schneller und stabiler als der Punkt-zu-Punkt-Fehler, insbesondere in Umgebungen mit vielen Flächen, wie beispielsweise in Gebäudeinnenräumen. Wie bereits in Abschnitt 2 erwähnt, weist die Punktwolke eines rotierenden LiDAR-Systems eine geschichtete, vertikal spärliche Struktur auf. Daher kann eine naive Schätzung der Normalen zu verrauschten Normalen führen, die durch die Schichtung verfälscht werden – die Schätzung der Normalen selbst erfordert daher Sorgfalt.
ICP hat zwei Hauptschwächen. Erstens: Da die Korrespondenzsuche ausschließlich auf dem Prinzip des „nächsten geometrischen Nachbarn“ basiert, führt ein großer anfänglicher Offset zu falschen Korrespondenzen und zur Konvergenz zu einem lokalen Minimum – eine gute Anfangsschätzung ist daher unerlässlich. Zweitens: Die wiederholte Durchführung der Nächste-Nachbarn-Suche über Punktwolken mit Zehntausenden von Punkten pro Frame ist rechenintensiv und skaliert mit der Größe der Punktwolke. NDT, das im Folgenden beschrieben wird, verfolgt einen anderen Ansatz, der die Korrespondenzsuche vollständig umgeht.
5. NDT verstehen
NDT (Normal Distributions Transform) ist ein Scan-Matching-Algorithmus mit einem grundlegend anderen Ansatz als ICP. Er wurde 2003 von Biber & Straßer auf der IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) veröffentlicht. Das ursprüngliche Verfahren wurde für 2D-Laserscanner entwickelt und später auf 3D-Punktwolken erweitert.
Die Kernidee der zerstörungsfreien Prüfung (ZfP) besteht darin, eine Punktwolke nicht als Menge einzelner Punkte, sondern als Wahrscheinlichkeitsverteilung pro Voxel auf einem regelmäßigen Gitter darzustellen. Die Punktverteilung innerhalb jedes Voxels wird als Gaußverteilung (Normalverteilung) mit Mittelwert \mu und Kovarianzmatrix \Sigma approximiert.
Da die gesamte Zielpunktwolke auf diese Weise – als Menge von Gaußverteilungen pro Voxel, die eine stückweise stetige, differenzierbare Wahrscheinlichkeitsdichtefunktion bilden – dargestellt wird, entfällt die Notwendigkeit, Punkt-zu-Punkt-Korrespondenzen zu suchen, um die Quellpunktwolke auszurichten. Stattdessen wird für eine Transformation T (Rotation und Translation), die auf jeden Quellpunkt \mathbf{x}_i angewendet wird und \mathbf{x}_i' = T(\mathbf{x}_i) ergibt, summiert man, wie „plausibel“ dieser transformierte Punkt unter der Gaußverteilung seines entsprechenden Voxels ist, als Bewertungsfunktion und findet den T, der diesen Wert maximiert.
Diese Optimierung wird mit gradientenbasierten Verfahren wie dem Newton-Verfahren gelöst. Im Gegensatz zu ICP ist es nicht notwendig, zwischen Korrespondenzsuche und Transformationsschätzung als separate Schritte zu wechseln – man wertet einfach den Gradienten anhand der vorab berechneten Gaußparameter aus –, sodass die Kosten der Nächste-Nachbarn-Suche vollständig vermieden werden. Und da das Rauschen in einzelnen Punkten in einen Mittelwert und eine Kovarianz pro Voxel absorbiert wird, ist das Ergebnis in der Regel robust gegenüber Rauschen.
NDT bringt jedoch auch einen Kompromiss mit sich: die Wahl der Voxelgröße. Größere Voxel sind rechentechnisch weniger aufwendig, mitteln aber feine Formunterschiede weg, was die Ausrichtungsgenauigkeit beeinträchtigt. Kleinere Voxel erhöhen die Formauflösung, führen aber zu weniger Punkten pro Voxel, wodurch die Gaußsche Schätzung selbst instabil wird. Zudem steigen die Rechenkosten mit zunehmender Voxelanzahl. Dieser vom Benutzer präzise einzustellende Parameter macht NDT in der Praxis etwas umständlich.
6. LiDAR-Odometrie (Scan-zu-Scan / Scan-zu-Map)
Das Verfahren, bei dem mithilfe von ICP oder NDT die relative Bewegung zwischen aufeinanderfolgenden Bildern ermittelt und diese Schätzungen über die Zeit akkumuliert werden, wird als LiDAR-Odometrie bezeichnet. Wie bei der visuellen Odometrie in Visual-SLAM akkumuliert sich ohne einen Mechanismus zum Abgleich mit der Gesamtkarte (Schleifenschließung) die Drift mit der Zeit und lässt sich nicht vermeiden.
LiDAR-Odometrie gibt es in zwei Varianten, je nachdem, womit sie verglichen wird. Scan-to-Scan registriert jeden Scan nur im Vergleich zum unmittelbar vorhergehenden Scan. Dies ist rechentechnisch günstig, führt aber aufgrund der direkten Übertragung jedes Schätzfehlers auf die Anfangsschätzung für den nächsten Scan zu einer Akkumulation von Drift. Scan-to-Map registriert den aktuellen Scan nicht im Vergleich zu einem einzelnen vorherigen Scan, sondern im Vergleich zur gesamten akkumulierten lokalen Karte. Durch die Einbeziehung von mehr Beobachtungen ist dieses Verfahren weniger störanfällig und im Allgemeinen genauer als Scan-to-Scan, allerdings auf Kosten eines höheren Rechenaufwands, da die Referenzpunktwolke größer ist.
Die meisten praktischen LiDAR-SLAM-Implementierungen kombinieren beide Verfahren. Zunächst wird eine schnelle, grobe Anfangsschätzung – mittels Scan-to-Scan, IMU-Vorhersage oder einer groben NDT-basierten Ausrichtung aus Abschnitt 5 – ermittelt. Diese Anfangsschätzung wird anschließend durch eine präzise Scan-to-Map-Registrierung verfeinert. Die folgende Pipeline veranschaulicht einen allgemeinen LiDAR-SLAM-Verarbeitungsablauf, der auf diesem zweistufigen Konzept basiert.
Abbildung 1 – Der schnelle Pfad pro Scan durchläuft die Schritte von der Entzerrung über die lokale Registrierung bis hin zu Pose- und Lokalkartenaktualisierungen und speist die nächste Anfangsschätzung und Referenzkarte. Ein separater Pfad mit niedrigerer Rate überprüft Wiederholungen aus dem Keyframe-Verlauf, berücksichtigt Schleifenbeschränkungen und nutzt die Graphoptimierung. Zur Korrektur der globalen Trajektorie und Kartierung.
Der im Diagramm dargestellte Deskew-Schritt (Korrektur von Verzerrungen während des Scans) ist spezifisch für LiDAR. Ein einzelner Scan eines rotierenden LiDAR-Sensors wird nicht instantan erfasst – die Datenerfassung dauert einige zehn bis hundert Millisekunden. Bewegt sich der Sensor während dieses Zeitfensters, repräsentieren früher und später erfasste Punkte im selben Scan Messungen von tatsächlich unterschiedlichen Zeitpunkten und Positionen, die sich innerhalb eines einzigen Scans vermischen (Bewegungsverzerrung). Deskew verwendet eine IMU (oder die vorherige Geschwindigkeitsschätzung), um diese Bewegung während des Scans zu korrigieren und die Punktwolke so zu rekonstruieren, als wäre sie in einem einzigen Moment erfasst worden. Diese Korrektur ist eng mit der in VIO/LIO beschriebenen IMU-Fusion verbunden (siehe „VIO/LIO Primer“).
7. LOAM verstehen
LOAM (Lidar-Odometrie und Kartierung in Echtzeit), veröffentlicht von Zhang Die von Singh 2014 auf der Robotics: Science and Systems (RSS) vorgestellte LOAM-Technologie bildet bis heute die Grundlage für viele LiDAR-SLAM-Implementierungen. Die zentrale Innovation von LOAM besteht darin, nur geometrisch distinktive Punkte zu extrahieren, anstatt jeden Punkt der Punktwolke zu verwenden.
LOAM bewertet die lokale Glätte (Krümmung) um jeden Punkt und extrahiert Punkte mit hoher Krümmung relativ zu ihrer Umgebung als Kantenmerkmale (scharfe Ecken oder Umrisse von Objekten) und Punkte mit geringer Krümmung als Flächenmerkmale (Teil einer glatten Oberfläche, wie z. B. einer Wand oder eines Bodens). Anstatt einen gesamten Scan mit Zehntausenden von Punkten für die Registrierung zu verwenden, reduziert die Beschränkung auf diese Merkmale den Rechenaufwand für den Scanabgleich drastisch.
Nach der Merkmalsextraktion ähnelt die Fehlerformulierung den ICP-Ideen aus Abschnitt 4, jedoch ist das geometrische Element, mit dem abgeglichen wird, eine „Linie“ oder „Ebene“ anstelle eines „Punktes“. Ein Kantenmerkmal p_i wird abgeglichen, indem sein Abstand zu minimiert wird. Die Linie, die von zwei korrespondierenden Punkten p_a und p_b im vorherigen Scan (bzw. der Karte) aufgespannt wird.
Ein planares Merkmal wird durch Minimierung seines Abstands zur Ebene, die von drei korrespondierenden Punkten aufgespannt wird, ermittelt (dieselbe Form wie der Punkt-zu-Ebene-Fehler in Abschnitt 4). Die Summe dieser Abstände und die Minimierung über Rotation und Translation ergeben die relative Bewegung zwischen den Frames.
Eine weitere zentrale Designentscheidung von LOAM ist seine zweistufige Struktur aus hochfrequenter Lidar-Odometrie und niederfrequentem Lidar-Mapping. Die Lidar-Odometrie führt einen merkmalsbasierten Scan-zu-Scan-Abgleich mit dem unmittelbar vorhergehenden Scan in hoher Frequenz (bei jedem Scan) durch und erzeugt so eine grobe, aber schnelle Positionsbestimmung. Das Lidar-Mapping verwendet diese grobe Bestimmung als Startwert und führt einen Scan-zu-Map-Abgleich mit der gesamten akkumulierten Karte in niedrigerer Frequenz als die Lidar-Odometrie durch, wodurch eine genauere Position und eine präzisere Karte erzeugt werden. Die beiden Prozesse werden parallel ausgeführt. Durch die Verwendung unterschiedlicher Frequenzen und die Korrektur der Lidar-Odometrie-Schätzung durch das Ergebnis des Lidar-Mappings wird gleichzeitig eine hohe Ausgabefrequenz und hohe Genauigkeit erreicht. Diese Designphilosophie der „groben Schätzung mit hoher Frequenz und der präzisen Korrektur mit niedriger Frequenz“ wurde von vielen der späteren LiDAR-SLAM- und LIO-Implementierungen übernommen, die in Abschnitt 9 behandelt werden.
8. Schleifenschluss und Graph-SLAM
Wie die visuelle Odometrie in Visual-SLAM akkumuliert auch die LiDAR-Odometrie mit der Zeit Drift. Selbst nachdem ein Roboter zu seinem Ausgangspunkt zurückgekehrt ist, wird dies in der geschätzten Trajektorie nicht erkannt. Der Mechanismus zur Korrektur dieses akkumulierten Fehlers ist der Schleifenschluss.
Der Schleifenschluss im LiDAR-Bereich lässt sich in zwei Hauptschritte unterteilen. Der erste Schritt ist die Ortserkennung: Dabei wird beurteilt, ob die aktuelle Punktwolke einer Punktwolke eines zuvor besuchten Ortes ähnelt. Da Punktwolken keine Helligkeitsinformationen wie Bilder enthalten, basieren diese Verfahren auf Ansätzen, die die Formverteilung der Punktwolke selbst als Deskriptor kodieren. Beispielsweise Methoden wie Scan Context, die einen Scan in fächerförmige Zellen unterteilen und die maximale Höhe jeder Zelle als Deskriptor kodieren, oder Methoden, die geometrische Merkmale der gesamten Punktwolke zusammenfassen. Zweitens erfolgt die geometrische Verifizierung: Für die von der Ortserkennung als Kandidaten vorgeschlagenen Scanpaare wird ein Scan-Matching mit ICP oder NDT durchgeführt und die Übereinstimmung überprüft. Erst nach erfolgreichem Bestehen beider Phasen gilt eine Beschränkung, die die „aktuelle Position“ mit der „Position beim vorherigen Besuch dieses Ortes“ verknüpft, als ausreichend zuverlässig für die Anwendung.
Die Verwendung dieser Schleifenschlussbeschränkung zur Korrektur der akkumulierten Posen und deren Abbildung zu einem konsistenten Ganzen ist Aufgabe der Pose-Graph-Optimierung oder allgemeiner des Graph-SLAM-Frameworks. Es erstellt einen Graphen, dessen Knoten die Pose des Sensors zu jedem Zeitpunkt darstellen und dessen Kanten Beschränkungen der Relativbewegung zwischen Frames (oder zwischen zwei weit voneinander entfernten, durch eine Schleife verbundenen Zeitpunkten) sind. Anschließend werden die Knoten (Posen) mittels nichtlinearer Optimierung so angepasst, dass alle Kantenbeschränkungen so konsistent wie möglich sind. Die durch den Schleifenschluss neu hinzugefügte Kante spielt dabei die Rolle der Die Drift, die sich bis dahin nur in eine Richtung ausgebreitet hatte, wird nun entlang des gesamten Pfades der Schleife verteilt. Diese Optimierung, wie auch bei Visual-SLAM (siehe Abschnitt 10 „Visual-SLAM Primer“), basiert in LiDAR-SLAM-Implementierungen häufig auf Bibliotheken wie g2o, GTSAM und Ceres Solver.
9. Landmarkenalgorithmen
Die Geschichte von LiDAR-SLAM lässt sich am einfachsten anhand zweier Achsen nachvollziehen: der Registrierung von Punktwolken und der Reduzierung der Merkmale auf explizite Objekte.
ICP (Besl & McKay, 1992) ist, wie in Abschnitt 4 beschrieben, der klassische und immer noch weit verbreitete Basisalgorithmus für die Punktwolkenregistrierung. Er wird selten eigenständig für Echtzeit-SLAM verwendet, aber eine Form der korrespondenzbasierten Minimierung, die von ihm abgeleitet ist, findet sich in nahezu jeder Methode wieder, die gefolgt.
NDT (Biber & Straßer, 2003) ist, wie in Abschnitt 5 beschrieben, ein auf Gaußverteilung basierendes Scan-Matching-Verfahren, das die Korrespondenzsuche vermeidet und neben ICP als eine der beiden grundlegenden Optionen gilt. Es findet breite Anwendung, von 2D-Indoor-Roboter-SLAM bis hin zu 3D-Anwendungen für autonomes Fahren.
LOAM (Zhang & Singh, 2014) ist, wie in Abschnitt 7 beschrieben, die Methode, die die Extraktion von Kanten-/Ebenenmerkmalen sowie das zweistufige Design aus hochfrequenter Odometrie und niederfrequenter Kartierung einführte. Dieses Design bildet bis heute die Grundlage vieler LiDAR-SLAM- und LIO-Implementierungen.
LeGO-LOAM (Lightweight and Ground-Optimized Lidar Odometry and Mapping, Shan & Englot, veröffentlicht 2018 auf der IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)) erweitert LOAM speziell für Bodenfahrzeuge. Es trennt die Punktwolke zunächst in Boden- und Nicht-Bodenpunkte und verwendet die Bodenpunkte zur Schätzung von Roll-, Nick- und anderen Winkeln. Die Höhe und die Nicht-Boden-Punkte werden genutzt, um die verbleibenden Freiheitsgrade (horizontale Position und Gierwinkel) zu schätzen. Dadurch wird ein ressourcenschonendes Design erreicht, das auch auf eingebetteten Systemen mit begrenzter Rechenleistung in Echtzeit funktioniert.
A-LOAM (Advanced LOAM) ist eine vereinfachte Open-Source-Neuimplementierung der LOAM-Ideen, die auf der nichtlinearen Optimierung mittels Ceres Solver basiert und von Gruppen wie der HKUST Aerial Robotics Group veröffentlicht wurde. Sie verzichtet auf einige der detaillierten technischen Anpassungen des ursprünglichen LOAM zugunsten eines übersichtlicheren Codes und wird häufig als zugängliche Implementierung zum Erlernen und Experimentieren mit der LOAM-Algorithmenfamilie verwendet.
Cartographer (Hess, Kohler, Rapp, Andor, veröffentlicht 2016 auf der IEEE International Conference on Robotics and Automation (ICRA), Google) führt lokales Scan-Matching mittels Ceres Solver auf Basis von Teilkarten durch (eine Teilkarte ist ein Bündel mehrerer Scans). In Kombination mit einer schnellen Schleifenschlusserkennung mittels Divide-and-Conquer-Branch-and-Bound-Suche. Es unterstützt sowohl 2D- als auch 3D-Daten und hat sich – dank der weit verbreiteten Open-Source-Implementierungen für ROS – in der Indoor-Kartierung etabliert.
LIO-SAM (Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping, Shan, Englot, Meyers, Wang, Ratti, Rus, veröffentlicht 2020 auf der IROS-Konferenz) ist eine eng gekoppelte LiDAR-Inertial-Odometrie-Methode (LIO), die IMU-Vorintegrationsfaktoren, LiDAR-Scan-Matching-Odometriefaktoren, GPS-Faktoren und Schleifenschlussfaktoren innerhalb eines gemeinsamen Faktorgraphen optimiert (siehe „VIO/LIO Primer“ für Details).
FAST-LIO2, veröffentlicht von Xu, Zhang und Kollegen am MARS Lab der Universität Hongkong, ist eine schnelle LIO-Methode, die auf einem eng gekoppelten iterierten Kalman-Filter basiert. Durch die direkte Verarbeitung der Punktwolke mittels sequenzieller Nächste-Nachbarn-Suche (inkrementeller k-d-Baum, iKD-Baum) wird die Punktwolke ohne expliziten Merkmalsextraktionsschritt direkt auf der Karte registriert. Das Design priorisiert Echtzeitbetrieb auf kleinen Plattformen mit begrenzter Rechenleistung. Aktuelle Entwicklungen bis 2026 werden in „Technologietrends in LiDAR-SLAM“ behandelt.
10. Vergleich der Methoden
| Methode | Prinzip | Genauigkeit | Rechenaufwand | Robustheit | Implementierungsaufwand |
|---|---|---|---|---|---|
| ICP | Nächste-Nachbarn-Suche + iterative Minimierung starrer Transformationen | Hohe Genauigkeit bei guter Startschätzung; ansonsten lokale Minima | Mittel bis hoch (Aufwand der iterativen Nächste-Nachbarn-Suche) | Schwach in geometrisch strukturlosen Umgebungen oder bei großen Datenmengen Anfangs-Offsets | Niedrig (konzeptionell einfach, viele bestehende Implementierungen) |
| NDT | Maximierung der Anpassung an Gaußverteilungen pro Voxel | Abhängig von der Voxelgröße; vergleichsweise robust gegenüber Rauschen | Mittel (keine Korrespondenzsuche, aber Gradientenberechnung erforderlich) | Robust gegenüber Rauschen, erfordert jedoch eine Anpassung der Voxelgröße | Mittel (Anpassung erfordert etwas Geschick) |
| LOAM | Kanten-/Planarmerkmalextraktion + zweistufige Odometrie/Kartierung | Hohe Genauigkeit in merkmalreichen Umgebungen | Mittel (ressourcenschonender als die Verwendung der gesamten Punktwolke dank Merkmalsauswahl) | Schwach in merkmalarmen Umgebungen (Tunnel usw.) | Mittel–hoch (komplexe Parameter und Design) |
| LeGO-LOAM | Boden-Punkt-Trennung + zweistufige Optimierung im LOAM-Stil | Hohe Genauigkeit für Bodenfahrzeuge; Annahmen gelten nicht für Luftfahrzeuge | Mittel (ressourcenschonender als LOAM) | Stark abhängig vom Vorhandensein einer ebenen Bodenebene | Mittel |
| A-LOAM | Vereinfachte Neuimplementierung von LOAM mit dem Ceres Solver | In etwa LOAM-äquivalent (variiert je nach Implementierung) | Mittel | Erbt die gleichen Schwächen wie LOAM | Niedrig bis mittel (leicht zu erlernen) |
| Cartographer | Scan-Matching pro Submap + Branch-and-Bound-Schleifenschließung | Hohe Genauigkeit in Innenräumen (2D); hohe globale Konsistenz | Mittel bis hoch (Kosten für Submap-Management und Branch-and-Bound-Suche) | Stark in schleifenreichen Innenräumen | Mittel (leicht in das ROS-Ökosystem zu integrieren) |
| LIO-SAM | Faktorgraph-Optimierung der IMU-Vorintegration + LiDAR-Odometrie + GPS + Schleifenschließung | Hohe Genauigkeit durch IMU-Fusion; die globale Konsistenz verbessert sich durch GPS weiter | Hoch (Kosten der Faktorgraph-Optimierung) | IMU hilft, geometrische Degeneration zu vermeiden | Mittel bis hoch (spezifische Sensorannahmen, z. B. 9-Achsen-IMU) |
| FAST-LIO2 | Direkte Registrierung über iterierten Kalman-Filter + iKD-Baum | Hohe Genauigkeit bei hohen Frequenzen (besonders ausgeprägt bei Festkörper-LiDAR) | Niedrig bis mittel (direkte Methode vermeidet Kosten der Merkmalsextraktion) | Abhängig von der IMU bei geometrischer Degeneration; schwach bei extremen Bedingungen mit geringer Geometrie | Mittel (Implementierung ist öffentlich, interne Optimierung erfordert jedoch Fachkenntnisse) |
Insgesamt ist es hilfreich, ICP und NDT als die „fundamentalen Registrierungsalgorithmen“, die LOAM-Familie (LOAM/LeGO-LOAM/A-LOAM) als „Effizienzgewinne durch Merkmalsdesign“, Cartographer als „effiziente globale Konsistenz und Schleifenschließung“ und LIO-SAM/FAST-LIO2 als „Robustheitsgewinne durch enge IMU-Kopplung“ zu betrachten – jede dieser Methoden stellt eine eigenständige Verbesserungsachse dar, die auf den vorherigen aufbaut.
11. Wo LiDAR-SLAM Schwierigkeiten hat
Da LiDAR aktiv Laserlicht aussendet, um Entfernungen zu messen, ist es auch bei Dunkelheit und Gegenlicht – Umgebungen, in denen Visual-SLAM Probleme hat – gut einsetzbar. LiDAR-SLAM hat jedoch eigene Schwächen.
-
Geometrische Degeneration: in In Umgebungen, in denen sich die Form der Punktwolke entlang einer bestimmten Richtung kaum ändert – beispielsweise in einem langen Tunnel oder auf einem großen, ebenen Parkplatz –, kann die Scan-Zuordnung Translationen oder Rotationen entlang dieser Richtung nicht eindeutig bestimmen. Dies liegt daran, dass die ICP/NDT-Optimierung in einem „flachen Tal“ landet, in dem sich der Fehler für jeden Wert entlang dieser Richtung kaum ändert. Die zugrundeliegende Ursache ist dieselbe wie die Schwäche von Visual-SLAM gegenüber strukturlosen Wänden.
-
Extreme Wetterbedingungen: Regen, Schnee, Nebel und Staub streuen und absorbieren Laserlicht, wodurch Reflexionen, die sonst zurückkehren würden, abgeschwächt oder Rauschpunkte (falsche Reflexionen an Positionen, an denen tatsächlich nichts vorhanden ist) erzeugt werden.
-
Spiegel und transparente Objekte: Glas und Spiegel können Laserlicht spiegelnd reflektieren und so falsche Punkte an einer anderen Position als der des tatsächlichen Objekts (der Position des Spiegelbildes) erzeugen.
-
Dynamische Objekte: Die Verwendung von Punkten auf sich bewegenden Objekten – Fußgängern, Fahrzeugen – als wären sie Teil einer statischen Umgebung während der Registrierung, führt zu Fehlern in der Schätzung der Eigenbewegung des Sensors. Dynamische Objekte müssen erkannt und ausgeschlossen oder explizit gefiltert werden. Die Modellierung wird notwendig.
-
Der Kompromiss zwischen Punktdichte und Rechenaufwand: Punktwolken mit höherer Auflösung und Frequenz führen tendenziell zu einer genaueren Registrierung. Je mehr Punkte pro Frame jedoch vorliegen, desto höher ist der Rechenaufwand für das Scan-Matching. In eingebetteten Systemen oder Drohnen mit begrenzter Rechenleistung wird dieser Kompromiss zwischen Dichte und Geschwindigkeit zu einer wichtigen Designvorgabe.
-
Hardwarekosten: Hochauflösende, rotierende LiDAR-Systeme mit großer Reichweite sind deutlich teurer als Kameras, und die Kosten stellen oft ein erhebliches Hindernis für die Einführung dar.
Viele dieser Schwächen wirken sich anders aus als die Schwächen einer Kamera. Daher ist die Kombination von Kamera (Visual-SLAM) und LiDAR (LiDAR-SLAM) – Sensorfusion (siehe „Sensor Fusion Primer“) – eine leistungsstarke Methode, um die Grenzen der einzelnen Sensoren auszugleichen.
12. Auswahl in der Praxis
Die Wahl des LiDAR-SLAM-Verfahrens hängt stark davon ab, welche Sensoren verwendet werden können. Montage, verfügbare Rechenleistung, erforderliche Genauigkeit und die geometrische Beschaffenheit der Umgebung.
-
Serviceroboter und Saugroboter für Innenräume: Kostengünstiges 2D-LiDAR ist nach wie vor eine bewährte und zuverlässige Option, und robuste 2D-SLAM-Implementierungen wie Cartographer sind weit verbreitet. Innenräume mit ihren vielen Strukturen wie Wänden und Möbeln weisen selten geometrische Unregelmäßigkeiten auf und eignen sich daher ideal für LiDAR-SLAM.
-
Autonome Fahrzeuge: Hochauflösendes 3D-LiDAR in Kombination mit Multisensorfusion (GPS, IMU und Kamera) ist die Grundvoraussetzung. Um geometrisch unregelmäßige Abschnitte wie Tunnel und Brücken zu bewältigen, spielen eng IMU-gekoppelte Konfigurationen wie LIO-SAM/FAST-LIO2 eine wichtige Rolle.
-
Drohnen: Aufgrund der geringen Gewichts- und Leistungsbeschränkungen wird Solid-State-LiDAR (z. B. Livox) in Kombination mit einer recheneffizienten direkten Methode wie FAST-LIO2 bevorzugt.
-
Lager und Fabrik AGVs/AMRs**: Umgebungen mit regelmäßiger, korridorartiger Struktur sind üblich, wodurch 2D-LiDAR-basierte Scan-to-Map-Verfahren (z. B. Cartographer) eine praktikable Wahl darstellen. In Umgebungen mit häufig wechselnden Regalanordnungen spielt auch die Kartenaktualisierungsfrequenz eine Rolle bei der Auswahl.
-
Schwierige Umgebungen – Tunnel, unterirdische Räume, lange gerade Korridore: LiDAR allein neigt zu instabiler Registrierung, daher ist eine enge IMU-Kopplung (LIO-SAM/FAST-LIO2) oder die Kombination mit einer unabhängigen Quelle wie Radodometrie praktisch unerlässlich.
-
Innen- vs. Außenbereiche: Innenräume sind strukturreich und bieten zahlreiche geometrische Anhaltspunkte, was LiDAR-SLAM begünstigt, während Außenbereiche die Herausforderung der instabilen Registrierung in offenen Gebieten und bei extremen Wetterbedingungen mit sich bringen, wodurch die IMU/GNSS-Fusion wichtiger wird.
Als Faustregel gilt: Eine direkte Methode wie FAST-LIO2 für ressourcenschonende Anwendungen und hohe Ausgabefrequenzen, LIO-SAM für globale Konsistenz, das auch GPS integriert, und Cartographer für bewährte Ergebnisse in 2D-Umgebungen und die enge Integration in das ROS-Ökosystem sind entscheidend. Eine Konfiguration ohne IMU (ICP/NDT/LOAM Standalone) ist angesichts der Anforderungen an Robustheit gegenüber extremen Umgebungsbedingungen heutzutage kaum noch praktikabel. Die meisten operationellen Systeme basieren daher standardmäßig auf einer engen IMU-Kopplung.
(2D-Umgebungen und enge Integration in das ROS-Ökosystem sind eng mit dem ROS-Ökosystem verbunden.) ## 13. Referenzen
- Besl & McKay, „A Method for Registration of 3-D Shapes“ (IEEE TPAMI, 1992)
- Zhang & Singh, „LOAM: Lidar Odometry and Mapping in Real-time“ (RSS, 2014)
- Xu et al., „FAST-LIO2: Fast Direct LiDAR-Inertial Odometry“ (IEEE T-RO, 2022)
14. Zusammenfassung
LiDAR-SLAM verwendet die aus der Laufzeitmessung eines Lasers gewonnenen metrischen Distanzinformationen (Punktwolken), führt ein Scan-Matching entweder mit ICP (iterative Registrierung der nächsten Punkte) oder NDT (Anpassung an Gaußverteilungen pro Voxel) durch und akkumuliert eine Die Trajektorie wird mittels LiDAR-Odometrie durch die Kombination von Scan-to-Scan und Scan-to-Map bestimmt. Akkumulierte Fehler werden durch Loop Closure und Pose-Graph-Optimierung korrigiert – so werden simultane Selbstlokalisierung und Kartierung erreicht. Die verschiedenen Landmark-Algorithmen – die LOAM-Familie (Effizienz durch Merkmalsextraktion), Cartographer (effiziente globale Konsistenz) und LIO-SAM/FAST-LIO2 (Robustheit durch enge IMU-Kopplung) – entwickelten sich jeweils als Antwort auf eine spezifische Herausforderung. Im Hinblick auf die Bewältigung geometrisch komplexer Umgebungen haben sich die meisten operativen Systeme auf Designs mit enger IMU-Kopplung als Basisstandard konzentriert.
Bestimmt eine erfolgreiche Entfernungsmessung die LiDAR-Pose eindeutig?
In Ebenen und langen Korridoren können einige Bewegungsrichtungen nur schwach eingeschränkt sein. Erfolgreiche Entfernungsmessung und Registrierungsbeobachtbarkeit sind unterschiedlich.
Kommentare
Bitte zuerst anmelden.
Noch keine Einträge.