Simulation des Bionischen Handling-Assistenten

(this article is also available in English)

Im April 2010 wurde der Bionische Handling-Assistent (BHA) von Festo auf der Hannover Messe der Öffent­lich­keit vorgestellt. In den fol­gen­den Mona­ten sah dieser bio­lo­gisch inspirierte Roboter­arm zu recht eine große Medien­präsenz und wurde mit zahl­reichen Prei­sen, unter anderem dem Deutschen Forschungspreis 2010, aus­ge­zeich­net. Im Februar 2011 bekamen wir dann unseren eigenen BHA, voller Vor­freude, denn wir wussten, dass niemand bislang mit dem BHA tun konnte, was wir mit ihm vor­hat­ten: ihn zu kon­trol­lieren. 1

Die Struktur und Funk­tions­weise des BHA ist inspi­riert von einem Elefan­ten­rüs­sel, wie in fol­gen­der Ab­bildung un­schwer zu erken­nen ist. Der Arm wird im Sinne des Rapid Proto­typings im 3D-Drucker gedruckt. Als Material wird Polyamid ver­wen­det, wodurch der gesamte Arm leicht-gewich­tig und durch­gängig ver­form­bar wird: Im Wesent­lichen besteht der BHA also aus Plastik und einer Menge Luft. Bewegt wird der Arm von drei­zehn pneu­ma­ti­schen Ven­tilen, die die drei­zehn Kammern des Robo­ters mit Luft füllen oder ent­leeren. Dies wiederum verbiegt, beugt und streckt die kom­plet­te Struktur.

/images/blog/bha.jpg
Von einem Elefantenrüssel inspiriert

Festo hat mit dem BHA die Vision eines leichten, frei­beweg­lichen Dritte-Hand-Systems, das den Men­schen bei seiner Arbeit unter­stützen kann. Dank seiner struk­tu­rel­len Nach­giebig­keit (Compliance) ist der Arm im Kontakt mit Menschen und seiner Umgebung natur­gemäß sicher, was die Mög­lich­keiten von direkter Zu­sam­men­arbeit von Mensch und Roboter eröffnet. In in­dustriel­lem Kontext kann der BHA in Fertigungs­pro­zes­sen ein­ge­setzt werden, z.B. um mit empfind­lichen Gütern wie z.B. Lebens­mit­teln zu arbeiten.

Als wir uns ent­schlos­sen haben, Festos Bio­nischen Handling-Assisten­ten zu erwer­ben, wussten wir, dass wenige der klas­si­schen und bekannten Ver­fahren mit diesem Roboter funktio­nie­ren würden. Trotz­dem war über­raschend, dass der Roboter ohne jeg­liche Software aus­ge­lie­fert wurde.

Keine Software.

Nichts.

Noch bis vor einem Jahr konnten wir mit dem BHA nicht viel mehr tun, als von Hand die pneu­ma­ti­schen Ven­tile zu öffnen und zu schließen, um damit entweder vol­len Druck oder gar keinen Druck in die Kam­mern zu geben. Auch damit waren die Be­we­gun­gen des Robo­ters absolut fas­zi­nie­rend und wir hatten großen Spaß, aber ernst­hafte An­wen­dungen waren damit natür­lich noch nicht möglich. Wie von Festo zugesagt, bekamen wir dann vor fast genau einem Jahr elektro­nische Ventile, mit denen wir (mehr oder weniger präzise) den Druck in den Kammern auto­ma­tisch vor­geben konnten. Nicht mehr und nicht weniger: den Druck kon­trol­lie­ren.

Um es einmal vorsichtig zu sagen: Der Schritt von dieser Druck­re­ge­lung zu einer ernst­haften An­wendung mit dem BHA ist groß!

Das tat­säch­liche Werkzeug, dass man mit dem BHA kon­trol­lieren will, ist der so­ge­nan­nte Fin Gripper am Ende des Arms. Diesen Greifer zu al­ler­dings genau zu po­si­tio­nie­ren setzt zu­al­ler­erst voraus, die Postur des Arms prä­zise bestimmen zu können. Den Druck in den ein­zel­nen Kam­mern zu kennen, reicht dafür bei weitem nicht aus; dass dies zum Scheitern ver­ur­teilt sein würde, diese Er­fah­rung hatten wir bereits mir anderen Robo­tik­platt­for­men gemacht: Zehn Mal den gleichen Druck auf einen pneu­ma­ti­schen Roboter zu geben, ergibt im Regel­fall zehn ver­schie­dene Posturen des Robo­ters. Reibung, Reibung, Hyste­rese-Effekte und Nicht-Stationaritäten ver­ändern das Ergeb­nis von Mal zu Mal.

/images/blog/bha-marked.jpeg
Die kinematische Struktur des BHA

Um diesen Problemen zu begegnen, besitzt der BHA Längen­sen­soren (Kabel-Poten­tio­meter), um an der Außen­seite des Arms die Streckung der einzel­nen Kam­mern zu messen (siehe obige Abbildung). Natür­lich wollten wir diese Länge nicht nur kennen, sondern auch kontrol­lieren können. Das ist theore­tisch mit klas­si­scher (PID-)Regel­technik möglich, aber funktio­niert auf diese Weise nur sehr schlecht. Um dieses Ver­hal­ten zu verbes­sern, könnte man nun ver­suchen, all das Wissen über den BHA in eine aus­ge­feil­tere Regelungs­technik 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 geo­me­trischen Postur im Ruhe­punkt (im Equi­li­brium)

Jegliche Art von Dynamik (nicht nur der Pneu­ma­tik selbst, sondern auch des sehr viel lang­sa­me­ren Zusam­men­spiels zwischen der Pneu­matik und Geo­me­trie)

 

Welche Länge des Arms bzw. der einzelnen Kam­mern ist über­haupt mög­lich? Wo liegen die Gren­zen?

 

Und nicht zuletzt: Wie genau ist das Zusam­men­spiel der obigen Aspekte zwi­schen den einzel­nen Kam­mern. Denn: Es be­steht ein starker Zusam­men­hang!

 

Alles zusammen eine große Heraus­for­de­rung … aber nicht un­mög­lich. An­ge­nom­men also, die Länge des Aktu­a­tors lässt sich mes­sen und kontrol­lieren. Um nun die End­ef­fektor-Posi­tion (die Posi­tion des Greifers) zu kon­trol­lieren … muss man die aktu­el­le End­ef­fek­tor-Posi­tion kennen!

Die Endeffektor-Position anhand der Geo­metrie des Robo­ters und der Stel­lung der Aktua­toren zu er­rech­nen, nennt sich Vor­wärts-Kine­ma­tik und ist für handels­übliche Robo­ter kein großes Pro­blem, son­dern ein­fache Tri­go­no­metrie. Der BHA gehört allerdings zu einer anderen Klasse von Morpho­lo­gien, genannt Conti­nuum Kine­ma­tics (also in etwa: konti­nu­ier­liche Kine­ma­tik). Dank seiner mecha­ni­schen Flexi­bi­li­tät besitzt dieser Robo­ter­arm unend­lich viele Frei­heits­grade, da jeder Bereich des Robo­ters unter­schied­lich gebo­gen und ge­streckt sein kann. Unend­lich viele Frei­heits­grade kön­nen weder mit Sen­so­ren ge­mes­sen noch berech­net werden.

Als wir unsere Arbeit mit dem BHA be­gon­nen haben, planten wir nicht, die kom­pli­zier­te Kine­ma­tik des BHA zu simu­lie­ren. Da wir uns im Kontext des BHA haupt­säch­lich mit Maschi­nel­lem Ler­nen be­schäfti­gen, wollten wir die End­ef­fek­tor-Posi­tion schlicht messen, um sie be­nut­zen zu können (tun wir auch). Dass wir trotzdem eine Simu­la­tion benö­ti­gen würden, stellte sich heraus, als wir Schwierig­kei­ten in der Vi­suali­sie­rung bekamen. Wir wollten nämlich dar­stel­len, wie die räum­lichen Koor­di­na­ten mit den Be­we­gun­gen des BHA zu­sam­men­hän­gen.

Da Visualisierung Kenntnis der Kinematik voraus­setzt, began­nen wir, sie an­zu­nähern. Selbst wenn sich die Beugung und Streckung von unend­lich vielen Frei­heits­graden nicht berech­nen lässt, so lassen sich doch durch die Längen­senso­ren einige An­nah­men zur Beugung des Arms tref­fen. Die einfach­ste Art der Beugung ist eine kreis­förmige; im drei-dimen­sio­nalen Fall ent­spricht dies einem Torus:

/images/blog/torus-model.jpg
Torus-Modell zur Annäherung der Beugung des BHA

Das Bild zeigt, wie sich ein Segment mit drei Aktua­toren (in der Ab­bil­dung als graue Röhren dar­ge­stellt) 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 kom­plexen Physik des Ver­for­mungs-Pro­blems. Ü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.

 

Kontakt:

 

Dipl.-Inform. Matthias Rolf, CoR-Lab – Bielefeld University, mrolf@cor-lab.uni-bielefeld.de

Prof. Jochen Steil, CoR-Lab – Bielefeld University, jsteil@cor-lab.uni-bielefeld.de

 

Die RoboCup German Open 2012 beginnen

Die RoboCup German Open 2012 starten heute, am 30. März, und lau­fen noch bis zum 1. April im Rah­men der Mes­se Mag­de­burg.

Wett­kämpfe werden aus­ge­tra­gen in den Junior-Ligen des Schülerwettbewerbs und in diesen vier Dis­zi­pli­nen der Major-Ligen:

Die Fuß­ball-Li­ga Standard Plat­form League: Ehe­mals mit den Aibo-Ro­bo­ter­hun­den 1, seit ei­ni­gen Jah­ren nun die Evo­lu­tion mit­ge­macht und von vier Bei­nen auf zwei ge­wech­selt. Dort wird mittle­rwei­le mit der neuen hu­ma­no­iden Stan­dard­platt­form Nao (rechts im Bild) ge­spielt.

Die Fuß­­ball-Li­ga Kid-Size Hu­ma­noid League spielt auch mit hu­ma­no­i­den Ro­bo­tern, al­ler­dings nicht mit ei­ner Stan­dard­platt­form, son­dern mit Ro­bo­tern, die von den Teams selbst ent­wickelt wer­den.

Die Res­cue Ro­bot League, in der Ro­bo­ter in nach­ge­bil­de­ten Ka­ta­stro­phen­sze­na­rio Ret­tungs­mis­sio­nen er­le­di­gen.

Die Ser­­vice­­ro­­bo­­tik-Liga RoboCup@Home, in der Ro­bo­ter all­täg­li­che Haus­halts­auf­ga­ben er­le­di­gen sol­len. Die Schwie­rig­keit in die­ser Liga be­steht da­rin, in den möglichst rea­len und au­then­ti­schen Um­ge­bun­gen zu ar­bei­ten.

Am Sams­tag werde ich, so­fern es die Zeit zu­lässt, selbst auch nach Mag­­de­­burg fah­­ren, um das gan­­ze mal wie­der aus der Nä­he zu ver­­fol­­gen. Zu se­hen, wie sich die Fä­hig­kei­ten der Ro­bo­ter nach mei­nem letz­ten Be­such ver­bes­sert haben und na­tür­lich, um in der Robo­­Cup@Home-Liga das Bie­le­fel­der Team ToBi an­zu­feu­ern.

Quadrokopter spielen James Bond auf realen Instrumenten

Auto­no­me Quadro­kop­ter haben in den letz­ten Wochen und Mo­na­ten im­mer wie­der be­ein­drucken­de Flug­fä­hig­keit de­mon­striert. Eine wohl we­ni­ger wis­sen­schaft­li­che Demon­stra­tion zeigt das fol­gen­de Video, aber nicht we­ni­ger bril­liant.

Die Quadro­kop­ter spielen das James Bond Theme auf realen In­stru­men­ten durch prä­zi­sen Flug.

Quadrokopter! Spielen Musik!

Großartig!

Quadrokopter spielen das James Bond Theme

Die Quadrokopter kommen von der Uni­ver­si­ty of Penn­syl­vania und spie­len Key­board, Drums, Gitar­re und mehr. Mehr dazu auf http://upenn.edu/spotlights (eng­lisch).

Roboter gegen ACTA

Auch Roboter sind gegen ACTA (das zur Zeit verhandelte Anti-Counter­feiting Trade Agree­ment). Den Beweis gab es letzten Sams­tag auf der Anti-ACTA-Demo in Dort­mund:

Roboter auf der Anti-ACTA-Demo in Dort­mund

Vielleicht auch ein Konzept für die Zu­kunft: Der Ro­bo­ter als tech­no­lo­gi­sche Ant­wort auf die heu­ti­gen meist stu­den­ti­schen Miet-Demon­stran­ten.

Gesichtet von RoboNews.

Justins werfen sich Bälle zu

Be­reits Ende letz­ten Jah­res hat die Ro­bo­tik-Ab­tei­lung das DLR 1 ge­zeigt, dass der Hu­ma­no­ide Rollin‘ Justin ihm zu­ge­wor­fe­ne Bäl­le fangen kann. Eine be­ein­drucken­de Fähig­keit, setzt sie nicht nur schnel­le Re­aktion, son­dern auch prä­zise Arm­be­we­gung und schnel­les und prä­zi­ses Zu­grei­fen voraus. Hier kommt natürlich auch die Compliance der Arme zugute, die den Auf­prall des Balles ab­federn kann.

Vorgestern ist nun ein neues Video mit einer ähn­lichen De­mon­stra­tion auf­ge­taucht. Die Demo wird al­ler­dings un­gleich cooler und be­ein­drucken­der, da sich nun zwei Justins gegen­über­stehen und gegen­seitig den Ball zu­wer­fen. Sehr schick:

Justins werfen sich Bälle zu.

Intelligente-Systeme-Spitzencluster „it`s owl“ hat gewonnen

Seit heute steht fest: Der Spitzen­cluster 1 „Intel­li­gen­te Tech­ni­sche Sys­te­me“
aus Ost­west­fa­len-Lip­pe hat den Spit­zen­clus­ter-Wett­be­werb ge­won­nen und damit einen Spit­­zen­­clus­­ter zur Ro­bot­ik und Automatisierung ge­win­nen las­sen.

/images/blog/its_owl.png
Spitzencluster „it`s owl“

Dazu werden über die nächsten Jah­re 40 Mil­lio­nen Euro für 45 Forschungs­pro­jek­te in den Spit­zen­clus­ter flie­ßen, um einen „Inno­va­tions­sprung von der Me­cha­nik zu In­tel­li­gen­ten Tech­ni­schen Sys­te­men“ zu machen.

Die Liste der Partner in dem Spit­zen­clus­ter liest sich durch­aus stattlich und mit der Uni­ver­si­tät Bie­le­feld, dem CoR-Lab und dem CITEC, ist die Robotik stark ver­tre­ten. Die Themen Mensch-Maschine-Inter­aktion und Intel­ligen­te Sen­soren im Projektplan sind dann auch klas­si­sche The­men der Robotik­for­schung.

Ich freu mich! Auf die Projekte, die da kommen werden.

Disclaimer: Ich studiere an der Uni­ver­si­tät Biele­feld und arbeite für das CoR-Lab.

Robotik-Mailingliste

Liebe Robotiker aus NRW.

Aus dem Stammtisch NRW ist eine neue Mailing­liste er­wach­sen, die unter der Adresse robotiknrw@lists.cit-ec.uni-bielefeld.de gehostet wird.

Die Mailing­liste dient zum einen der Organi­sa­tion der Stamm­tisch­tref­fen, die bislang hauptsächlich in Mund-zu-Mund-Propaganda, diesem Blog und durch einzelne E-Mails und soziale Netz­werke statt­fand.

Zum anderen dient die Mailing­liste dem the­ma­ti­schen Aus­tausch: Dis­kus­sio­nen zur Robotik, neuen Pro­jek­ten oder span­nen­den Ver­an­stal­tun­gen in NRW und Umge­bung.

Dies ist eine öf­fent­liche Mailing­liste, anmelden kann sich jeder, es reicht eine leere E-Mail an die Adresse robotiknrw-subscribe@lists.cit-ec.uni-bielefeld.de oder eine An­mel­dung über dieses Web-Interface. Anmelden und weitersagen!

Und nun wünsche ich an­ge­reg­te Dis­kus­sion.

RoboCup 2011: Deutschland hat zwei neue Weltmeister

Deutschland hat zwei neue Weltmeister. B-Human aus Bremen und NimbRo aus Bonn stehen zum Ende der Finals auf dem ersten Platz ihrer Ligen beim RoboCup 2011.

Nao-Roboter beim RoboCup
Nao-Roboter beim RoboCup

B-Human aus Bremen tritt seit 2008 mit den Naos (siehe rechts) in der Standard-Platt­form-Liga an, in der alle Teams mit den glei­chen Ro­bo­tern spielen (le­dig­lich die Soft­ware unter­schei­det sich). Zum drit­ten Mal in Fol­ge konnte B-Human nun den Wett­be­werb ge­win­nen: 2009, 2010 und 2011. Eine wahr­lich be­ein­drucken­de Bi­lanz.

Ähnlich beeindruckende Performance zeigte das Team NimbRo der Uni­ver­si­tät Bonn in der @Home-Liga. Frederic hat­te mir schon im Vor­feld den Sieg von NimbRo in die­sem Jahr an­ge­kün­digt und da­rauf ge­wet­tet. Wer den Ver­lauf der Liga mit­ver­folgt hat weiß, dass der Sieg von NimbRo nicht nur deut­lich sondern auch zu kei­ner Zeit wirk­lich in Ge­fahr war. Den finalen Punkte­stand kenne ich noch nicht, aber bei allen Zwischen­stän­den, die ich gesehen habe, lag das Team deut­lich vor dem jeweils Zweit­platzier­ten.

Glückwunsch also an beide Teams, die zusam­men mit wei­te­ren Sie­ger in den Junior-Klassen und vie­len weite­ren vor­de­ren Plätzen deut­scher Teams Deutsch­lands guten Ruf in der Ro­bo­tik erneut be­stä­ti­gen.

Via [heise].

Deutsche Teams beim RoboCup

Das DFKI (Deutsches Forschungszentrum für küstliche Intelligenz) hat heute eine Pressemitteilung über die just gestarteten Roboter-Weltmeisterschaften veröffentlicht. Darin ist auch eine Auflistung verschiedener deutscher Teams und deren Ambitionen beim diesjährigen Wettbewerb enthalten. Durchaus lesenswert als Übersicht, auch wenn einige der 21 Teams von deutschen Universitäten und Forschungsinstituten in der Auflistung fehlen:

Pressemitteilung: Weltmeisterschaft der Roboter eröffnet

Mindestens drei der deutschen Teams twittern übrigens auch fleißig über den Fortgang der Wettkämpfe und haben dort auch im Vorfeld schon einige Einblicke in die die Vorbereitung gegeben:

@Dribblers – Darmstadt Dribblers

@FUmanoids – Fußballroboter der Freien Universität Berlin

@DarmstadtRescue – Darmstadt Rescue Team

Um generell hinsichtlich des RoboCup 2011 in Echtzeit auf dem Laufenden zu bleiben, empfiehlt sich ebenfalls Twitter. Zum einen der offizielle RoboCup-2011-Twitteraccount und zum anderen eine Suche nach dem
#RoboCup-Hashtag:

@RoboCup_2011 – RoboCup 2011 bei Twitter

#robocup – Echtzeitnachrichten zum RoboCup

Kennt jmd. noch weitere Twitter-Account von deutschen RoboCup-Teams oder andere lohnenswerten Nachrichtenquellen für den RoboCup 2011?