# LiDAR SLAM (Lokalisierung und Navigation)

**URL:** https://forum.eduart-robotik.com/t/lidar-slam-lokalisierung-und-navigation/137
**Category:** Using IOTBot
**Created:** [February 9, 2025, 3:30pm UTC](https://forum.eduart-robotik.com/t/lidar-slam-lokalisierung-und-navigation/137 "2025-02-09T15:30:16Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![snaens](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.eduart-robotik.com/snaens/32/72_2.png) [@snaens](https://forum.eduart-robotik.com/u/snaens)
#### Post date: [February 9, 2025, 3:30pm UTC](https://forum.eduart-robotik.com/t/lidar-slam-lokalisierung-und-navigation/137/1 "2025-02-09T15:30:16Z")

</div>

Hey da alle zusammen,  
am Leonardo Zentrum haben wir vom Workshop “Lokalisierung und Navigation” dieses Dokument bekommen: [https://files.snaens.net/public/Documents/Workshop%20Lokalisierung%20und%20Navigation.pdf](https://files.snaens.net/public/Documents/Workshop%20Lokalisierung%20und%20Navigation.pdf)

Darin steht unter 2.1 ich soll den Laser Scan Matcher [`csm`](https://github.com/AlexKaravaev/csm.git) installieren.  
Aber dazu soll ich zusätzlich noch unter 3. [`slam_toolbox`](https://github.com/SteveMacenski/slam_toolbox?tab=readme-ov-file) installieren.

Den [Parametern](https://github.com/SteveMacenski/slam_toolbox?tab=readme-ov-file#matcher-params) zufolge hat aber die slam\_toolbox Laser Scan Matching bereits eingebaut.  
Zusätzlich noch ist die slam\_toolbox anscheinend die go-to ROS2-SLAM library, und wird zb in nav2 benutzt.

Ihr ohmler kennt euch da sicherlich besser aus, _ **weshalb wird csm benötigt** _, ist es besser als das Matching in der slam\_toolbox?

---

<div class="post-metadata">

### Author: ![hannesduske](https://avatars.discourse-cdn.com/v4/letter/h/e9a140/32.png) [@hannesduske](https://forum.eduart-robotik.com/u/hannesduske)
#### Post date: [February 10, 2025, 8:47am UTC](https://forum.eduart-robotik.com/t/lidar-slam-lokalisierung-und-navigation/137/2 "2025-02-10T08:47:40Z")

</div>

Hallo @snaens,

die SLAM-Toolbox ist die Standardlösung für ROS2, daher haben wir sie auch für den Workshop ausgesucht. In der [Dokumentation](https://github.com/SteveMacenski/slam_toolbox) unter dem Punkt **API** sind die zwei Eingangsdaten der Toolbox beschrieben:

- Eine Odometrieschätzung der Roboterpose, also dessen Position und Orientierung.
- Einen `LaserScan`, wie man ihn von einem 2D Lidar bekommt.

Das ist auch am Anfang nochmal in der Workshopanleitung abgebildet:

 ![Slam_Flow](https://europe1.discourse-cdn.com/flex013/uploads/eduart_robotik/original/1X/871ecc82e50bcef9f362b1fad5e0fa1c2de32d1f.png)

Die Odometrie erhält man klassischerweise über das Beobachten der Radumdrehungen oder durch das Aufintegrieren der Beschleunigungswerte einer IMU. Da wir im Workshop nicht wussten, ob eure Roboter bereits eine eigene Odometrie Berechnung eingebaut haben, sind wir einen kleinen Umweg gegangen:

Wir haben den Lidar nicht nur als Quelle des `LaserScans` benutzt, sondern zusätzlich auch um die Odometrie zu generieren. Das ist die Aufgabe des `ros2_laser_scan_matcher` mit der `csm` Bibliothek. Über diesen Weg kann man die SLAM Toolbbox mit nur einem 2D Lidar ohne andere Eingangswerte betreiben. Wie du ganz richtig festgestellt hast, doppeln wir die Berechnung damit aber auch zu gewissen Teilen.

Probiert die Rad-Odometrie oder IMU-Odometrie gerne als Alternative aus und entscheidet, was für euch besser funktioniert. Wir haben die Rad-Odometrie z.B. auch in der neusten Version des [edu\_drive\_ros2](https://github.com/EduArt-Robotik/edu_drive_ros2) Knotens eingebaut. Hier als Gedankenanstoß: Rad-Odometrie reagiert empfindlich auf durchdrehende Räder, ob das in unwegsamen Gelände gut funktioniert … ?

Viele Grüße  
Hannes Duske

PS: Es ist übrigens nicht geplant, dass die SLAM-Toolbox eine eigene Lösung bereitstellen wird, um sie ohne Odometrie zu verwenden. Das hat einer der Haupt-Entwickler [hier](https://github.com/SteveMacenski/slam_toolbox/issues/221) mal beschrieben.

---

<div class="post-metadata">

### Author: ![hannesduske](https://avatars.discourse-cdn.com/v4/letter/h/e9a140/32.png) [@hannesduske](https://forum.eduart-robotik.com/u/hannesduske)
#### Post date: [February 10, 2025, 8:49am UTC](https://forum.eduart-robotik.com/t/lidar-slam-lokalisierung-und-navigation/137/3 "2025-02-10T08:49:05Z")

</div>

(post deleted by author)
