Meisterschaft der Maschinen: RoboCup@Work

In der RoboCup@Work Liga müssen die Teams ihre Roboter fürs Einsammeln und Ablegen von Gegenständen fitmachen. Dazu braucht es nicht nur gute Greifer und Objekterkennung, sondern auch eine hohe Präzision.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Robocup@work

(Bild: Johannes Kopton, Team robOTTO)

Lesezeit: 11 Min.
Von
  • Daniel Ammon
  • Helmut Engelhardt
  • Tobias Fink
  • Jon Martin Garechana
  • Hauke Petersen
  • Martin Seidel
  • Dr. Sebastian Zug
Inhaltsverzeichnis

Die Konzepte der Industrie 4.0 setzen in starkem Maße auf den Kollegen Roboter. Dieser soll nicht nur monotone oder körperlich anstrengende Tätigkeiten übernehmen und mit seiner Wiederholgenauigkeit und Kraft umsetzen, sondern selbstorganisiert die gestellten Aufgaben erfüllen.

Auf der einfachsten Ebene dient der Roboter dabei als intelligente Transportplattform, die Bauteile oder Werkzeuge zwischen verschiedenen Arbeitsstationen transportiert. Dafür muss er in hochdynamischen Umgebungen sicher navigieren, Objekte in seinem Umfeld identifizieren und aufnehmen sowie Aufgaben effizient planen, um eine möglichst rasche Abarbeitung zu gewährleisten. Auf diesen Fähigkeiten aufbauend kann dann zum Beispiel die unmittelbare Interaktion mit dem Menschen oder Operationen mit einer Gruppe in das Szenario integriert werden.

Mehr Infos

Die RoboCup@Work-Liga folgt diesem Entwicklungsprozess seit ihrer Gründung im Jahr 2013. Dabei zielt der Wettbewerb auf die autonome Ausführung von Transportaufgaben durch einen Roboter innerhalb einer abstrakten Industrieanlage mit einer Größe von 10 x 6 Metern. Die Teams entwerfen eine Roboterplattform, wählen die Sensorik aus, designen Greifwerkzeuge und implementieren Methoden zur Navigation und Handhabung der Objekte.

Der nachfolgende Artikel erläutert den Wettkampf und stellt die Implementierungen der Teams AutonOHM (Technische Hochschule Nürnberg, Georg Simon Ohm) und robOTTO (Otto-von-Guericke-Universität Magdeburg) genauer vor.

Übersicht über die Wettkampf-Arena (RoboCup Workshop 2016 in Magdeburg)

(Bild: Otto-von-Guericke Universität Magdeburg)

Ein @Work-Wettkampf läuft über drei Tage in acht Runden (Regelbuch 2017) mit ansteigendem Schwierigkeitsgrad. Während in den Einstiegsrunden Basic Navigation Task und Basic Manipulation Task Punkte für die korrekte, autonome Bewegung des Roboters in der Arena und für die einfache Handhabung von Objekten vergeben werden, führen die weiteren Runden immer neue Herausforderungen.

So integrieren verschiedene Instanzen des Transportation Tasks

  • eine steigende Zahl der zu handhabenden Objekte (insgesamt 13 verschiedene Schrauben, Muttern, Bolzen oder Profile),
  • veränderliche Höhe der Arbeitsflächen (0 - 15 cm),
  • variable Hindernisse,
  • verbotene Bereiche in der Arena und
  • Funktionselemente wie Sammelboxen oder Regale

Beim Precision Placement Task müssen Objekte in Negativformen gesteckt werden, während der Round Table Test das Greifen von einer bewegten Plattform erfordert.

Jede Runde beginnt damit, dass der Roboter ein Aufgabenset von einem Referee-Rechner übermittelt bekommt. Ab diesem Zeitpunkt ist für die Teams jeder Zugriff auf den Roboter untersagt. Bevor die selbstständige Ausführung startet, wird die Abarbeitung der Aufgabenliste zunächst geplant.

Entsprechend der effizientesten Reihenfolge bewegt sich der Roboter zur ersten Arbeitsfläche und versucht diese zu erkennen, um dann die verfügbaren Objekte zu lokalisieren. Während in den ersten Runden strenge Vorgaben zu Lage und Ausrichtung der Objekte die Teams entlasten, können die Schiedsrichter sie in den komplexeren Runden nahezu frei positionieren.

Sobald der Roboter ein gesuchtes Objekt gefunden hat, positioniert er sich und versucht es zu greifen. Die Schwierigkeit liegt darin, dass die Greifpunkte für die Objekte optimal geplant werden müssen, um zu vermeiden, dass der Greifer sie verliert. Jeder Roboter darf maximal drei Objekte mit sich führen, folglich gilt es die Abfolge der Aufgabenbearbeitung gut zu planen.

Greifoperation von industriellen Objekten, die auf einer 10 cm hohen Arbeitsplatte positioniert sind

(Bild: Johannes Kopton, Team robOTTO )

Am Ende gewinnt das Team die Runde, das die meisten Objekte innerhalb der spezifischen Dauer einer Runde (5 bis 10 Minuten) ausliefern konnte. Für das schnellste Team winkt zudem noch ein Bonus. Strafpunkte mindern das Ergebnis, wenn der Roboter zum Beispiel in gesperrte Bereiche fährt oder Objekte fallen lässt. Der Lauf kann wird abgebrochen, wenn der Roboter mit der Arena kollidiert.

In der Wahl der Hardware sind die Teams relativ frei. Das Regelwerk des Wettbewerbs legt lediglich gewisse Größenbeschränkungen und Sensortechniken fest. Als Basis für eigene Entwicklungen setzen die meisten Teams jedoch auf die Roboterplattform YouBot des Herstellers Kuka. Um flexibel durch die Arena navigieren zu können, ist diese mit einem omnidirektionalen Antrieb über sogenannte Mecanum-Räder ausgestattet.

Roboter des Teams robOTTO aus Magdeburg

(Bild: Sebastian Zug, Team robOTTO)

Zur Erfassung der Umgebung werden 2D-Laserscanner eingesetzt. Bei den Teams RobOTTO und AutonOHM sind jeweils einer vorne und einer hinten an der Plattform angebracht, um das Sichtfeld zu vergrößern. Damit ist der Roboter in der Lage, seinen Pfad zwischen zwei Arbeitsplattformen richtungsunabhängig zu planen, um keine Zeit mit Drehungen auf der Stelle zu verlieren.

Für die Handhabungsaufgaben ist der YouBot mit einem 5-Achs-Gelenkarmroboter ausgestattet. Zur Verbesserung der Erreichbarkeit der Teile wurde der Arm von beiden Teams etwas nach vorne versetzt. Das Team aus Magdeburg hat sich dabei für einen asymmetrischen Aufbau entschieden. Als Greifer dient bei vielen Teams ein Zweifinger-Greifer mit FinRay-Fingern der Firma Festo. Diese elastischen Finger sind in der Lage, sich unterschiedlichen Objektkonturen anzupassen.

Roboter des Teams AutonOHM aus Nürnberg

(Bild: Team autonOHM)

Hinsichtlich der Sensorik, mit der die Objekte auf den Arbeitsplattformen erkannt werden, gehen die Teams unterschiedliche Wege. Einige Konstruktionen setzen – wie das robOTTO Team –auf 2D-Kameras, wobei eine eigene Beleuchtung die unterschiedlichen Lichtbedingungen beim Wettkampf kompensieren soll. AutonOHM verwendet dagegen eine Intel-RealSense-Kamera, die sowohl 2D- als auch 3D-Daten der Arbeitsflächen liefern kann. Angebracht sind die Sensoren meist in der Nähe des Greifers.

Die gegriffenen Teile werden zum Transport zu anderen Arbeitsstationen in unterschiedlich ausgeformten Inventarplätzen auf der Plattform abgelegt. Der Roboter des robOTTO-Teams hat dafür ein speziell ausgeformtes Inventar links vom Arm. Dieses soll das Verrutschen der Ladung während der Fahrt verhindern und dafür sorgen, dass auch ein nicht perfekt gegriffenes Teil beim Ablegen nicht daneben fällt.

Zur Auswertung der Sensordaten und Ansteuerung der Aktorik wird bei beiden Teams ein leistungsstarker Rechner mit Linux als Betriebssystem eingesetzt. Als Softwareumgebung zur Realisierung eigener Algorithmen nutzen die meisten Teams das Robot Operating System (ROS), eine Open-Source-Bibliothek mit vielen verfügbaren Paketen, zum Beispiel zur Roboterlokalisierung und -navigation.

Oberhalb der Treiber- und Datenverarbeitungsebene läuft eine Zustandsmaschine, die den Ablauf des Wettkampfes (Fahrt zur Arbeitsfläche, Neustart der Pfadplanung, Scannen des Tisches, Greifen, Ablegen, usw.) mit möglichen Fehlerzuständen (Pfad blockiert, kein Objekt erkannt) widerspiegelt und die einzelnen Programmteile koordiniert.

Visualisierung einer einzelnen 2D-Laserscanner-Messung. Der Scanner ist an der Vorderseite des Roboters (youBot) befestigt und tastet mit den Laserstrahlen die Umgebung ab. Die roten Punkte visualisieren die Messdaten, wie sie nach einer Einzelmessung des Scanners auf dem Verarbeitungsrechner vorliegen.

(Bild: Team autonOHM)

Während des gesamten Wettbewerbs muss der Roboter sämtliche Transportaufträge autonom ausführen und sich autonom in der Wettbewerbsarena bewegen. Hierfür tasten am Roboter befestigte 2D-Laserscanner die Umgebung in einer Ebene ab.

Darauf werden etablierte Simultaneous-Localization- and-Mapping-Algorithmen (SLAM) angewendet, die die einzelnen Scans zu einer Gesamtdarstellung zusammenfügen. Die so entstandene Karte wird sowohl für die Planung als auch für die Lokalisation im Wettbewerb genutzt.

Digitales Abbild der Arena durch einen 2D-Laserscanner und einen SLAM-Algorithmus. Es entsteht eine Art “Grundriss” der Einsatzumgebung. Anhand dieser Umgebungskarte kann der Roboter in der Arena navigieren.

(Bild: Team autonOHM)

Jedes Team erstellt zu Beginn des Wettbewerbs eine solche Umgebungskarte von der Arena. Sie stellt die Basis für ein erfolgreiches Lokalisieren und Navigieren des Roboters dar. Nachträglich eingebrachte Hindernisse erschweren das Zurechtfinden in der Arena, da sie nicht in der zu Beginn aufgenommenen Umgebungskarte eingetragen sind.

Wie vielfältig die Herausforderungen beim RoboCup@work sind und wie unterschiedlich sie gelöst werden können, zeigen zwei Beispiele: Die Identifikation und die Platzierung von Objekten.

Verschiedene @Work Objekte und ihre Wahrnehmung durch den 3D-Sensor

(Bild:  Johannes Kopton, Team robOTTO)

Die Kamera SR300 des AutonOHM liefert außer dem herkömmlichen 2D-Farbbild eine 3D-Punktwolke mit x-, y- und z-Koordinaten und Farbwerten der Umgebung. Dieser Vorteil gegenüber normalen 2D-Kameras wird aber von einigen Nachteilen begleitet. Unter anderem stört direkte Sonneneinstrahlung die Kamera, die mit Infrarot-Licht arbeitet. Die Qualität der 3D-Daten ist außerdem abhängig von der Oberfläche der Teile: Objekte mit einer schwarzen Oberfläche sind generell schwierig zu erfassen. Zudem beeinflusst auch die Position der Teile relativ zur Kamera die Qualität der Punktwolke.

Zur Bestimmung der Objekte auf der Arbeitsstation wird zunächst der Roboterarm in eine geeignete Position gebracht und eine 3D-Punktwolke aufgenommen. Aus diesem Datensatz werden die Objekte auf der Plattform von der Umgebung unter Beachtung des Sensorrauschens separiert. Dieser als Segmentierung bezeichnete Arbeitsschritt extrahiert alle Punkte, die vermutlich zur Ebene der Arbeitsstation gehören. Darauf aufbauend erfolgt die Trennung zwischen den einzelnen Objekten anhand einer einfachen Abstandsmetrik. Ist der Abstand zu einem weiteren Punkt geringer als ein Schwellwert, gehört dieser noch zum selben Objekt.

Aus den getrennten Punktwolken der Objekte werden nun markante Merkmale bestimmt. Hierzu zählen Höhe, Breite, Länge, das Volumen und der durchschnittliche Farbwert. Auf Basis eines Vergleichs mit bereits bekannten Werten in der Objektdatenbank kann das Objekt idealerweise bestimmt werden.

Zum Greifen des Teils muss ein Anfahrtspunkt und die Orientierung für den Greifer ermittelt werden. Der Anfahrtspunkt berechnet sich aus dem Massenschwerpunkt der Punktwolke. Die Orientierung des Objektes wird über die Hauptträgheitsachse der Punktwolke bestimmt.

Die Kür jedes @Work-Wettbewerbes ist aktuell das Precision Placement. Das funktioniert im Prinzip wie die bei Kleinkindern beliebten Steckspiele, bei denen Sterne, Würfel, Zylinder und andere geometrische Formen durch die passenden Löcher in einem Brett durchgesteckt werden müssen.

Auch die Roboter müssen die Manipulationsobjekte in eine Negativform einführen, wobei das seitliche Spiel jeweils nur wenige Millimeter beträgt. Wichtig ist dabei die Einschränkung aus dem Regelwerk, dass das Objekt direkt positioniert werden muss und nicht erst abgelegt und dann auf dem Tisch hin- und hergeschoben werden darf, bis es durchfällt. Dieser Vorgang ist deshalb so schwierig, weil die Lage der Objekte im Greifer, die Bewegung des Manipulators und auch die Erfassung der Lochmaske mit Fehlern und Unwägbarkeiten überlagert ist. Um die Kontur des Objekts und die der Maske in eine erfolgversprechende Übereinstimmung zu bringen, braucht es also eine gute Strategie und auch etwas Glück.

Precision Placement Situation (Nahansicht des Greifers mit Objekt über dem Loch)

(Bild:  Johannes Kopton, Team robOTTO)

Das robOTTO-Team etwa versucht gegenwärtig das präzise Einwerfen in zwei Schritten umzusetzen. Zunächst zentriert der Roboter den Greifer über der Maske. Dann wird mit der Kamera unmittelbar oberhalb des Objektes die relative Beziehung von Objekt und Maske zueinander geprüft. Der Roboter versucht dann, die Konturkanten in Übereinstimmung zu bringen. Wenn eine hinreichende Genauigkeit festgestellt wird, öffnet sich der Greifer. Gegenwärtig arbeitet das robOTTO-Team daran, den flexiblen Greifer zusätzlich mit einer Taktilsensorik auszustatten, um ein besseres Feedback der aktuellen Position des Objekts zu erhalten.

Das Technische Komitee der Liga zielt darauf ab, sowohl mit den aktuellen Forschungsthemen als auch den Visionen der Industrie 4.0 Schritt zu halten. Bei diesen Anpassungen prüfen die Ligaverantwortlichen, welche Komplexität von einem studentischen Team handhabbar ist und wie sichergestellt werden kann, dass neue Teams nicht abgeschreckt werden. So sollen in den kommenden Jahren weitere Fertigungsstationen integriert werden, die nicht nur ein Ablegen, sondern auch eine Interaktion an den Arbeitstischen erfordern.

Ein Weg, der zudem bereits eingeschlagen wurde, ist die Gründung einer übergreifenden Industrial League, die auch die bestehende Logistikliga mit einbezieht. Beide decken jeweils unterschiedliche Aspekte eines industriellen Prozesses ab. Beim vergangen WorldCup in Leipzig wurde dazu eine erste Cooperations-Challenge umgesetzt.

Um jungen Teams den Einstieg zu erleichtern, veröffentlichen viele Gruppen nach den Wettbewerben jeweils den aktuellen Programmcode und die Konstruktionszeichnungen. Parallel dazu ist aber auch ein Trend bei Neueinsteigern zu beobachten, die Hardware nicht mehr auf kommerziellen Plattform aufzubauen, sondern einen Roboter komplett selbst zu entwickeln, um damit eine optimale Anpassung an die Herausforderung der Liga zu erreichen. Das Zusammenspiel aus neuen Aufgaben und solchen neuen Lösungsansätzen verspricht jedenfalls für kommende Jahre weitere spannende Wettkämpfe.

(acb)