Bit-Bots auf dem RoHOW 2018

Was ist ein RoHOW? Kann man das essen?
Der RoHOW ist eine Veranstaltung, auf der sich Forscher und Studenten mit Interesse an humanoider Robotik treffen. Natürlich waren wir deshalb auch dabei! Dafür haben wir uns mit 13 Mitgliedern auf den Weg zur Technischen Universität Hamburg gemacht. Neben uns waren noch Forschungsgruppen aus ganz Deutschland, aus Italien und den Niederlanden dabei.

Es gab Vorträge und Workshops von den Teilnehmern und von Forschern aus der Industrie, die ihre Arbeit vorgestellt haben.
Für den RoHOW wurde in der Mensa der TUHH ein Spielfeld aufgebaut. Natürlich haben wir unsere Roboter direkt auf das Feld gestellt und von Hardware über die Visualisierung bis hin zur Software z.B. unser neu entwickeltes World Model alles getestet.
Den RoHOW selber kann man zwar nicht essen, trotzdem war für unser kulinarisches Wohl gesorgt. Am ersten Abend haben wir von subventionierter Pizza profitiert und jeden Morgen konnten wir kostenloses Frühstück genießen. Zusätzlich gab es kostenlos zu Trinken. Von allen möglichen Softdrinks bis hin zum grünen Bier, von der TUHH eigenen AG für die Hulks (den Veranstaltern des RoHOWs) in ihrer Teamfarbe gebraut wurde.
 

Standard Platform League
Die meisten Teilnehmer des RoHOWs spielen in der Standard Platform League (SPL). Die SPL Teams haben dabei, wie auch wir, das Ziel Fußball zu spielen. Die Roboter der SPL Teams sind aber hardwaretechnisch sehr stark begrenzt. Sie haben nur eine CPU mit einem Kern zur Verfügung. Ein großes Thema auf dem RoHOW war aber die angekündigte nächste Generation dieses Roboters, bei dem die Teams dann vier Kerne nutzen können.
Unsere Roboter haben keine so starken Vorschriften und deshalb konnten wir bereits einen Odroid, einen Intel Nuc und eine Nvidia Jetson gleichzeitig einbauen.

Bildquelle: https://github.com/bhuman/BHumanCodeRelease/blob/master/CodeRelease2018.pdf

Teams aus ganz Europa
Zehn Teams haben an dem RoHOW teilgenommen. Teams aus ganz Deutschland, das SPQR Robot Team aus Italien sowie das Dutch Nao Team aus den Niederlanden waren dabei. Die Chance haben wir genutzt, um uns mit den anderen Teams von technischen Details unserer Roboter bis hin zu den Erlebnissen der Reisen zu den letzten Robocup WMs auszutauschen.

Workshop zu ROS für SPL
Da die SPL Teams bisher nur einen Prozessorkern zur Verfügung hatten, war für sie der Einsatz von ROS nicht sinnvoll. ROS bedeutet Robot Operating System und ist zwar kein Betriebssystem, bietet aber viele Services die ein Betriebssystem zur Verfügung stellen würde. Mit ROS kann man gut von der Hardware abstrahieren und sich damit viel Debugging Arbeit ersparen, die durch Schwierigkeiten mit Hardware entstehen. Außerdem bietet ROS Möglichkeiten, Nachrichten zwischen Prozessen auszutauschen.
Mit der Einführung eines Prozessors mit vier Kernen fanden die Bit-Bots, es würde durchaus Sinn ergeben, dass auch die SPL sich mit dem Thema ROS beschäftigt. Deshalb haben wir einen Workshop angeboten, in dem wir gezeigt haben, wie wir auf unseren Robotern schon erfolgreich mit ROS arbeiten und welche Vorteile es für die SPL Teams haben würde. Nach unserer Vorstellung haben wir gemeinsam darüber diskutiert, ob es den Aufwand wert sei, das bisherige System auf ROS umzustellen. Diskussionspunkte waren, wie viele Ressourcen ROS benötigt und ob sich das Umschreiben der bestehenden Codebasis in die ROS-Strukturen lohnt. Schlussendlich waren die Anwesenden interessiert, aber hatten Zweifel, ROS kurzfristig einführen zu können, könnten sich allerdings langfristig einen Umstieg vorstellen.

ImageTagger Workshop
Der ImageTagger ist eine von den Bit-Bots entwickelte Open-SourceSoftware, um online auf Bildern markieren zu können, wo sich Objekte befinden. Diese Software wird von verschiedenen Teams innerhalb des Robocups eingesetzt, um damit neuronale Netze zu trainieren. Bei diesem Workshop haben wir uns mit mehreren dieser Teams getroffen und über die Nutzung des ImageTaggers und die auftretenden Probleme ausgetauscht. Dadurch sind viele neue Aufgaben entstanden, die wir, aber auch die anderen Teams, in naher Zukunft bearbeiten werden.

Bewerbung für die Weltmeisterschaft
Wir haben uns auf dem RoHOW mit den WF Wolves getroffen. Das Team ist von der Ostfalia Hochschule für angewandte Wissenschaften in Wolfenbüttel und zusammen haben wir uns auf die kommende Weltmeisterschaft in Sydney beworben. Mit den WF Wolves treten wir gemeinsam in zwei Ligen des Robocup Humanoid Soccer Wettkampfes an. Auf dem RoHOW haben wir uns mit den WF Wolves zusammengesetzt und dabei unser Team Description Paper geschrieben. Das Team Description Paper ist eine wissenschaftliche Veröffentlichung, die unsere Hardware und die von uns geschriebene Software beschreibt.

Lokalisierung
Das aufgestellte Feld haben wir direkt benutzt und unsere Roboter darauf platziert. Durch den RoHOW hatten wir Zugang zu einem größeren Feld, als wir es im Labor hätten und dies stellte natürlich einige Herausforderungen an unsere Lokalisierung. Die Ergebnisse waren teilweise schon relativ gut, aber gleichzeitig haben wir auch verschiedene Probleme gefunden, die uns in näherer Zeit beschäftigen werden.

Auf dem Bild sieht man die Position, an der der Roboter sich selbst lokalisiert. Weiß markiert sind Linienpunkte, die von der Vision gefunden werden. Indem die Punkte auf dem vorher bekannten Feld platziert werden, sind wir in der Lage, unsere Position zu bestimmen. Das Bild von dem Roboter ist die Position, die am wahrscheinlichsten ist. Weitere Möglichkeiten werden als rote Pfeile auf dem Feld eingezeichnet.

World Model
Momentan wird im Rahmen einer Bachelorarbeit unser World Model komplett neu entworfen. Anhand des World Models können wir feststellen, wo der Ball am wahrscheinlichsten vor dem Roboter liegt. Dies funktioniert mit einem Neuronalen Netz, genauer gesagt einem Fully Convolutional Neural Network, um den Ball auf dem Kamerabild zu finden und einem Partikelfilter, der ermittelt, wo im Raum der Ball vor ihm liegt. Ausgehend davon haben wir unser Kopfverhalten getestet, indem wir den Kopf des Roboters dazu gebracht haben, die Bewegung des Balles zu verfolgen.

Unten in braun ist die Position der Kamera dargestellt. Die weißen Punkte sind mögliche Positionen des Balles, wie sie von der Vision erkannt wurden. In gelb markiert sind die Partikel, die vom Partikelfilter generiert werden, um damit die Position des Balles zu bestimmen.

URDF
Auf dem RoHOW haben wir das URDF für unsere Roboter angepasst. URDF steht für Unified Robot Description Format. Anhand dieses Formats kann man den Roboter mit seiner Größe und Form genau beschreiben. Diese Daten können dann für die Simulation und die Visualisierung des Roboters verwendet werden. Die Ergebnisse der Visualisierung kann  man auch im Screenshot zur Lokalisierung bestaunen.
Das URDF ist allerdings nicht nur nützlich für die Simulation, sondern wird auch benötigt, um den realen Roboter anzusteuern. Wenn der Roboter eine bestimmte Stelle anschauen soll, weil dort die Position des Balles berechnet wurde, dann muss der Roboter die Höhe seines Kopfes und die Winkel der anderen Motoren kennen. Genau diese Informationen werden im URDF abgespeichert.

 

Fazit
Wir hatten viel Spaß auf dem RoHOW, haben viel mit anderen Teams kommunizieren können und viel Interessantes gelernt. Gleichzeitig haben wir einen großen Teil unserer Software getestet und optimiert. Zusätzlich hatten wir die Gelegenheit, uns über von uns entwickelte und von mehreren Teams verwendeter Software auszutauschen. In diesem Sinne: Vielen Dank an die HULKs für das Organisieren und Veranstalten des RoHOWs!

Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Neue Fußsensoren

Unsere Roboter haben neue Fußsensoren bekommen. Dabei haben wir und von Team Rhoban aus Bordeaux inspirieren lassen. (https://github.com/Rhoban/ForceFoot)
Wir haben die originale Implementation dabei noch verbessert. Die mögliche Update Rate haben wir von den originalen 80 Hz auf theoretisch mögliche 9.5 kHz gebracht. Dabei ist die Übertragungsrate über unseren Bus leider limitiert und wir filtern den Output der load cells und übertragen nur mit einer Geschwindigkeit von 1 kHz.

Die Sensoren sind dabei auf der Oberseite vom Fuß angebracht.

Ein Bild von dem Roboterfuß mit den angebrachten Sensoren.

Sie sollen uns dabei helfen, mehr Daten zu bekommen, mit denen wir dann besser in der Lage sind, unser Laufen und unsere Animationen zu stabilisieren.
Angebracht haben wir die Sensoren auf dem RoHOW. Die Sensoren schaffen es pro Sensor bis zu 40 KG zu messen ohne kaputt zu gehen. Natürlich haben wir das dabei als Herausforderung gesehen und versucht mit zwei Daumen möglichst viel Druck auszuüben.

In der Zukunft planen wir, wissenschaftlich zu vergleichen, wie sich das Center of Pressure mit unseren Sensoren im Vergleich zur industriellen Lösung, dem Six Axis Force Torque Sensor, messen lässt und wollen unsere Ergebnisse dazu veröffentlichen. In der näheren Zukunft werden wir unsere verbesserte Version des Force Foots als OpenSource-Hardware veröffentlichen.

 

Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Unser neuer Roboter für die Vision!

Wir haben einen neuen Roboter.
Er ist komplett im Eigenbau entstanden. Er erfüllt leider nicht ganz die Anforderungen für unsere Liga, denn er ist nicht humanoid.  Er kann nicht einmal laufen. Er kann eigentlich sogar nur den Kopf bewegen.
Um in der Liga spielen zu dürfen ist er allerdings auch nicht entworfen worden. Wir wollten einen einfachen Roboter den man verwenden kann um Bilder für unseren Imagetagger zu generieren oder einfach unsere Vision Algorithmen testen zu können. Mit unserer Konstruktion brauchen wir nur drei Motoren. Normalerweise haben unsere Roboter nur zwei Motoren für den Kopf, aber durch den dritten Motor wird es uns ermöglicht, einen weiteren Freiheitsgrad hinzuzufügen. Denn damit kann der Kopf auch schief gelegt werden. Die Funktion benötigen unsere spielfähigen Roboter nicht, aber sie kommen durch die Bewegung im Spieleifer von selbst in solche Zustände. Durch diesen Roboter können wir auch diese Möglichkeit abdecken und noch realistischere Bilder aufnehmen.
Durch die wenigen Motoren müssen wir uns nicht auf die anderen Bestandteile des Roboters verlassen und deshalb können wir die Komplexität des gesamten Roboters senken. Zusätzlich benötigen wir dann beim testen und kalibrieren der Vision keinen der spielfähigen Roboter und deshalb kann während dessen an diesen gearbeitet werden.
Ein weiteres Feature ist die höhenverstellbare Stange des Roboters, mit der wir Bilder aus der Perspektive von vielen verschieden großen Robotern aufnehmen können.

Der Vision Roboter mit ausgefahrener Stange in großDer Vision Roboter mit eingefahrener Stange in klein
Obwohl dieser Roboter so simpel ist, erlaubt er uns doch viele neue Möglichkeiten für die Vision.

Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail