Knoten, Nachrichten und Beziehungen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

rqt_Graph

Abb.: rqt_graph

Der rqt_graph ist ein Dienstprogramm, das vom rqt-Paket im Robot Operating System bereitgestellt wird. Es ermöglicht Ihnen die Visualisierung des ROS 2-Netzwerkgraphen, der die Knoten und Themen in einem ROS2-System und ihre Verbindung zueinander zeigt. Die Schaltfläche "Aktualisieren" muss jedes Mal genutzt werden, wenn andere Knoten gestartet wurden. Ansonsten werden auch nicht mehr die aktuellen Daten angezeigt. Die Filteroptionen: Dies sind die drei Kästchen direkt neben der Schaltfläche "Aktualisieren". Mit dem ersten Element können Sie nur zwischen Knoten oder Themen wählen. Mit dem zweiten Feld können Sie nach den Namen der Knoten filtern.

RViz

Abb.: RViz

RViz (kurz für "ROS Visualization") ist ein 3D-Visualisierungsprogramm, mit dem Sie den Zustand verschiedener ROS-Elemente anzeigen können, einschließlich 3D-Visualisierungen von Robotern, Punktwolken und anderen Daten. Sie können RViz verwenden, um Ihren Roboter zu debuggen, indem Sie sein Verhalten und die Daten, die er von den Sensoren empfängt, visualisieren, sowie um die Ergebnisse Ihres Codes zu visualisieren. Sie können RViz von der Kommandozeile aus starten, indem Sie den Befehl rviz ausführen. Dadurch wird das RViz-Fenster geöffnet, das aus einer 3D-Ansicht Ihres Roboters und einer Seitenleiste mit einer Liste der verfügbaren Anzeigetypen besteht. Sie können dann verschiedene Anzeigetypen zum RViz-Fenster hinzufügen, indem Sie auf die Schaltfläche "Hinzufügen" in der Seitenleiste klicken und den gewünschten Anzeigetyp auswählen. Sie können zum Beispiel eine "RobotModel"-Anzeige hinzufügen, um das 3D-Modell Ihres Roboters zu visualisieren, oder eine "PointCloud2"-Anzeige, um eine Punktwolke zu visualisieren. Sobald Sie die gewünschten Anzeigen hinzugefügt haben, können Sie die verschiedenen Steuerelemente im RViz-Fenster verwenden, um die Ansicht zu bearbeiten und die Daten zu untersuchen. Sie können beispielsweise die 3D-Ansicht schwenken und zoomen, um einen besseren Blick auf den Roboter zu erhalten, oder die Farbe und Größe der Punkte in einer Punktwolkenanzeige anpassen.

Debugging

Abb.: rqt_console
  • rqt_console

Installation:sudo apt install ros-foxy-rqt* (Im Fall von Ubuntu 20.04) sudo apt install ros-humble-rqt* (Im Fall von Ubuntu 22.04)
Ausführen: ros2 run rqt_console rqt_console

Das Fenster rqt_console ist in drei Teilfenster unterteilt:

  • Der erste Bereich gibt die Protokolle aus. Enthält Daten über die Nachricht, den Schweregrad, den Knoten selbst und andere Informationen. Hier können Sie die Daten aus den Protokollen extrahieren.
  • Das zweite Feld ermöglicht es Ihnen, die im ersten Feld ausgegebenen Nachrichten zu filtern, indem Sie sie nach folgenden Kriterien ausschließen: Knoten, Schweregrad, oder dass sie ein bestimmtes Wort enthält. Um einen Filter hinzuzufügen, drücken Sie einfach auf das Pluszeichen und wählen den gewünschten Filter aus.
  • Im dritten Bereich können Sie bestimmte Nachrichten hervorheben, während die anderen angezeigt werden.

Sie sollten auch wissen, dass Sie die Anzahl der angezeigten Nachrichten ändern können, indem Sie auf das kleine weiße Zahnrad in der rechten oberen Ecke klicken. Versuchen Sie, diese so niedrig wie möglich zu halten, um Leistungseinbußen in Ihrem System zu vermeiden.


  • roswtf

roswtf kann vom Terminal aus ausgeführt werden, indem Sie roswtf eingeben. Standardmäßig analysiert es den aktuellen Zustand des ROS-Systems und erstellt einen Bericht, der alle gefundenen potenziellen Probleme auflistet. Sie können auch zusätzliche Optionen angeben, um das Verhalten von roswtf anzupassen, z. B. den Bericht so zu filtern, dass nur bestimmte Arten von Problemen angezeigt werden, oder die Analyse auf einen bestimmten namespace zu beschränken.

- sucht nach Knoten, die nicht laufen oder die nicht richtig mit anderen Knoten kommunizieren.

- sucht nach Themen, die nicht veröffentlicht oder abonniert werden, oder die nicht mit der erwarteten Rate veröffentlicht werden.

- prüft auf Dienste, die nicht ordnungsgemäß angekündigt oder aufgerufen werden.

- prüft auf Inkonsistenzen im Parameterserver, z. B. auf Parameter, die nicht korrekt gesetzt sind oder nicht wie erwartet verwendet werden.

Mit roswtf können Sie auch Ihre launch-Datei auf potenzielle Fehler überprüfen. roswtf "launch.py"

<- Zurück zum Hauptartikel