SLAM Mapping: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(17 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Danach kann dann eine Karte des Raumes erstellt werden. Hierfür kann dem Tutorial [https://www.waveshare.com/wiki/SLAM_Lidar_Mapping#: SLAM Lidar Mapping] gefolgt werden, und es können vier verschiedene Mapping-Algorithmen ausprobiert werden.
=='''Slam Karten Knoten aktivieren'''==
:Hier bei ist allerdings zu beachten das der im Tutorial gegebene Save Befehl abgeändert werden muss. Das jetbot_pro im Befehl muss auf jetracer_ros geändert werden, sodass der Befehle "cd catkin_ws/src/jetracer_ros/maps" lautet.
*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.
[[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 jetracer_ros view_slam.launch #Karte anzeigen
[[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]]


==='''Slam Karten Knoten aktivieren'''===
=='''Karte abspeichern'''==
*First, turn on the radar to keep it rotating normally. Please run the following command to start the lidar node on the robot.
*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.
*[Note: The chassis node and radar node will be enabled by default when starting the slam mapping node, so please close the robot chassis node and radar node first to avoid conflicts and errors when starting the slam mapping node.]
cd ~/catkin_ws/src/jetracer_ros/maps
  roslaunch jetbot_pro slam.launch #The mapping algorithm uses gmapping by default
rosrun map_server map_saver -f mymap
[]
[[Datei:JetRacer_SLAM_Speichern_Step01.png|Step01]]
*Run the following command in the virtual machine to start the rviz image tool to view. This startup file also starts the gamepad remote control node, so you need to connect the gamepad receiving area to the virtual machine before running the command.
*Führen Sie den ls Befehl aus, um die gespeicherten Kartendatei anzuzeigen.
*After rviz is started, it will display radar information, camera images, map data, TF coordinates and other information. Use a gamepad to control mechanical movement to scan the map.
  ls
  roslaunch jetbot_pro view_slam.launch #Display map
[[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.
*If the following error occurs when displaying the map, please check whether the remote controller is connected, where /dev/input/js0 is the remote controller device.
  cd ~/catkin_ws/src/jetracer_ros/maps && ./savemap.sh
[]


==='''Karte abspeichern'''===
=='''Verschiedene Algorithmen'''==
==='''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.
[[Datei:JetRacer_SLAM_Algorithmen_Step01.png|Step01]]
*Mapping-Effekt des Karto-Algorithmus
[[Datei:JetRacer_SLAM_Algorithmen_Step02.png|Step02]]
*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]]
*<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/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.

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 jetracer_ros view_slam.launch #Karte anzeigen

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.

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/jetracer_ros/maps
rosrun map_server map_saver -f mymap

Step01

  • Führen Sie den ls Befehl aus, um die gespeicherten Kartendatei anzuzeigen.
ls

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/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.

Step01

  • Mapping-Effekt des Karto-Algorithmus

Step02

  • 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.

Step03

  • 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: