Autonomous Navigation: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 5: Zeile 5:


=='''Navigation aktivieren'''==
=='''Navigation aktivieren'''==
*Keep the radar rotating firstly, and run the following program to enable the robot.
*Lassen Sie das Radar zunächst rotieren, und führen Sie das folgende Programm aus, um den Roboter zu aktivieren.
*<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 nav mapping node.</span>
*<span style="color:red">Der Fahrwerksknoten und der Radarknoten werden beim Starten des Slam-Mapping-Knotens standardmäßig aktiviert. Schließen Sie daher bitte zuerst den Fahrwerksknoten und den Radarknoten des Roboters, um Konflikte und Fehler beim Starten des Nav-Mapping-Knotens zu vermeiden.</span>
  roslaunch jetracer nav.launch
  roslaunch jetracer nav.launch
*Enter the following command in the virtual machine to view the slam map through the RVIZ image tool.
*Geben Sie in der virtuellen Maschine den folgenden Befehl ein, um die Slam-Map über das RVIZ-Image-Tool anzuzeigen.
  roslaunch jetracer view_nav.launch
  roslaunch jetracer view_nav.launch
*The image interface is shown as follows. Since the coordinates of the robot are initialized as the origin of the map after startup, which is inconsistent with the actual position of the robot, you can use the 2D Pose Estimate tool to set the position of the robot, click the green arrow icon, and select the approximate position of the robot in the map. Drag the mouse to make the green arrow point to the front of the car.
*Die Bildschnittstelle ist wie folgt dargestellt. Da die Koordinaten des Roboters nach dem Start als Ursprung der Karte initialisiert werden, was nicht mit der tatsächlichen Position des Roboters übereinstimmt, können Sie das Werkzeug 2D-Positionsschätzung verwenden, um die Position des Roboters festzulegen. Dafür müssen sie auf das grüne Pfeilsymbol klicken und die ungefähre Position des Roboters in der Karte auswählen. Ziehen Sie die Maus, damit der grüne Pfeil auf die Vorderseite des Fahrzeugs zeigt.
[[Datei:JetRacer_Navigation_Aktivieren_Step01.png|Step01]]
[[Datei:JetRacer_Navigation_Aktivieren_Step01.png|Step01]]


=='''Einzel-Punkt Navigation'''==
=='''Einzel-Punkt Navigation'''==
*After setting the robot position correctly, make the radar data roughly coincide with the map, and ACML will reposition and correct it when navigating.
*Nachdem Sie die Position des Roboters korrekt eingestellt haben, stimmen die Radardaten ungefähr mit der Karte überein, und ACML wird die Position während der Navigation neu bestimmen und korrigieren.
[[Datei:JetRacer_Navigation_Einzel_Step01.png|Step01]]
[[Datei:JetRacer_Navigation_Einzel_Step01.png|Step01]]
*You can use the 2D NaV Goal tool, you can publish the navigation target position, and the robot will automatically plan the path to navigate to the target position.
*Mit dem 2D-NAV-Zielwerkzeug können Sie eine Zielposition für die Navigation feestlegen, und der Roboter plant automatisch den Pfad, um zur Zielposition zu navigieren.


=='''Mehr-Punkt Navigation'''==
=='''Mehr-Punkt Navigation'''==
*On the basis of the single-point navigation above, run the following command in the robot to start multi-point cruise.
*Führen Sie auf der Grundlage der oben beschriebenen Ein-Punkt-Navigation den folgenden Befehl im Roboter aus, um eine Mehrpunktfahrt zu starten.
  rosrun jetracer multipoint_nav.py
  rosrun jetracer multipoint_nav.py
*Click Publish Point to add a waypoint, the robot will navigate between the waypoints.
*Klicken Sie auf Punkt veröffentlichen, um einen Wegpunkt hinzuzufügen. Der Roboter wird zwischen den Wegpunkten navigieren.
[[Datei:JetRacer_Navigation_Mehrere_Step01.png|Step01]]
[[Datei:JetRacer_Navigation_Mehrere_Step01.png|Step01]]


=='''Kartografieren während Navigation'''==
=='''Kartografieren während Navigation'''==
*Run the following command on the robot side to start the navigation program.
*Führen Sie den folgenden Befehl auf der Roboterseite aus, um das Navigationsprogramm zu starten.
  roslaunch jetracer slam_nav.launch
  roslaunch jetracer slam_nav.launch
*Run the following command in the virtual machine to start the rviz image tool to view.
*Führen Sie den folgenden Befehl in der virtuellen Maschine aus, um das Bildtool rviz zu starten und anzuzeigen.
  roslaunch jetracer view_nav.launch
  roslaunch jetracer view_nav.launch
*Click the 2D NaV Goal tool, you can publish the navigation target position, the robot will automatically explore the path to navigate to the target point, and scan the map to publish.
*Klicken Sie auf das 2D-NAV-Zielwerkzeug, um die Position des Navigationsziels festzulegen. Der Roboter erkundet automatisch den Pfad, um zum Zielpunkt zu navigieren, und scannt die Karte, um sie zu veröffentlichen.
[[Datei:JetRacer_Navigation_Kartografieren_Step01.png|Step01]]
[[Datei:JetRacer_Navigation_Kartografieren_Step01.png|Step01]]
*After scanning the map, run the following command in the robot to keep the map.
*Nachdem Sie die Karte gescannt haben, führen Sie den folgenden Befehl im Roboter aus, um die Karte zu behalten.
  cd ~/catkin_ws/src/jetracer/maps && ./savemap.sh
  cd ~/catkin_ws/src/jetracer/maps && ./savemap.sh
*At the same time, you can run the following programs to start multi-point cruise.
*Gleichzeitig können Sie die folgenden Programme ausführen, um eine Mehrpunktfahrt zu starten.
  rosrun jetracer multipoint_nav.py
  rosrun jetracer multipoint_nav.py

Version vom 17. Dezember 2024, 16:45 Uhr

Automatisches Fahren
Im Tutorial Autonomous Navigation ist beschrieben wie die Navigations-Funktion des Jetracers aktiviert und genutzt werden kann. Hierfür werden auf Seiten des JetRacers und im Controller, also der Virtualbox, sogenannte "Launch Files" gestartet. Danach öffnet sich dann RViz auf dem Controller und man kann über den Button "2D Pose Estimate" die Position und Orientierung des Roboters angeben, falls diese vom Ursprung der Map abweicht. Danach kann man mit dem Button "2D Nav Goal" einen beliebigen Punkt auf der Map angeben werden und der Roboter wird versuchen diesen zu erreichen.
Abfahren mehrerer Punkte
Um mehrere Zielpunkte setzen und dann abfahren zu können muss auf Seiten des Jetracers das sogenannte "Multipoint_navigation.py" Skript ausgeführt werden. Danach aktiviert sich im Rviz die Funktion "Publish Point" und die Punkte können per Maus nacheinander gesetzt werden. Diese Punkte werden dann der Reihe nach abgefahren, wobei wenn der letzte Punkt erreicht wurde der Loop von neuem beginnt und wieder der erste Zielpunkt angefahren wird.

Navigation aktivieren

  • Lassen Sie das Radar zunächst rotieren, und führen Sie das folgende Programm aus, um den Roboter zu aktivieren.
  • Der Fahrwerksknoten und der Radarknoten werden beim Starten des Slam-Mapping-Knotens standardmäßig aktiviert. Schließen Sie daher bitte zuerst den Fahrwerksknoten und den Radarknoten des Roboters, um Konflikte und Fehler beim Starten des Nav-Mapping-Knotens zu vermeiden.
roslaunch jetracer nav.launch
  • Geben Sie in der virtuellen Maschine den folgenden Befehl ein, um die Slam-Map über das RVIZ-Image-Tool anzuzeigen.
roslaunch jetracer view_nav.launch
  • Die Bildschnittstelle ist wie folgt dargestellt. Da die Koordinaten des Roboters nach dem Start als Ursprung der Karte initialisiert werden, was nicht mit der tatsächlichen Position des Roboters übereinstimmt, können Sie das Werkzeug 2D-Positionsschätzung verwenden, um die Position des Roboters festzulegen. Dafür müssen sie auf das grüne Pfeilsymbol klicken und die ungefähre Position des Roboters in der Karte auswählen. Ziehen Sie die Maus, damit der grüne Pfeil auf die Vorderseite des Fahrzeugs zeigt.

Step01

Einzel-Punkt Navigation

  • Nachdem Sie die Position des Roboters korrekt eingestellt haben, stimmen die Radardaten ungefähr mit der Karte überein, und ACML wird die Position während der Navigation neu bestimmen und korrigieren.

Step01

  • Mit dem 2D-NAV-Zielwerkzeug können Sie eine Zielposition für die Navigation feestlegen, und der Roboter plant automatisch den Pfad, um zur Zielposition zu navigieren.

Mehr-Punkt Navigation

  • Führen Sie auf der Grundlage der oben beschriebenen Ein-Punkt-Navigation den folgenden Befehl im Roboter aus, um eine Mehrpunktfahrt zu starten.
rosrun jetracer multipoint_nav.py
  • Klicken Sie auf Punkt veröffentlichen, um einen Wegpunkt hinzuzufügen. Der Roboter wird zwischen den Wegpunkten navigieren.

Step01

Kartografieren während Navigation

  • Führen Sie den folgenden Befehl auf der Roboterseite aus, um das Navigationsprogramm zu starten.
roslaunch jetracer slam_nav.launch
  • Führen Sie den folgenden Befehl in der virtuellen Maschine aus, um das Bildtool rviz zu starten und anzuzeigen.
roslaunch jetracer view_nav.launch
  • Klicken Sie auf das 2D-NAV-Zielwerkzeug, um die Position des Navigationsziels festzulegen. Der Roboter erkundet automatisch den Pfad, um zum Zielpunkt zu navigieren, und scannt die Karte, um sie zu veröffentlichen.

Step01

  • Nachdem Sie die Karte gescannt haben, führen Sie den folgenden Befehl im Roboter aus, um die Karte zu behalten.
cd ~/catkin_ws/src/jetracer/maps && ./savemap.sh
  • Gleichzeitig können Sie die folgenden Programme ausführen, um eine Mehrpunktfahrt zu starten.
rosrun jetracer multipoint_nav.py