Inbetriebnahme eines UR-10 Roboters mit ROS: Unterschied zwischen den Versionen
(Installation des RT-Kernels) |
|||
Zeile 23: | Zeile 23: | ||
== Installation des Universal Robots Treibers == | == Installation des Universal Robots Treibers == | ||
Um diesen Treiber nutzen zu können muss, wie oben bereits beschrieben, mindestens Polyscope 3.7 auf dem CB3 Controller installiert sein. Die Installation des Treiber wird in dieser [https://github.com/UniversalRobots/Universal_Robots_ROS_Driver Readme-Datei] erklärt. Auf den All-Source-Build ist nach Möglichkeit zu verzichten. Man sollte also die erste Option(die Installation über Binary Packages) bevorzugen. Es existiert ein Paket namens ur_gazebo, welches Funktionalitäten zur Simulation der UR-Roboter enthält. Diese Funktionalitäten sind jedoch in dem ur_robot_driver Package bereits enthalten, sodass dessen Installation ausreicht. | Um diesen Treiber nutzen zu können muss, wie oben bereits beschrieben, mindestens Polyscope 3.7 auf dem CB3 Controller installiert sein. Die Installation des Treiber wird in dieser [https://github.com/UniversalRobots/Universal_Robots_ROS_Driver Readme-Datei] erklärt. Auf den All-Source-Build ist nach Möglichkeit zu verzichten. Man sollte also die erste Option(die Installation über Binary Packages) bevorzugen. Es existiert ein Paket namens ur_gazebo, welches Funktionalitäten zur Simulation der UR-Roboter enthält. Diese Funktionalitäten sind jedoch in dem ur_robot_driver Package bereits enthalten, sodass dessen Installation ausreicht. | ||
== Einbindung der URCap-Datei == | == Einbindung der URCap-Datei == | ||
Um den UR-10 auch extern ansteuern zu können muss auf dem CB3-Controller eine URCap-Datei eingebunden werden, welche später auf dem Controller einfach als Bestandteil eines Programms aufgerufen werden kann. Wichtig ist, dass die Polyscopeversion nicht zu neu ist, da dadurch Fehler auftreten können. Die Einbindung der URCap-Datei wird [https://github.com/UniversalRobots/Universal_Robots_ROS_Driver/blob/master/ur_robot_driver/doc/install_urcap_cb3.md hier] erklärt. | Um den UR-10 auch extern ansteuern zu können muss auf dem CB3-Controller eine URCap-Datei eingebunden werden, welche später auf dem Controller einfach als Bestandteil eines Programms aufgerufen werden kann. Wichtig ist, dass die Polyscopeversion nicht zu neu ist, da dadurch Fehler auftreten können. Die Einbindung der URCap-Datei wird [https://github.com/UniversalRobots/Universal_Robots_ROS_Driver/blob/master/ur_robot_driver/doc/install_urcap_cb3.md hier] erklärt. Falls bei der Installation des Universal_Robots_ROS_Driver ein Fehler auftritt, kann es sein dass je nach Fehlermeldung die Clientlibrary nachgeladen werden muss. Dies geht mit | ||
<code>git clone https://github.com/UniversalRobots/Universal_Robots_Client_Library</code><br> | |||
== Installation des RT-Kernels == | == Installation des RT-Kernels == | ||
Um auch in Echtzeit mit dem UR-10 interagieren zu können empfiehlt sich die Installation eines | Um auch in Echtzeit mit dem UR-10 interagieren zu können empfiehlt sich die Installation eines [https://github.com/UniversalRobots/Universal_Robots_ROS_Driver/blob/master/ur_robot_driver/doc/real_time.md RT-Kernels]. Dieser ist nicht für alle Linux Kernel Versionen vefügbar, sodass man bei der Installation eine Version auswählen sollte, die der des vorhandenen Kernels möglichst ähnlich ist. Die in der Anleitung beschriebene Verifikation funktioniert eventuell nicht in allen Fällen, sodass unter Umständen darauf verzichtet werden muss. Die Integrität des Patches ist trotzdem gegeben. | ||
== Troubleshooting == | == Troubleshooting == |
Version vom 12. März 2021, 14:52 Uhr
Autor: Johannes Schäfer
Einleitung
Dieser Artikel soll als Anleitung dienen, um einen UR-10 Roboter mit Hilfe des Robot Operating Systems in Betrieb zu nehmen.
Was ist ROS?
Das ROS (Robot Operating System) stellt Bibliotheken und Werkzeuge zur Verfügung, welche Softwareentwicklern helfen Roboteranwendungen zu erstellen. Hardware Abstraktion, Gerätetreiber, Bibliotheken, Visualisierungen, Nachrichtenvermittlung, Packetverwaltung und andere Komponenten sind vorhanden. ROS fungiert dabei als Middleware, um die Kommunikation zwischen dem Roboter und einzelnen Nodes(Programmen), welche auf dem ROS laufen, zu ermöglichen. ROS ist unter der Open Source BSD Lizenz veröffentlicht.
Voraussetzungen
- Rechner mit mindestens Ubuntu 18.04 und Internetanbindung
- Polyscope 3.7 sowie zugehörige Firmware ist auf dem CB3-Controller des UR-10 installiert
- Vorkenntnisse im Umgang mit der Kommandozeile in Linux
Installation von ROS
Um den aktuellen Treiber für den UR-10 zu verwenden wird ROS Melodic benötigt. Die Installation ist hier beschrieben. Nach Schritt 1.4 kann man mit $roscore
den Kern des Systems einmal starten und überprüfen, ob die Installation erfolgreich war. Hat dies geklappt sollte dort started core service [/rosout]
im Terminal ausgegeben werden.
Der Treiber funktioniert ebenfalls mit ROS Kinetic und Noetic. Um jedoch auch die Unterstützung anderer Packages zu gewährleisten ist ROS Melodic im Moment die beste Wahl.
Installation des Universal Robots Treibers
Um diesen Treiber nutzen zu können muss, wie oben bereits beschrieben, mindestens Polyscope 3.7 auf dem CB3 Controller installiert sein. Die Installation des Treiber wird in dieser Readme-Datei erklärt. Auf den All-Source-Build ist nach Möglichkeit zu verzichten. Man sollte also die erste Option(die Installation über Binary Packages) bevorzugen. Es existiert ein Paket namens ur_gazebo, welches Funktionalitäten zur Simulation der UR-Roboter enthält. Diese Funktionalitäten sind jedoch in dem ur_robot_driver Package bereits enthalten, sodass dessen Installation ausreicht.
Einbindung der URCap-Datei
Um den UR-10 auch extern ansteuern zu können muss auf dem CB3-Controller eine URCap-Datei eingebunden werden, welche später auf dem Controller einfach als Bestandteil eines Programms aufgerufen werden kann. Wichtig ist, dass die Polyscopeversion nicht zu neu ist, da dadurch Fehler auftreten können. Die Einbindung der URCap-Datei wird hier erklärt. Falls bei der Installation des Universal_Robots_ROS_Driver ein Fehler auftritt, kann es sein dass je nach Fehlermeldung die Clientlibrary nachgeladen werden muss. Dies geht mit
git clone https://github.com/UniversalRobots/Universal_Robots_Client_Library
Installation des RT-Kernels
Um auch in Echtzeit mit dem UR-10 interagieren zu können empfiehlt sich die Installation eines RT-Kernels. Dieser ist nicht für alle Linux Kernel Versionen vefügbar, sodass man bei der Installation eine Version auswählen sollte, die der des vorhandenen Kernels möglichst ähnlich ist. Die in der Anleitung beschriebene Verifikation funktioniert eventuell nicht in allen Fällen, sodass unter Umständen darauf verzichtet werden muss. Die Integrität des Patches ist trotzdem gegeben.
Troubleshooting
Falls beim kompilieren eigener oder auch fremder Packages mit Catkin Probleme auftreten sollten helfen folgende Befehle:
cd catkin_ws/
rm -rf build/
rm -rf devel/
Anschließend sollte man noch catkin_make
und source devel/setup.bash
ausführen, um die /build und /devel Ordnerstruktur wieder neu zu generieren. Dadurch sollten die meisten Probleme beim kompilieren behoben werden.
Quellen
- [1] ROS Wiki