Читать книгу Roboter mit ROS - Murat Calis - Страница 18

1.2.1ROS-Dateisystem

Оглавление

Nachdem die Installation abgeschlossen ist, überprüfen wir die Funktionalität und Integrität unseres ROS-Dateisystems. Der Befehl roscd wechselt in das Verzeichnis eines ROS-Pakets und mit rosls listen wir den Verzeichnisinhalt eines ROS-Pakets auf.

roscd abot_navigation

rosls rospy_tutorial

Erscheint keine Fehlermeldung nach Ausführung beider Befehle, dann ist das ROS-Dateisystem korrekt konfiguriert. Insbesondere unsere eigenen Pakete sollten mit roscd erreichbar sein.

Sind die eigenen Pakete mit roscd nicht erreichbar, kann das mehrere Ursachen haben. ROS-Befehle suchen zuerst nach ROS-Variablen. Für roscd oder rosls ist die Variable $CMAKE_PREFIX_PATH relevant. Auf der Kommandozeile können wir herausfinden, was in $CMAKE_PREFIX_PATH enthalten ist.

echo $CMAKE_PREFIX_PATH

Ausgabe:

/home/<benutzername>/catkin_ws/src/opt/ros/kinetic/share

Nach einer frischen ROS-Installation steht meist der eigene ROS-Arbeitsbereich am Anfang, sofern einer erstellt wurde. Von einem Doppelpunkt getrennt folgt das Verzeichnis der installierten ROS-Pakete der jeweiligen ROS-Distribution.

Wenn die Ausgabe leer ist, dann wurden die setup.bash-Dateien nicht ausgeführt. Mit folgenden Befehlen kann man das nachholen, wobei die Reihenfolge eine Rolle spielt.

source /opt/ros/kinetic/setup.bash

source /home/<benutzername>/catkin_ws/devel/setup.bash

Normalerweise sollten beide Befehle in unserer .bashrc ganz unten aufgeführt sein. Wenn nicht, müssen diese dort hineinkopiert werden, damit jedes Terminal-Fenster diese setup.bash-Dateien ausführt, denn diese Befehle konfigurieren die nötigen Umgebungsvariablen für ROS.

Neben $CMAKE_PREFIX_PATH existiert eine gleichbedeutende Variable: $ROS_PACKAGE_PATH. Sie ist aus den Zeiten von rosbuild, also noch vor ROS Groovy und wird aus Kompatibilitätsgründen weiterhin gepflegt. Beide können in unserer .bashrc manuell angepasst werden. Das folgende Beispiel soll die Möglichkeiten erläutern.

export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:/home/username/catkin_ws/src/…

Bei selbstkompilierten Paketen oder bei einem vollständig von Quellen gebautem ROS kann es notwendig sein, die $CMAKE_PREFIX_PATH bzw. $ROS_PACKAGE_PATH manuell anzupassen. Die folgenden Links dienen als Ergänzung zu den hier besprochenen Themen.

  http://wiki.ros.org/catkin/conceptual_overview

  http://wiki.ros.org/ROS/Tutorials/NavigatingTheFilesystem

  http://wiki.ros.org/ROS/EnvironmentVariables

Roboter mit ROS

Подняться наверх