SLAM Mapping: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
==='''Slam Karten Knoten aktivieren'''===
=='''Slam Karten Knoten aktivieren'''==
*First, turn on the radar to keep it rotating normally. Please run the following command to start the lidar node on the robot.
*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">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.</span>
*<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 #The mapping algorithm uses gmapping by default
  roslaunch jetracer_ros slam.launch #Der Kartierungsalgorithmus gmapping wird als Standard genutzt.
[[Datei:JetRacer_SLAM_Node_Step01.png|Step01]]
[[Datei:JetRacer_SLAM_Node_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 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.
*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.
*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 #Display map
  roslaunch jetracer_ros view_slam.launch #Karte anzeigen
[[Datei:JetRacer_SLAM_Node_Step02.png|Step02]]
[[Datei:JetRacer_SLAM_Node_Step02.png|Step02]]
*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.
*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'''===
=='''Karte abspeichern'''==
*After scanning the map, open a new terminal in the robot and run the following command to save the constructed map file.
*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
  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]]
*Run the ls command to view the saved map information.
*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]]
*Among them: mymap.pgm is the map data, mymap.yaml is the map information, and savemap.sh is the save map script. So you can also run this script to save the map.
*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
  cd ~/catkin_ws/src/jetracer_ros/maps && ./savemap.sh


==='''Verschiedene Algorithmen'''===
=='''Verschiedene Algorithmen'''==
*The program supports four mapping algorithms: gmapping, hector, karto, and cartographer. By default, the gmapping algorithm is used, and the corresponding mapping algorithm can also be selected through the map_type parameter.
*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.
*The following is the command input to select different map_type parameters.
*Die folgenden Befehle könne zur Auswahl des jeweiligen map_type-Parameters genutzt werden.
  roslaunch jetracer_ros slam.launch map_type:=gmapping #gmapping algorithm (default)
  roslaunch jetracer_ros slam.launch map_type:=gmapping #gmapping Algorithmus (Standard)
  roslaunch jetracer_ros slam.launch map_type:=hector #hector algorithm
  roslaunch jetracer_ros slam.launch map_type:=hector #hector Algorithmus
  roslaunch jetracer_ros slam.launch map_type:=karto #karto algorithm
  roslaunch jetracer_ros slam.launch map_type:=karto #karto Algorithmus
  roslaunch jetracer_ros slam.launch map_type:=cartographer #cartographer algorithm
  roslaunch jetracer_ros slam.launch map_type:=cartographer #cartographer Algorithmus
*On the virtual machine side, using the algorithms gmapping, hector, and karto, you can run the following commands to display the map
*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 #Display map.
  roslaunch jetracer_ros view_slam.launch #Karte anzeigen
*If you use the algorithm cartographer, the configuration of rviz is different, you need to use the following command to display the map.
*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
  roslaunch jetracer_ros view_slam.launch map_type:=cartographer #Display map
*Hector algorithm mapping effect.
*Mapping-Effekt des Hector-Algorithmus.
[[Datei:JetRacer_SLAM_Algorithmen_Step01.png|Step01]]
[[Datei:JetRacer_SLAM_Algorithmen_Step01.png|Step01]]
*Karto algorithm mapping effect
*Mapping-Effekt des Karto-Algorithmus
[[Datei:JetRacer_SLAM_Algorithmen_Step02.png|Step02]]
[[Datei:JetRacer_SLAM_Algorithmen_Step02.png|Step02]]
*Cartographer algorithm mapping effect. The green points in the figure are point cloud data instead of radar data, and the blue points are the moving paths of the car.
*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">When using the algorithm gmapping, hector, karto to build a map, you can save the map directly through the map_server command; after the cartographer algorithm builds a map, you need to convert the pbstream to map before saving, that is, we can use the following script to save the map.</span>
*<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
  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: