Roboter mit ROS. Murat Calis
Чтение книги онлайн.
Читать онлайн книгу Roboter mit ROS - Murat Calis страница 3

4.3.1Servo-Controller und FTDI-Schnittstelle
5.2.3ROS auf mehreren Maschinen
5.3.1Python Publisher und Subscriber
5.3.2C++ Service Server und Client
5.3.3C++ Action Server und Python Action Client
5.4.1TeleOperation und Kartografierung mit SLAM – Synchronous Localisation And Mapping
5.4.2Navigation in einer bestehenden Karte mit AMCL – Adaptive Monte Carlo Localisation
1ROS – Robot Operating System
Das Robot Operating System wurde entwickelt, um das Rad nicht jedes Mal neu zu erfinden. Es stehen etliche Pakete für ROS zur Verfügung, sodass Treiberentwicklungen der Vergangenheit angehören und man schneller mit den höheren Schichten der Robotik beginnen kann. Dazu gehören Gesichtserkennung, Objekterkennung, autonomes kollisionsfreies Fahren, Kartografierung, Spracherkennung und kollisionsfreie Kinematik, um nur einige zu nennen. Mittlerweile ist ROS ein De-facto-Standard in der Robotik. Die NASA verwendet ROS für Robonaut2 auf der ISS1, um nur ein prominentes Beispiel zu nennen. ROS hat mittlerweile über 7,5 Millionen Codezeilen. Der Linux-Kernel 4.14 hat ca. 25 Millionen Zeilen. Wenn wir zehn bis 20 Jahre in die Zukunft schauen, sollte niemand mehr die hardwarenahen Schichten eines Roboters programmieren müssen.
Das Robot Operating System ist nicht, wie es der Name andeutet, ein Betriebssystem. ROS wird wie ein gewöhnliches Programm auf einem Betriebssystem installiert. Nach der Installation von ROS können eigene Robotik-Programme die Funktionalität und Bibliotheken von ROS nutzen.
ROS ist ein Robotik-Framework, basierend auf dem publish/subscribe-Prinzip. Darin kommunizieren Programme über ein Nachrichtensystem miteinander, vergleichbar der Interprozesskommunikation in herkömmlichen Anwendungen. Der Vorteil ist, dass der Absturz eines Programms nicht zwingend das gesamte ROS-System zum Absturz bringt.
ROS-Nachrichten werden per TCPROS, einem Protokoll basierend auf TCP/IP, übertragen und können mit Wireshark mitgelesen werden. Dies erleichtert nicht nur die Fehlersuche in verteilten ROS-Anwendungen, sondern ermöglicht auch einen Einblick in die Kommunikation zwischen den sogenannten ROS-Knoten.
Ein ROS-Netzwerk ist praktisch ungeschützt gegen Verbindungen aus dem lokalen Netzwerk, da es keine Authentifizierungsmöglichkeit wie bei HTTP gibt. Es ist daher empfehlenswert, ein VPN oder OpenVPN zum Schutz der Netzwerkkommunikation einzurichten.
Ursprünglich wurde ROS unter dem Namen Switchyard am Stanford Artificial Intelligence Laboratory entwickelt und später von Willow Garage weiterentwickelt, die auch den PR2-Roboter konstruiert haben. Seit April 2012 ist die