Allmonatlich findet am ersten Donnerstag im Monat der Robotik-Stammtisch NRW statt. Wegen der Herkunft der Gründungs- und ständigen Mitglieder wechselt der Stammtisch in der Regel zwischen Dortmund und Bielefeld, in diesem Monat wird er allerdings zum zweiten Mal in Düsseldorf stattfinden, um auch Robotiker aus dem südlichen NRW kennenzulernen.
Wir freuen uns auf neue Gesichter, mit denen wir entspannt ein Getränk zu uns nehmen und über Robotik plaudern können.
Wer an weiteren Terminen und Robotik in NRW interessiert ist, dem sei auch die Robotik-Mailingliste ans Herz gelegt: robotiknrw@lists.cit-ec.uni-bielefeld.de Die Anmeldung ist frei.
Im April 2010 wurde der Bionische Handling-Assistent (BHA) von Festo auf der Hannover Messe der Öffentlichkeit vorgestellt. In den folgenden Monaten sah dieser biologisch inspirierte Roboterarm zu recht eine große Medienpräsenz und wurde mit zahlreichen Preisen, unter anderem dem Deutschen Forschungspreis 2010, ausgezeichnet. Im Februar 2011 bekamen wir dann unseren eigenen BHA, voller Vorfreude, denn wir wussten, dass niemand bislang mit dem BHA tun konnte, was wir mit ihm vorhatten: ihn zu kontrollieren.1
Die Struktur und Funktionsweise des BHA ist inspiriert von einem Elefantenrüssel, wie in folgender Abbildung unschwer zu erkennen ist. Der Arm wird im Sinne des Rapid Prototypings im 3D-Drucker gedruckt. Als Material wird Polyamid verwendet, wodurch der gesamte Arm leicht-gewichtig und durchgängig verformbar wird: Im Wesentlichen besteht der BHA also aus Plastik und einer Menge Luft. Bewegt wird der Arm von dreizehn pneumatischen Ventilen, die die dreizehn Kammern des Roboters mit Luft füllen oder entleeren. Dies wiederum verbiegt, beugt und streckt die komplette Struktur.
Festo hat mit dem BHA die Vision eines leichten, freibeweglichen Dritte-Hand-Systems, das den Menschen bei seiner Arbeit unterstützen kann. Dank seiner strukturellen Nachgiebigkeit (Compliance) ist der Arm im Kontakt mit Menschen und seiner Umgebung naturgemäß sicher, was die Möglichkeiten von direkter Zusammenarbeit von Mensch und Roboter eröffnet. In industriellem Kontext kann der BHA in Fertigungsprozessen eingesetzt werden, z.B. um mit empfindlichen Gütern wie z.B. Lebensmitteln zu arbeiten.
Als wir uns entschlossen haben, Festos Bionischen Handling-Assistenten zu erwerben, wussten wir, dass wenige der klassischen und bekannten Verfahren mit diesem Roboter funktionieren würden. Trotzdem war überraschend, dass der Roboter ohne jegliche Software ausgeliefert wurde.
Keine Software.
Nichts.
Noch bis vor einem Jahr konnten wir mit dem BHA nicht viel mehr tun, als von Hand die pneumatischen Ventile zu öffnen und zu schließen, um damit entweder vollen Druck oder gar keinen Druck in die Kammern zu geben. Auch damit waren die Bewegungen des Roboters absolut faszinierend und wir hatten großen Spaß, aber ernsthafte Anwendungen waren damit natürlich noch nicht möglich. Wie von Festo zugesagt, bekamen wir dann vor fast genau einem Jahr elektronische Ventile, mit denen wir (mehr oder weniger präzise) den Druck in den Kammern automatisch vorgeben konnten. Nicht mehr und nicht weniger: den Druck kontrollieren.
Um es einmal vorsichtig zu sagen: Der Schritt von dieser Druckregelung zu einer ernsthaften Anwendung mit dem BHA ist groß!
Das tatsächliche Werkzeug, dass man mit dem BHA kontrollieren will, ist der sogenannte Fin Gripper am Ende des Arms. Diesen Greifer zu allerdings genau zu positionieren setzt zuallererst voraus, die Postur des Arms präzise bestimmen zu können. Den Druck in den einzelnen Kammern zu kennen, reicht dafür bei weitem nicht aus; dass dies zum Scheitern verurteilt sein würde, diese Erfahrung hatten wir bereits mir anderen Robotikplattformen gemacht: Zehn Mal den gleichen Druck auf einen pneumatischen Roboter zu geben, ergibt im Regelfall zehn verschiedene Posturen des Roboters. Reibung, Reibung, Hysterese-Effekte und Nicht-Stationaritäten verändern das Ergebnis von Mal zu Mal.
Um diesen Problemen zu begegnen, besitzt der BHA Längensensoren (Kabel-Potentiometer), um an der Außenseite des Arms die Streckung der einzelnen Kammern zu messen (siehe obige Abbildung). Natürlich wollten wir diese Länge nicht nur kennen, sondern auch kontrollieren können. Das ist theoretisch mit klassischer (PID-)Regeltechnik möglich, aber funktioniert auf diese Weise nur sehr schlecht. Um dieses Verhalten zu verbessern, könnte man nun versuchen, all das Wissen über den BHA in eine ausgefeiltere Regelungstechnik zu stecken. Wenn man dieses Wissen bloß hätte …
Eine kurze Liste von Dingen, die man über den BHA nicht weiß:
Das präzise Verhältnis zwischen Druck in den Kammern und der geometrischen Postur im Ruhepunkt (im Equilibrium)
Jegliche Art von Dynamik (nicht nur der Pneumatik selbst, sondern auch des sehr viel langsameren Zusammenspiels zwischen der Pneumatik und Geometrie)
Welche Länge des Arms bzw. der einzelnen Kammern ist überhaupt möglich? Wo liegen die Grenzen?
Und nicht zuletzt: Wie genau ist das Zusammenspiel der obigen Aspekte zwischen den einzelnen Kammern. Denn: Es besteht ein starker Zusammenhang!
Alles zusammen eine große Herausforderung … aber nicht unmöglich. Angenommen also, die Länge des Aktuators lässt sich messen und kontrollieren. Um nun die Endeffektor-Position (die Position des Greifers) zu kontrollieren … muss man die aktuelle Endeffektor-Position kennen!
Die Endeffektor-Position anhand der Geometrie des Roboters und der Stellung der Aktuatoren zu errechnen, nennt sich Vorwärts-Kinematik und ist für handelsübliche Roboter kein großes Problem, sondern einfache Trigonometrie. Der BHA gehört allerdings zu einer anderen Klasse von Morphologien, genannt Continuum Kinematics (also in etwa: kontinuierliche Kinematik). Dank seiner mechanischen Flexibilität besitzt dieser Roboterarm unendlich viele Freiheitsgrade, da jeder Bereich des Roboters unterschiedlich gebogen und gestreckt sein kann. Unendlich viele Freiheitsgrade können weder mit Sensoren gemessen noch berechnet werden.
Als wir unsere Arbeit mit dem BHA begonnen haben, planten wir nicht, die komplizierte Kinematik des BHA zu simulieren. Da wir uns im Kontext des BHA hauptsächlich mit Maschinellem Lernen beschäftigen, wollten wir die Endeffektor-Position schlicht messen, um sie benutzen zu können (tun wir auch). Dass wir trotzdem eine Simulation benötigen würden, stellte sich heraus, als wir Schwierigkeiten in der Visualisierung bekamen. Wir wollten nämlich darstellen, wie die räumlichen Koordinaten mit den Bewegungen des BHA zusammenhängen.
Da Visualisierung Kenntnis der Kinematik voraussetzt, begannen wir, sie anzunähern. Selbst wenn sich die Beugung und Streckung von unendlich vielen Freiheitsgraden nicht berechnen lässt, so lassen sich doch durch die Längensensoren einige Annahmen zur Beugung des Arms treffen. Die einfachste Art der Beugung ist eine kreisförmige; im drei-dimensionalen Fall entspricht dies einem Torus:
Das Bild zeigt, wie sich ein Segment mit drei Aktuatoren (in der Abbildung als graue Röhren dargestellt) entlang eines Torus verbiegt. Diese Geometrie kann mit drei Parametern beschrieben werden: zwei Winkel (in der Abbildung blau dargestellt) und der Radius des Torus (in der Abbildung rot). Diese drei Parameter können anhand der gemessenen Längen an der Außenseite der BHA-Segmente rekonstruiert werden. Sobald diese Parameter bestimmt sind, ist das Berechnen der Vorwärtskinematik und damit die Bestimmung der Endeffektor-Position (also der Position des Greifers) einfach. Ein Problem tritt lediglich im Grenzfall auf, wenn alle Längen gleich sind, wenn also alle Kammern gleich gestreckt sind. Diese Verformung kann durch einen Torus nicht dargestellt werden, obwohl der BHA zu solch einer Bewegung in der Lage ist. Auch für dieses Problem ließ sich allerdings eine einfache, numerisch stabile Lösung finden. Der BHA lässt sich somit durch Aufeinandersetzen dreier solcher Segmente darstellen und simulieren.
Die gezeigten Torusdeformationen sind sehr einfache Annäherungen des Arms im Vergleich zu komplexen Physik des Verformungs-Problems. Üblicherweise ist diese Art von Annäherung daher nicht hinreichend für diese Art von Robotern (siehe z.B. Trivedi 2008 2 ). Nicht jedoch für den BHA: Hier funktioniert die beschriebene Lösung sehr gut, in unseren Tests sehen wir einen durchschnittlichen Fehler von 1cm auf einer Länge von 1m. Nicht perfekt, aber absolut ausreichend für unsere Zwecke und außerdem durchaus konkurrenzfähig zu Lösungen in der Literatur.
Das folgende Video zeigt das simulierte Modell und unseren BHA:
BHA-Simulation
Der große Vorteil des benutzten einfachen Torus-Modells ist seine Geschwindigkeit in der Berechnung. Unsere Software-Bibliothek ist auf Basis dieses Modells in der Lage, die Vorwärtskinematik des BHA auf einem einzelnen CPU-Kern mehrere zehntausend Mal in der Sekunde zu berechnen. Auch wenn wir diese Simulation ursprünglich nicht geplant hatten, ist sie damit mittlerweile eine essentielles Werkzeug bei unserer Arbeit mit dem BHA geworden. Die interessanten Dinge machen wir weiterhin auch auf der echten Hardware, aber parallel lassen sich nun viele Dinge bequem vorberechnen und darstellen.
Die Kinematik-Simulation ist in C++ implementiert und als Open-Source-Bibliothek verfügbar. Über die folgende Seite kann sie heruntergeladen werden und enthält sowohl die Vorwärtskinematik als auch die gezeigte OpenGL-basierte 3D-Visualisierung: http://www.cor-lab.de/software-continuum-kinematics-simulation Wir freuen uns über Benutzer und Erfahrungsberichte.
Der folgende einfache Code-Schnipsel berechnet zum Beispiel die Vorwärtskinematik des BHA:
// create robot morphology with segment radii 0.1, 0.09 and 0.08 meters ContinuumRobotKinematics kinematics(RealVector(0.1, 0.09, 0.08)); // specify an end effector offset kinematics.setEndEffectorOffset(RealVector(0.0, 0.0, 0.14)); // this is the forward kinematics function: Mapping<RealVector,RealVector> fwdKin = kinematics.getForwardPositionKinematics(); // try out some posture (a combination of actuator lengths) RealVector posture = {0.2,0.24,0.24,0.2,0.24,0.24,0.2,0.24,0.24}; // this is the resulting end-effector position RealVector position = fwdKin(posture); // [-0.3808, 0, 0.686287]Neben der in diesem Artikel beschriebenen Kinematik-Berechnung und Simulation des BHA, haben wir in den letzten Monaten noch viele weitere spannende Dinge mit dem BHA gemacht, die wir auf der Automatica-Messe im Mai in München zeigen werden: Um zu sehen wie wir trotz der zahlreichen obigen Probleme mithilfe maschineller Lernmethoden den Greifer auf dem echten BHA im Arbeitsraum zu kontrollieren gelernt haben, lohnt sich also ein Besuch unseres Standes auf der Automatica in München: Stand 427 und 429 in Halle B3, vom 22. bis 25. Mai.
Zugegeben, für einen „Frohes neues Jahr“ und „Das war die Robotik 2010“-Blogeintrag ist es schon etwas zu spät. Aber ich dachte, ich sehe trotzdem mal durch die hiesigen Blogeinträge des vergangenen Jahres und überlege, was in der Robotik im vergangenen Jahr besonders erwähnenswert war.
Im Januar begann das Jahr mit einem großen Wurf der californischen Robotikschmiede Willow Garage, die die Version 1.0 ihres Open-Source-Betriebssystems für Roboter ROSveröffentlichte. ROS ist mittlerweile in der Robotik-Szene voll angekommen und viele Institute machen sich mittlerweile die Tatsache zunutze, dass sie mit ROS ein offenes System mit einer Vielzahl gut gewarteter State-of-the-Art -Standardkomponenten erhalten und sich mehr auf die Integration, sondern vielmehr auf konkrete Forschungsfragen konzentrieren können. Im gleichen Monat beschloss das Jet Propulsion Laboratory der NASA, dass der Mars-Rover Spirit erst einmal nicht weiterkommt und deshalb winterfest gemacht werden soll.
Im Februar hat mich vor allem eine realistische Hand-Prothese namens BeBionic beeindruckt, die in Videos fast menschlich aussieht. Im März habe ich meine Stelle am CoR-Lab angetreten und im April zeigte Willow Garage mit dem Wäsche-faltenen Roboter ein ersten von mehreren Videos, in denen Roboter PR2 in mal mehr und mal weniger sinnvollen Anwendungen zu sehen ist. Im Mai traute die Roboter-Lady iFairy ein japanisches Paar und im Juni haben sich auf der spannenden Automatica-Messe neben der Industrie auch die Robotik-Institute dieses Landes vorgestellt.
Im Juli hatte ich das Vergnügen, auf der Summerschool über mehrere Tage den iCub live und aktiv kennenzulernen, dessen neue Beine ich später auch noch vorgestellt habe.
Der August zeigte uns den unheimlichen Telenoid R1 und im November und Dezember hat zum Jahresende die Ingenieurskunst noch einmal gezeigt, was sich mit cleveren Ideen bauen lässt: sowohl der Universal Jamming Gripper mit Kaffeepulver als auch der zu Recht mit dem Zukunftspreis ausgezeichnete Rüssel von Festo bestachen durch ihr einfaches aber brillantes Konzept. (Hört sich irgendwie nach einem Satz aus einem Prospekt an, ist aber ernst gemeint) Und über das, was Microsoft Kinect seit Dezember mit der Robotiklandschaft anstellt, werde ich hofffentlich auch bald schreiben. Der Blogeintrag fliegt hier schon halb geschrieben herum, bis ich damit fertig bin, müssen aber ein paar Videos ausreichen, die ich hier immer mal wieder einstelle.
Insgesamt haben wir in 2010 eine Robotik-Landschaft gesehen, die immernoch viel experimentiert und zum Teil verrückten, neuen Ideen nachgeht. Gleichzeitig lässt sich aber auch beobachten, dass die Robotik auch abseits der typischen Industrierobotik beginnt, ernsthafte Lösungen für Probleme zu präsentieren, die bisher nicht lösbar waren und zum Teil nicht einmal ernsthaft lösbar schienen. Einige Themen und Blogbeiträge sind 2010 bei mir leider aus Zeitmangel unbeschrieben liegengeblieben. Aber es kommen immer weiter neue Themen und 2011 geht es sicher ebenso spannend weiter wie 2010 aufgehört hat.
Zu Recht reißt die Robotik den diesjährigen Zukunftspreis an sich: Festo, die in der Vergangenheit schon durch mit beeindruckenden bionischen Experimenten von sich reden machten, wurden gestern am 1. Dezember zusammen mit dem Fraunhofer Institut für Produktionstechnik mit dem Deutschen Zukunftspreis 2010 ausgezeichnet. Ausgezeichnet wurden sie für den folgenden Roboterarm:
Wie schon der Kaffeegreifer besticht diese Entwicklung durch ihr im Kern einfaches Prinzip: Der Arm besteht aus drei Segmenten, die jeweils aus drei Ziehharmonika-förmigen Kunstoff-Hohlkammern bestehen. Jede dieser Kammern wird durch Einpumpen von Luft verlängert und durch Absaugen der Luft verkürzt, wodurch sich der Arm wild verbiegen lässt. Kombiniert mit einem cleveren Greifer, dem Fingripper, der sich um den Gegenstand schließt, den er greift, gibt das eine spannende, neue Robotik-Plattform für den Fertigungseinsatz. Denn wie in der Laudatio richtig gesagt, erlaubt der Roboterarm durch seine weichen, nachgiebigen Strukturen auch eine sichere Zusammenarbeit mit dem Menschen, die in Zukunftsvisionen von industrieller Fertigung eine große Rolle spielt, mit konventionellen schweren Industrierobotern aber nicht denkbar ist. Und auch in der Servicerobotik wird der Bionische Handling-Assistent sicher in Betracht gezogen werden.
Abseits von dem wirklich gut gemachten Werbevideo oben, muss sich nun zeigen, wie gut der Arm beherrschbar ist und sich einsetzen lässt. Die viel beschworene Feinmotorik des Arms – dass er durch seine weiche Struktur und den feinfühligen Greifer auch mit empfindlichen Objekten umgehen kann – setzt nämlich auch voraus, dass man ihn zumindest einigermaßen clever zu den Objekten hinbewegen kann. Und seine ganze Stärke spielt der Arm ohnehin erst aus, wenn auch alle Freiheitsgrade ausgenutzt werden können, um sich wie ein Elefantenrüssel schlängeln und winden zu können, was das Video grob demonstriert, aber noch nicht im wirklichen Einsatz zeigt.
Die Herstellung des Arms ist übrigens auch innovativ: Arm und Greifer kommen nahezu komplett aus einem 3D-Drucker.