EO (Lat.: "Ich gehe") - zweibeiniger humanoider Laufroboter (27.06.2005)

Ein Bericht von:
Dipl. Ing. Jose de Gea
Arbeitsgruppe Robotik
Universität Bremen

EO (Lat.: Ich gehe) ist ein zweibeiniger humanoider Roboter, dessen Fortbewegung und Lernverfahren der Natur nachempfunden sind. Nachdem ein biologisch-inspirierter Laufansatz bereits erfolgreich in unserem 8-beinigen Roboter 'SCORPION' implementiert wurde, wollen wir nun untersuchen wie weit es möglich und sinnvoll ist, diesen Ansatz auch auf einer humanoiden Plattform zu verwenden und welche neuen Konzepte hierbei angewendet werden können. Besonders die Lernfähigkeiten dieses Roboters sollen sich stark an biologischen Vorbildern orientieren.

Unser Ziel bei diesem Humanoiden Roboter ist es, dynamisches Laufen zu erreichen, indem wir zunächst bewährte biologisch-inspirierte Konzepte anwenden, welche sich bereits beim 'SCORPION' bewehrt und hervorragende Resultate geliefert haben. Bei Wirbeltieren werden Low-Level Fortbewegungsmuster wie z.B. Laufen, Kriechen, Schwimmen o.ä. von sogenannten Zentralen Mustergeneratoren (Central Pattern Generators/CPGs) kontrolliert, welche sich zumeist in der Wirbelsäule befinden. Diese Gruppen von Neuronen sind in der Lage eine rhythmische Bewegung zu erzeugen, ohne dass das höhere Bewusstsein eingreifen muss oder sensorisches Feedback notwendig ist. Besonders bei höheren Wirbeltieren wird hierdurch der Stand und die Haltung kontrolliert. Dieser Zentrale Mustergenerator Ansatz wurde in Form von rhythmischen Bewegungsverhaltensweisen (Rhythmik Motion Behaviours/RMBs) erfolgreich im 'SCORPION' implementiert. Diese beschreiben die Trajektorien für jedes einzelne Gelenk und wurden mit einem Reflex System zur Stabilisierung kombiniert, welches auf externe Störungen reagieren kann und somit robustes Laufen in unterschiedlichsten Umgebungen erlaubt. Im Gegensatz zu Standard Kinematik Modellen (aufgrund der hohen Anzahl von Freiheitsgraden und der unvorhersehbaren Umgebung ungeeignet für autonome Laufmaschinen!) wie sie z. B. bei Industrierobotern angewendet werden, hat sich diese Lösung aufgrund ihrer einfachen Implementierung als sehr geeignet für autonome mobile Robotersysteme herausgestellt.

Beim Vorgang zum Erlernen bestimmter Fähigkeiten (Verhaltensweisen), um mit der Umgebung interagieren zu können, orientieren wir uns ebenfalls sehr stark an biologischen Vorbildern. Wir unterscheiden zwischen einer 'Wach' und einer 'Schlaf' Phase für den Roboter und untersuchen hierbei aktuelle Hypothesen über die Funktion menschlichen Schlafes. Die 'Schlaf' Phase wollen wir benutzen, um zuvor gesammelte Informationen zu verarbeiten, neu zu organisieren oder zu verwerfen. In diesem Zusammenhang untersuchen wir ebenfalls die Möglichkeiten neuer Hardware Implementierungen z.B. einer 'on-the-fly' Neukonfigurierung des für die Verhaltensweisen verantwortliche Gerätes. Ein FPGA, eine digital programmierbare Logik-Hardware wird dies ermöglichen. Dieser Vorgang soll autonom ablaufen und könnte z.B. während der Akkuladephase stattfinden. Wir beabsichtigen ebenfalls die Anwendung eines DynaQ Lern-Algorithmus, um Echtzeit akquirierte Daten unter Anwendung von Simulationen eines internen Modells zu neuen Verhaltensweisen verarbeiten zu können. Diese Simulationen zur Laufzeit sollen den eigentlichen Lernprozess beschleunigen und somit Schäden am Roboter möglichst minimieren.

'EO' ist ein mittelgroßer Roboter mit einer derzeitigen Höhe von insgesamt 77 cm. Momentan verfügt er über 20 Freiheitsgrade: vier für jeden Arm, vier für jedes Bein, zwei für den Kopf und zwei für die Hüfte. Die Aktuatoren sind DC Motoren mit entsprechenden Getrieben, um die benötigten Drehmomente erzeugen zu können. Der Korpus beinhaltet die Hauptelektronik, ein sogenanntes 'Bremen Board', welches sich aus drei einzelnen Boards zusammensetzt: einem Microcontroler Board, einem FPGA Board und einem Carrier Board.

Desweiteren sind über den ganzen Körper fünf Motor Boards verteilt. Diese Boards sind in der Lage jeweils bis zu vier DC Motoren bis hoch zu 5 Ampere zu treiben. Außerdem können sie Informationen (Position, Stromaufnahme, Encoder-Werte) der Motoren auslesen oder auch Druck, Kraft oder Drehmomente über angeschlossene Sensoren messen. Der Microcontroler unterstützt hierbei bis zu acht dieser Motor/Sensor Boards, womit es uns möglich ist bis zu 32 DC Motoren gleichzeitig zu betreiben. Um die nötige Verkabelung zwischen dem 'Bremen Board' und den einzelnen Motor Boards zu minimieren, verwenden wir einen 'Low Voltage Differential Signaling' (LVDS) Bus.Was die Sensorausstattung 'EO's betrifft, so wird 'EO' zunächst seine Umgebung mit Ultraschall und Infrarot Sensoren wahrnehmen. Eine im Kopf platzierte Kamera und andere Sensorik (z.B. zur Messung externer Kräfte) wird bereits in der nahen Zukunft folgen. Orientierung wird durch einen externen Kompass möglich sein. Zusätzlich kann mit Hilfe der eingebauten Beschleunigungsmesser die lineare Geschwindigkeit gemessen werden. Zwei weitere Gyroskope erlauben desweiteren die Messung der Winkelgeschwindigkeiten in zwei Achsen, wodurch die Auslenkung des Körpers bestimmt werden kann. In jeden Motor sind desweiteren noch Potentiometer eingebaut, um die jeweiligen Gelenkwinkel bestimmen zu können.

Die Portierung und Adaptierung der bereits im 'SCORPION' verwendeten Konzepte sollen 'EO' ebenfalls mit schnellen Reaktionen ausstatten, um auf äußere Einwirkungen und Störungen reagieren zu können und somit ständig die Balance halten zu können. Unser Software Ansatz hat hierbei zwei Hauptaspekte: zum einen einen schnellen Schaltkreis zur Kontrolle der Motoren ohne Benutzung des Hauptmicrocontrolers. Dies wird die Funktion des FPGA sein. Zum anderen ist es notwendig alle Signale der angeschlossenen Sensoren zu verarbeiten, auf die nicht direkt reagiert werden muss, die aber benötigt werden, um ein internes 'Modell' der Umgebung zu erstellen, in welcher der Roboter agiert. Diese Funktion wird vom MPC565 und dem Carrier Board bereitgestellt werden.

'EO' wird die erwähnten Prinzipien benutzen, um seine Bewegungsmuster zu generieren: die Low-Level Implementierung auf dem FPGA wird die Verzögerung zwischen Messen, Signalgenerierung und Reaktion von äußeren Störungen erheblich beschleunigen während die höhere Kontroll Ebene (MPC565 Design) sich um die Kontrolle des Stands, der Haltung und der Balance kümmert und die entsprechenden Kontrollsignale aussendet. Die gewünschte Bewegung wird dann erreicht, indem ein einzelner CPG (oder mehrere kombinierte CPGs) mit bestimmten Parametern aktiviert werden und somit ein Bewegungsverhalten erzeugen. Dieses Bewegungsmuster kann dann schließlich als Pulse Width Modulated (PWM) Signal an die einzelnen Motoren gesendet werden. Hierbei übernimmt der Microcontroler eine Art 'Gehirn' Funktion und das FPGA die Funktion der Wirbelsäule, welche selbständig rhythmische Bewegungsmuster generieren kann und von Befehlen des 'Gehirns' gesteuert wird.

Unsere Zukunftspläne für die Implementierung eines Lernvorgangs für bestimmte Aufgaben ist inspiriert durch die Funktion des Schlafes und des Träumens bei Tieren und Menschen. Wir beabsichtigen, diese Konzepte zu benutzen um zu lernen und neue Verhaltensweisen anzupassen. Dies wird in starkem Zusammenhang mit den Möglichkeiten der Neukonfigurierung der Hardware stehen. Beim Lernvorgang zum Greifen eines Objektes, hinsetzen auf einem Stuhl oder Greifen eines Türgriffs wird der Roboter zunächst versuchen diese Objekte zu manipulieren und ein korrektes Verhalten zu bestimmen ('Wach' Phase). Nach dieser Interaktion und einem Bewertungsprozesses wird sich 'EO' später (spätestens beim Aufladen der Batterien) in eine 'Schlaf' Phase begeben, in der er die gesammelten Informationen auf höherer Ebene ('Gehirn'/MPC565) verarbeitet, während der Körper 'ruht', d.h. inaktiv ist. Nach der Verarbeitung der Informationen wird das 'Gehirn' ein korrektes neues Verhalten bestimmt haben und die Inhalte des FPGA (teilweise) anpassen/verändern und somit bestehende Verhaltensweisen optimieren aber auch neue kreieren.

Wir haben gerade erst begonnen die biologischen Hintergründe und Theorien hinter den Schlaf- und Traumfunktionen zu untersuchen, weshalb es gut möglich wäre, dass sich im Laufe des Projektes noch weitere Möglichkeiten zeigen, Resultate aus der Neurobiologie in neue Ansätze und somit Fähigkeiten für 'EO' umzusetzen.