Neues Boston Dynamics Video aufgetaucht

Wie schon in der Vergangenheit schafft es Boston Dynamics mit jedem neuen Video das Publikum erneut zu beeindrucken. Diesmal gibt es zu einem Gespräch mit Marc Raibert mehrere Einblendungen von bisher nicht gezeigten Aufnahmen des Spot Mini Roboters. Beindruckend ist vor allem seine Fähigkeit, auf äußere Störungen angemessen zu reagieren. Was jedoch in dem Video erneut ein Tabu bleibt ist die Frage wie der Roboter intern funktioniert.

Leider gibt es dazu auch sonst im Internet keine Angaben aber man kann aus den bekannten Informationen und den frei dokumentierten Robotik-Projekten ungefähr ableiten, was das Geheimnis hinter Boston Dynamics ist. Bekannt ist, dass der Onboard-Computer der eingesetzt wird, relativ langsam ist. Es handelt sich um eine COTS CPU, vermutlich ein Stromspar Intel Prozessor oder ein Atom wie auch in Consumer-Notebooks eingesetzt wird. Da die Auswahl an Betriebssystemen für solche Computer überschaubar ist, bleibt eigentlich nur Windows Embedded, ein Linux oder ein VX Works übrig, welche vergleichbar sind in ihrer Leistungsfähigkeit. Die wirklich spannende Frage ist jedoch, wie der Roboter programmiert wurde. Hierzu gibt es keinerlei Informationen, zwar gibt es von Marc Raibert umfangreiche wissenschaftliche Veröffentlichungen, aber diese behandeln so gut wie jedes Gebiet innerhalb der Robotik. Meine persönliche Vermutung lautet, dass der Roboter ähnlich programmiert wurde, wie ein Avatar in einem Computerspiel. Es gibt hier ein wichtiges Paper http://liris.cnrs.fr/Documents/Liris-5511.pdf (Ahmad Abdul Karim: Procedural Locomotion of Multi-Legged Characters in Dynamic Environments) was das Prinzip erläutert. Darin wird ein Motion Controller beschrieben welcher sowohl 4-beinige Spinnen als auch 6-beinige Spinnen kontrollieren kann und der aus verschiedenen Submodulen wie Pathplanning, Footplanning, Obstacle Avoidance besteht. Programmtechnisch wurde dieser Controller in C++ realisiert und zwar in sehr vielen Lines of Code. Vermutlich wird auf dem Boston Dynamics Roboter eine ähnliche Software laufen. Ich würde mal schätzen, dass sie aus C++ Code im Umfang von wenigsten 2 MB besteht welcher nichts anderes macht, als Steuersignale in Fußbewegungen umzusetzen.

Der Vorteil von dieser Programmiermethode ist, dass sie unglaublich schnell ist. Anders als bei Computerschach müssen keine Solver bemüht werden, sondern ein langsamer Prozessor kann in Echtzeit ermitteln wohin die Füße müssen. Der Nachteil ist, dass das Debugging des Codes sowie die Erweiterung um neue Features extrem aufwendig ist. Dagegen ist Linux-Kernel-Programmierung die reinste Erholung.

Ob diese Vermutung zutrifft ist unklar. Aber fakt ist, dass zumindest in der Gaming-Branche zur Animation von Charakteren diesen Verfahren in den letzten Jahren an Bedeutung gewonnen hat. In diesem Zusammenhang sind größere Projekte zu nennen wie die Euphoria Engine, oder Smartbody welche eine Art von Framework bilden für komplexes Motion Planning. Gut möglich dass Boston Dynamics dieses Konzept auf die Robotik adaptiert hat und zuerst durch die Sensorik eine Scene Reconstruction der Umgebung durchführt um darin dann wie in einem Computerspielen ihren Avatar laufen zu lassen. Dass andere Verfahren wie neuronale Netze, selbstlernende Algorithmen oder genetische Algorithmen eingesetzt wurden, halte ich für unwanrscheinlich. Auch im Bereich Computerspiele ist die Performance derartiger Konzepte nicht hoch genug. Stattdessen muss man davon ausgehen, dass überall dort wo komplexes Verhalten gezeigt wurde, dahinter sehr viel manuell erstellter C++ Programmcode steckt.

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s