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

1.1Installation

Оглавление

Die Arbeit während der Entstehung unseres Roboters besteht meist aus 3D-Simulation, 3D-Konstruktion, Tests und das Ganze wieder von vorne. 3D verlangt viel Rechenleistung, doch heutzutage ist selbst ein Intel NUC mit einem i5-Prozessor im Stand, Gazebo-Simulationen nebst RViz für die Navigation mit erträglichen Leistungsmerkmalen darzustellen. Das bedeutet, wir könnten unseren Entwicklungsrechner auch im Roboter verwenden. Wer den Ein- und Ausbau nicht scheut, um den Computer an einen Monitor und eine Tastatur anzuschließen, kann das gerne tun und spart gleichzeitig eine Installation.

Für die Installation gibt es eine ausführliche Anleitung auf den Wiki-Seiten von ROS (wiki.ros.org/ROS/Installation). Wir unterscheiden zwischen einem leistungsstarken Entwicklungsrechner, einem Intel NUC und einem Odroid-XU4 – und auch den Raspberry Pi lasse ich nicht unter den Tisch fallen.

 Betriebssystem für EntwicklungsrechnerDas Betriebssystem für den Entwicklungsrechner wählen wir gemäß den Empfehlungen auf http://wiki.ros.org/Distributions. Dort ist für die jeweilige ROS-Version auch die entsprechende Ubuntu-Version angegeben. In diesem Buch verwenden wir ROS Kinetic Kame auf dem Betriebssystem Ubuntu Desktop 16.04 LTS. Nach dem Download schreiben wir das Ubuntu-Image auf einen bootbaren USB-Stick mit Rufus (https://rufus.akeo.ie/, http://releases.ubuntu.com/16.04/).

 Betriebssystem für Intel NUCUbuntu Server 16.04 LTS (http://releases.ubuntu.com/16.04). Die Abkürzung LTS steht für Long Term Support und zeichnet sich durch langfristige Unterstützung mit Security-Patches und Updates von Seiten des Distributors für das entsprechende Betriebssystem aus. LTS-Versionen haben unter Ubuntu eine gerade Zahl, also Ubuntu 14, 16 usw. Nach dem Download muss das Image auf einen bootbaren USB-Stick. Mit Rufus (https://rufus.akeo.ie) erstellt man einen solchen Boot-Stick in wenigen Minuten.

 Betriebssystem für Odroid-XU4Da es sich beim Odroid um eine ARM-Architektur handelt, ist die Betriebssystemwahl auf Versionen mit ARM-Unterstützung begrenzt. Das Image für Odroid wird auf eine SD-Karte geschrieben und im Odroid startet sofort ein fertig installiertes Ubuntu. Zum Entpacken gibt es 7Zip für Windows und in Linux kann unxz das Image aus dem xz-Format entpacken. Das ausgepackte Image bekommt man auf die SD-Karte mit Win32DiskImager in Windows oder mit dem Konsolenprogramm dd in Linux (https://odroid.in/ubuntu_16.04lts/ubuntu-16.04.3-4.9-minimal-odroid-xu4-20170824.img.xz).

 Betriebssystem für Raspberry PiDas Raspberry Pi hat ebenfalls eine ARM-Architektur. Das Image behandeln Sie so, wie es im Punkt für das Odroid-Board beschrieben ist. Ich habe das Server-Image von Canonical heruntergeladen. Auf der Downloadseite findet man Server-Images für Raspberry Pi 2 und 3. Für das aktuelle Raspberry Pi 4 steht noch kein Server-Image zur Verfügung. Das könnte sich aber bis zur Drucklegung dieses Buchs ändern. Dann wäre das Top-Modell von Raspberry Pi mit 4 GB RAM eine echte Alternative zu den genannten Systemen (https://ubuntu.com/download/iot/raspberry-pi-2-3).

 ROSKinetic Kame. LTS-Variante unter den ROS-Distributionen, Unterstützung bis 2021. Von dieser Version installieren wir für AMD64, i386 oder armhf auf die gleiche Weise, nur mit unterschiedlicher Software-Ausstattung. So benötigen wir für die Programme auf dem Odroid keine grafische Benutzeroberfläche.Die Installationsanweisung in Schritt 1.4 (siehe Hyperlink Tabelle 1–1) unterscheidet sich für die jeweilige Hardwareplattform.

Hardware Installation
Odroid-XU4 sudo apt install ros-kinetic-ros-base
Raspberry Pi sudo apt install ros-kinetic-ros-base
NUC sudo apt install ros-kinetic-ros-base
Entwicklung sudo apt install ros-kinetic-desktop-full

Tab. 1–1 http://wiki.ros.org/ kinetic/Installation/Ubuntu



Abb. 1–1Rufus (oben) erstellt bootbare USB-Sticks und Win32 Disk Imager (unten) schreibt Image-Dateien auf eine SD-Karte.

Nachdem Sie Ubuntu auf Ihrem Entwicklungsrechner installiert haben, wollen wir als Nächstes ROS installieren. Die Rechner müssen für Internet konfiguriert sein und ein ping nach draußen sollte ohne Fehler funktionieren. Bevor wir loslegen, möchte ich auf ein paar Dinge aufmerksam machen, die Probleme bereiten können. Die Netzwerkkonfiguration ist wichtig für ROS, denn ROS basiert auf TCP/IP und TCP/IP wiederum ist das Netzwerkprotokoll. Hier ein Link mit Anleitungen, um das Netzwerk für ROS korrekt zu konfigurieren: http://wiki.ros.org/ROS/NetworkSetup. Das Benutzerkonto, mit dem Sie arbeiten, muss in all den Gruppen zugriffsberechtigt sein, die Sie benötigen, um Zugriff auf Schnittstellen zu bekommen. Wenn Sie mit der USB-Schnittstelle Daten an einen Mikrocontroller senden wollen, so müssen Sie in der Gruppe dialout sein, sonst gibt es eine Fehlermeldung.

Netzwerkkonfiguration, Uhrzeit und Gruppenzugehörigkeit prüfen!

Vorbedingung für einen fehlerfreien Ablauf ist die funktionierende Namensauflösung; außerdem sollten in /etc/hosts die Zuordnungen IP – Name existieren und zwar für alle am Roboter beteiligten Computersysteme, wenn diese über das Netzwerk miteinander kommunizieren, sodass ein ping hostname ausgeführt werden kann.

Die Uhrzeit sollte synchronisiert laufen. Eine Bauanweisung an catkin erzeugt Fehlermeldungen, dass die Zeit in der Zukunft liegt, wenn die Uhrzeit des Computersystems auf 0 bzw. 1.1.1970 steht. Das passiert, wenn keine Knopfzellen-Batterie installiert ist, die die Uhrzeit am Laufen hält. Ein weiterer Indikator für Zeitprobleme ist, dass sich tf, jene Bibliothek für Transformationsberechnungen im dreidimensionalen Raum, über Diskrepanzen in den Zeitstempeln beschwert.

Diesen Benutzergruppen sollten Sie beitreten, damit keine Berechtigungsfehler auftreten, wenn USB-Schnittstellen oder Lautsprecher verwendet werden: dialout, audio, video, plugdev, cdrom (sudo usermod <benutzer> -aG dialout, audio…).

Roboter mit ROS

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