Implementierung von Roboteraufgaben auf der KUKA youBot-Plattform, Teil 1

Sehr geehrte Geektimes-Leser, Sie werden vom Student Design Bureau (Robotics Engineering Department oder RED) des Department of MIS der ITMO University begrüßt. Wir haben bereits im Blog unserer Universität darüber geschrieben.

Im Rahmen des Universitätsentwicklungsprogramms verfolgt RED mehrere Ziele. Eines davon ist die Teilnahme an wettbewerbsorientierter Robotik für Studenten auf internationaler Ebene. Als Startplattform wurden die beliebten internationalen RoboCup- Wettbewerbe ausgewählt . Bei RoboCup gibt es verschiedene Arten von Wettbewerben, von Robofootball bis hin zu Wettbewerben sozial orientierter Roboter, die seit 1997 in verschiedenen Ländern stattfinden. Russische Teams nahmen auch an Wettbewerben teil und gewannen Preise.

Basierend auf der technischen Ausstattung von RED und der Analyse des Wettbewerbsumfelds war RoboCup @ Work eine der möglichen Kategorien von Wettbewerben , bei denen viele industrielle Manipulatoren um die Erfüllung ihrer typischen Aufgaben konkurrieren. Diese Wahl ist hauptsächlich auf die Tatsache zurückzuführen, dass die Abteilung einige von KUKA entwickelte youBot-Industrieroboter hat. youBot ist eine omnidirektionale mobile Plattform, auf der ein Manipulator mit fünf Freiheitsgraden und einem Zwei-Finger-Griff installiert ist. Paket beinhaltet: Laser-Entfernungsmesser URG-04LX-UG01 von Hokuyo Automatic Co. mit einem Messbereich von 5600 mm bei 240 °, mit dem Sie Lokalisierung und Mapping implementieren können; ASUS Xtion-Bewegungserkennungsgerät, ähnlich wie Microsoft Kinect. Die Macher präsentieren den Roboter perfekt für den Bildungsbereich geeignet.





Sie können ein Betriebssystem an Bord des youBot-Controllers installieren (in unserem Fall Ubuntu 12.04), mit dem Sie die Steuerung sofort auf einem im Roboter integrierten Computer starten können. Die Kommunikation mit dem Roboter erfolgt über ein Wi-Fi-Modul.

Die Zusammenarbeit mit youBot ist eine großartige Gelegenheit, industrielle Manipulatoren kennenzulernen. Aber zuerst müssen wir uns und youBot im Geschäft testen.

Es wurde beschlossen, auf youBot eine offensichtliche Aufgabe für diese Art von sich bewegenden Manipulatoren zu implementieren - das Zielobjekt zu finden und zu erfassen. Der Programmalgorithmus lautet wie folgt:
  1. Lokalisierung und Kartierung: Bestimmen des Standorts des Zielorts, auf dem das Objekt steht, unter den Hindernissen (da Hindernisse niedrige Bretter sind - „Wände“) mit anschließender Annäherung an den Standort.
  2. : , , .
  3. .

Das Lokalisierungsproblem wird mit dem obigen Laser-Entfernungsmesser gelöst, und die Erkennungsaufgabe wird mit dem ASUS Xtion gelöst. Alles, was wir tun müssen, ist, Programme zu schreiben, die Daten von diesen Sensoren verarbeiten (der Vorteil ist, dass es für diese Zwecke vorgefertigte offene Bibliotheken gibt) und die Objekterfassung irgendwie zu implementieren. Darüber hinaus müssen Sie alle drei Teile der Aufgabe in einem einzigen System zusammenfassen.

Wir haben uns entschlossen, youBot zu steuern, Daten zu verarbeiten und zwischen Sensoren und dem Roboter mithilfe des Roboterbetriebssystems zu kommunizieren. Es gab bereits Artikel über ROS über ROS und über Roboter, die mit seiner Hilfe arbeiten. Zum Beispiel handelt es sich um eine wunderbare Implementierung eines Hexapod-Roboters, die vom Parsen von Eisen über das Entwerfen eines Modells bis zum Kombinieren aller Knoten unter ROS-Kontrolle reicht.

Für alle Fälle erinnern wir uns, dass ROS ein Framework für die Arbeit mit Robotern ist, das die Entwicklung und Integration verschiedener Softwarekomponenten erleichtert. ROS wird sowohl in Amateur- und Bildungsprojekten als auch für die Entwicklung von Industrieroboterprogrammen verwendet. Es ist erwähnenswert, dass derzeit die zweite Version von ROS entwickelt wird , die noch mehr Funktionen für die Entwicklung von Robotern verspricht.

ROS bietet viele der Dienste eines Standardbetriebssystems: Hardwareabstraktion, Gerätesteuerung auf niedriger Ebene, Nachrichtenübermittlung zwischen Prozessen und Paketverwaltung. ROS besteht aus zwei Teilen: dem ros- Software-Kern selbst und ros-pkg , einer Reihe von Paketen ( Paket)), in dem Daten, Bibliotheken, ausführbare Dateien und Konfigurationen enthalten sind, die logisch zu einem nützlichen Modul zusammengefasst sind.

Die grundlegenden Konzepte der Komponenten der Kommunikation in den ROS sind Knoten ( Knoten ), Nachricht ( Nachricht ) und Themen ( Thema) Ein Knoten ist ein laufender Prozess, der mit anderen Prozessen kommunizieren kann. Thema - eine Named Pipe, die verschiedene Knoten verbindet. ROS basiert auf einer Grapharchitektur, bei der die Datenverarbeitung in Knoten stattfindet, die Nachrichten untereinander empfangen und senden können. Diese Nachrichten werden in Themen veröffentlicht, die Nachrichten in Interessengruppen unterteilen. Wenn ein bestimmter Knoten Nachrichten mit bestimmten Daten empfangen muss, abonniert dieser Knoten ein bestimmtes Thema. Aus diesem Grunde gibt es eine Beziehung zwischen den Knoten „Teilnehmer-Verlag» ( Publisher-Subscriber ).

In unserem Fall wird der ROS-Kernel auf dem youBot-Controller selbst ausgeführt, und dort wird ein Datenverarbeitungsdiagramm zwischen drei Programmknoten (Lokalisierung, Objekterkennung und Erfassung) organisiert. Diese Knoten veröffentlichen Daten zu ihrer Arbeit in den entsprechenden Themen, unabhängig davon, ob es sich um Informationen über den Roboter handelt, der die Zielplattform erreicht, oder um die Koordinaten des Objekts. Für drei Themen ist der Hauptsteuerknoten signiert, der die Arbeit der anderen drei überwacht und die Befehle in einem speziellen Thema veröffentlicht, für das verwaltete Knoten abonniert sind. Daher sieht das Kontrolldiagramm folgendermaßen aus:



Um die Arbeit zu beschleunigen, haben wir uns in drei Teams aufgeteilt, von denen jedes einen der drei Knoten implementieren musste.

Im nächsten Artikel erfahren Sie, wie wir die Lokalisierung implementiert haben und was wir dafür verwendet haben.
Bleib bei uns.

Source: https://habr.com/ru/post/de392419/


All Articles