SLAM Mapping: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
=='''Slam Karten Knoten aktivieren'''== | |||
*Schalten Sie zunächst das Radar ein, sodass es sich normal dreht. Danch führen Sie den folgenden Befehl aus, um den Lidar-Knoten auf dem Roboter zu starten. | |||
*<span style="color:red">Der Karosserieknoten und der Radarknoten werden beim Starten des Slam-Mapping-Knotens standardmäßig aktiviert. Schließen Sie daher bitte zuerst den Karosserieknoten und den Radarknoten des Roboters, um Konflikte und Fehler beim Starten des Slam-Mapping-Knotens zu vermeiden.</span> | |||
roslaunch jetracer_ros slam.launch #Der Kartierungsalgorithmus gmapping wird als Standard genutzt. | |||
* | |||
*<span style="color:red"> | |||
roslaunch | |||
[[Datei:JetRacer_SLAM_Node_Step01.png|Step01]] | [[Datei:JetRacer_SLAM_Node_Step01.png|Step01]] | ||
* | *Führen Sie den folgenden Befehl in der virtuellen Maschine aus, um das Bildtool rviz zu starten und die Daten betrachten. Diese Startdatei startet auch den Gamepad-Fernsteuerungsknoten, das heißt das Sie den Kontroller mit der virtuellen Maschine verbinden müssen, bevor Sie den Befehl ausführen. | ||
* | *Nach dem Start von rviz werden Radarinformationen, Kamerabilder, Kartendaten, TF-Koordinaten und andere Informationen angezeigt. Verwenden Sie einen Kontroller zur Steuerung der mechanischen Bewegung, um die Karte zu scannen. | ||
roslaunch | roslaunch jetracer_ros view_slam.launch #Karte anzeigen | ||
[[Datei:JetRacer_SLAM_Node_Step02.png|Step02]] | [[Datei:JetRacer_SLAM_Node_Step02.png|Step02]] | ||
* | *Wenn bei der Anzeige der Karte der folgende Fehler auftritt, überprüfen Sie bitte, ob der Kontroller angeschlossen ist, wobei /dev/input/js0 der Input des Kontrollers ist. | ||
[[Datei:JetRacer_SLAM_Node_Step03.png|Step03]] | [[Datei:JetRacer_SLAM_Node_Step03.png|Step03]] | ||
=='''Karte abspeichern'''== | |||
* | *Nachdem Sie die Karte gescannt haben, öffnen Sie ein neues Terminal im Roboter und führen Sie den folgenden Befehl aus, um die erstellte Kartendatei zu speichern. | ||
cd ~/catkin_ws/src/ | cd ~/catkin_ws/src/jetracer_ros/maps | ||
rosrun map_server map_saver -f mymap | rosrun map_server map_saver -f mymap | ||
[[Datei:JetRacer_SLAM_Speichern_Step01.png|Step01]] | [[Datei:JetRacer_SLAM_Speichern_Step01.png|Step01]] | ||
* | *Führen Sie den ls Befehl aus, um die gespeicherten Kartendatei anzuzeigen. | ||
ls | ls | ||
[[Datei:JetRacer_SLAM_Speichern_Step02.png|Step02]] | [[Datei:JetRacer_SLAM_Speichern_Step02.png|Step02]] | ||
* | *Dazu gehören: mymap.pgm sind die Kartendaten, mymap.yaml sind die Karteninformationen und savemap.sh ist das Skript zum Speichern der Karte. Sie können also auch dieses Skript ausführen, um die Karte zu speichern. | ||
cd ~/catkin_ws/src/ | cd ~/catkin_ws/src/jetracer_ros/maps && ./savemap.sh | ||
=='''Verschiedene Algorithmen'''== | |||
* | *Das Programm unterstützt vier Kartierungsalgorithmen: gmapping, hector, karto und cartographer. Standardmäßig wird der gmapping-Algorithmus verwendet, und der entsprechende Mapping-Algorithmus kann auch über den Parameter map_type ausgewählt werden. | ||
* | *Die folgenden Befehle könne zur Auswahl des jeweiligen map_type-Parameters genutzt werden. | ||
roslaunch | roslaunch jetracer_ros slam.launch map_type:=gmapping #gmapping Algorithmus (Standard) | ||
roslaunch | roslaunch jetracer_ros slam.launch map_type:=hector #hector Algorithmus | ||
roslaunch | roslaunch jetracer_ros slam.launch map_type:=karto #karto Algorithmus | ||
roslaunch | roslaunch jetracer_ros slam.launch map_type:=cartographer #cartographer Algorithmus | ||
* | *Auf der Seite der virtuellen Maschine können Sie, wenn sie die Algorithmen gmapping, hector oder karto benutzt haben, den folgenden Befehl ausführen, um die Karte anzuzeigen | ||
roslaunch | roslaunch jetracer_ros view_slam.launch #Karte anzeigen | ||
* | *Wenn Sie den Algorithmus cartographer verwenden, ist die Konfiguration von rviz anders, Sie müssen den folgenden Befehl verwenden, um die Karte anzuzeigen. | ||
roslaunch | roslaunch jetracer_ros view_slam.launch map_type:=cartographer #Display map | ||
*Hector | *Mapping-Effekt des Hector-Algorithmus. | ||
[[Datei:JetRacer_SLAM_Algorithmen_Step01.png|Step01]] | [[Datei:JetRacer_SLAM_Algorithmen_Step01.png|Step01]] | ||
*Karto | *Mapping-Effekt des Karto-Algorithmus | ||
[[Datei:JetRacer_SLAM_Algorithmen_Step02.png|Step02]] | [[Datei:JetRacer_SLAM_Algorithmen_Step02.png|Step02]] | ||
*Cartographer | *Mapping-Effekt des Cartographer-Algorithmus. Die grünen Punkte in der Abbildung sind Punktwolkendaten anstelle von Radardaten, und die blauen Punkte sind die Bewegungspfade des Fahrzeugs. | ||
[[Datei:JetRacer_SLAM_Algorithmen_Step03.png|Step03]] | [[Datei:JetRacer_SLAM_Algorithmen_Step03.png|Step03]] | ||
*<span style="color:red"> | *<span style="color:red">Wenn Sie die Algorithmen gmapping, hector oder karto verwenden, um eine Karte zu erstellen, können Sie die Karte direkt über den Befehl map_server speichern; nachdem der Kartograph-Algorithmus eine Karte erstellt hat, müssen Sie den pbstream vor dem Speichern in eine Karte umwandeln, d. h. wir können das folgende Skript zum Speichern der Karte verwenden.</span> | ||
cd ~/catkin_ws/src/ | cd ~/catkin_ws/src/jetracer_ros/maps && ./carto_savemap.sh | ||
*Quelle: [[https://www.waveshare.com/wiki/SLAM_Lidar_Mapping#:# JetRacer_ROS_AI_Kit_Tutorial:_SLAM_Lidar_Mapping]] | |||
---- | |||
→ zurück zum Hauptartikel: [[Kategorie:JetRacer_ROS_AI_Roboter| Jetracer Ros AI Roboter]] |
Aktuelle Version vom 14. Dezember 2024, 16:34 Uhr
Slam Karten Knoten aktivieren
- Schalten Sie zunächst das Radar ein, sodass es sich normal dreht. Danch führen Sie den folgenden Befehl aus, um den Lidar-Knoten auf dem Roboter zu starten.
- Der Karosserieknoten und der Radarknoten werden beim Starten des Slam-Mapping-Knotens standardmäßig aktiviert. Schließen Sie daher bitte zuerst den Karosserieknoten und den Radarknoten des Roboters, um Konflikte und Fehler beim Starten des Slam-Mapping-Knotens zu vermeiden.
roslaunch jetracer_ros slam.launch #Der Kartierungsalgorithmus gmapping wird als Standard genutzt.
- Führen Sie den folgenden Befehl in der virtuellen Maschine aus, um das Bildtool rviz zu starten und die Daten betrachten. Diese Startdatei startet auch den Gamepad-Fernsteuerungsknoten, das heißt das Sie den Kontroller mit der virtuellen Maschine verbinden müssen, bevor Sie den Befehl ausführen.
- Nach dem Start von rviz werden Radarinformationen, Kamerabilder, Kartendaten, TF-Koordinaten und andere Informationen angezeigt. Verwenden Sie einen Kontroller zur Steuerung der mechanischen Bewegung, um die Karte zu scannen.
roslaunch jetracer_ros view_slam.launch #Karte anzeigen
- Wenn bei der Anzeige der Karte der folgende Fehler auftritt, überprüfen Sie bitte, ob der Kontroller angeschlossen ist, wobei /dev/input/js0 der Input des Kontrollers ist.
Karte abspeichern
- Nachdem Sie die Karte gescannt haben, öffnen Sie ein neues Terminal im Roboter und führen Sie den folgenden Befehl aus, um die erstellte Kartendatei zu speichern.
cd ~/catkin_ws/src/jetracer_ros/maps rosrun map_server map_saver -f mymap
- Führen Sie den ls Befehl aus, um die gespeicherten Kartendatei anzuzeigen.
ls
- Dazu gehören: mymap.pgm sind die Kartendaten, mymap.yaml sind die Karteninformationen und savemap.sh ist das Skript zum Speichern der Karte. Sie können also auch dieses Skript ausführen, um die Karte zu speichern.
cd ~/catkin_ws/src/jetracer_ros/maps && ./savemap.sh
Verschiedene Algorithmen
- Das Programm unterstützt vier Kartierungsalgorithmen: gmapping, hector, karto und cartographer. Standardmäßig wird der gmapping-Algorithmus verwendet, und der entsprechende Mapping-Algorithmus kann auch über den Parameter map_type ausgewählt werden.
- Die folgenden Befehle könne zur Auswahl des jeweiligen map_type-Parameters genutzt werden.
roslaunch jetracer_ros slam.launch map_type:=gmapping #gmapping Algorithmus (Standard) roslaunch jetracer_ros slam.launch map_type:=hector #hector Algorithmus roslaunch jetracer_ros slam.launch map_type:=karto #karto Algorithmus roslaunch jetracer_ros slam.launch map_type:=cartographer #cartographer Algorithmus
- Auf der Seite der virtuellen Maschine können Sie, wenn sie die Algorithmen gmapping, hector oder karto benutzt haben, den folgenden Befehl ausführen, um die Karte anzuzeigen
roslaunch jetracer_ros view_slam.launch #Karte anzeigen
- Wenn Sie den Algorithmus cartographer verwenden, ist die Konfiguration von rviz anders, Sie müssen den folgenden Befehl verwenden, um die Karte anzuzeigen.
roslaunch jetracer_ros view_slam.launch map_type:=cartographer #Display map
- Mapping-Effekt des Hector-Algorithmus.
- Mapping-Effekt des Karto-Algorithmus
- Mapping-Effekt des Cartographer-Algorithmus. Die grünen Punkte in der Abbildung sind Punktwolkendaten anstelle von Radardaten, und die blauen Punkte sind die Bewegungspfade des Fahrzeugs.
- Wenn Sie die Algorithmen gmapping, hector oder karto verwenden, um eine Karte zu erstellen, können Sie die Karte direkt über den Befehl map_server speichern; nachdem der Kartograph-Algorithmus eine Karte erstellt hat, müssen Sie den pbstream vor dem Speichern in eine Karte umwandeln, d. h. wir können das folgende Skript zum Speichern der Karte verwenden.
cd ~/catkin_ws/src/jetracer_ros/maps && ./carto_savemap.sh
→ zurück zum Hauptartikel: