Autonomous Navigation: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
:'''Automatisches Fahren'''
=='''Navigation aktivieren'''==
:Im Tutorial [https://www.waveshare.com/wiki/JetRacer_ROS_AI_Kit_Advanced_Tutorial_II:_Autonomous_Navigation#: 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.
*Lassen Sie das Radar zunächst rotieren, und führen Sie das folgende Programm aus, um den Roboter zu aktivieren.
:'''Abfahren mehrerer Punkte'''
*<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>
: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.
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.
[[Datei:JetRacer_Navigation_Aktivieren_Step01.png|Step01]]


=='''Navigation aktivieren'''==
=='''Einzel-Punkt Navigation'''==
=='''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.
[[Datei:JetRacer_Navigation_Einzel_Step01.png|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'''==
=='''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.
[[Datei:JetRacer_Navigation_Mehrere_Step01.png|Step01]]
=='''Kartografieren während Navigation'''==
=='''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.
[[Datei:JetRacer_Navigation_Kartografieren_Step01.png|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

Aktuelle Version vom 17. Dezember 2024, 16:45 Uhr

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