Читать книгу Roboter mit ROS - Murat Calis - Страница 31
1.3ROS-Hilfswerkzeuge
ОглавлениеBei der Arbeit mit ROS entstehen Fehler oder manche Programme tun nicht so, wie sie tun sollen. Um diesen Dingen auf den Grund zu gehen, bietet das ROS-Framework eine Menge wertvoller grafischer sowie konsolenbasierter Werkzeuge. Mit der Zeit und etwas Erfahrung entwickelt man ein Gespür für diverse Fehlermuster und Phänomene und erkennt deren Ursachen schneller. Die Vorgehensweise, wie man dann ein Problem löst, ist immer gleich – zuerst wird die Fehlerquelle lokalisiert. Hierbei helfen uns vorrangig die Logger. Dazu zählen insbesondere die Log-Ausgaben von ROS, aber auch das Betriebssystem und dessen Log-System sollten berücksichtigt werden, schließlich betreiben wir einige Hardwarekomponenten am Roboter und die Treiber jener Hardware werden vom Betriebssystem verwaltet.
Wenn wir bedenken, dass manche Hardware von uns selbst zusammengelötet wird, dann könnten auch durch kalte Lötstellen oder lose Kabelverbindungen Fehlermeldungen erscheinen, die zuerst gar nicht auf einen Hardwarefehler hinweisen. So beginnt man oft an der falschen Stelle zu suchen und vergeudet dabei wertvolle Zeit. Um diese Zeit nicht zu verlieren, kann ich aus Erfahrung empfehlen, dass die Hardware korrekt funktionieren sollte.
Für die kommenden Abschnitte benötigen Sie auch einige laufende ROS-Programme, die wir mit dem roslaunch-Befehl vorab starten.
roslaunch abot_gazebo abot_home.launch
Im vorhergehenden Kapitel haben wir ROS kennengelernt und können zusammenfassen, dass Programme, die im ROS-Framework erstellt wurden, mit Nodes, Services und Topics zu tun haben. Also sollten diese Punkte mit den folgenden Befehlen zuerst überprüft werden.
rostopic list
rosservice list
rosnode list
Sind alle Nodes gestartet? Veröffentlichen oder abonnieren sie die entsprechenden Topics? Sind alle Services verfügbar? In den folgenden Abschnitten lernen wir Orte und Programme kennen, die uns bei der Analyse und Suche behilflich sein können. Da wir nicht alle Programme besprechen, sollen die Links zu den Wiki-Seiten als Ergänzung und als eine Anlaufstelle für weitere Tools dienen.
1 ROS-Toolshttp://wiki.ros.org/ROS/CommandLineTools
2 ROS-Topic-Toolshttp://wiki.ros.org/topic_tools
3 ROS-Programme und Paketehttp://www.ros.org/browse/
4 ROS-Schnittstellenhttp://wiki.ros.org/APIs
5 ROS-Spickzettelhttps://github.com/ros/cheatsheet/releases/