Zum Inhalt
Fakultät für Elektrotechnik und Informationstechnik

Laufen

Vierbeiniges Laufen

Auf vier Beinen ist die Stabilität der Fortbewegung meist nicht der limitierende Faktor, aber durch unregelmäßige Form der Beine und stark variierende Reibungskoeffizienten, Motorbeschränkungen und Schwierigkeiten bei der Modellierung des Bodenkontaktes stellt die Wahl der geeigneter Beintrajektorien ein komplexes Optimierungsproblem dar.

Sehr gute Ergebnisse können hier mit Maschinellem Lernen mittels Evolutionärer Algorithmen erzielt werden. Mit diesen wird dem AIBO ein omnidirektionaler Lauf mit Spitzengeschwindigkeiten von 50cm/s ermöglicht.

Lauftrajektorien des AIBO Roboters © Robotics Team​/​TU Dortmund
Lauftrajektorien des AIBO Roboters

Zweibeiniges Laufen

Auf zwei Beinen zu laufen, ist für Roboter schon auf flachem Untergrund nicht leicht. Servo-Motoren sind bei Weitem nicht so stark, schnell und genau wie Muskeln. Es stehen viel weniger Sensorinformationen zur Verfügung als bei Menschen. Und sobald der Untergrund nicht mehr nur flach und hart ist, sondern eventuell Unebenheiten enthält oder gar nachgiebig ist, gerät der Roboter sehr leicht aus dem Tritt.

Die  Herausforderung ist nun, einen sowohl schnellen als auch stabilen Lauf zu entwickeln, mit dem man flüssig die Bewegungsrichtung ändern kann, und der dynamisch die Sensorinformationen berücksichtigt, um Bodenunebenheiten und externe Störungen wie Stöße auszugleichen.

Um diese Ziele zu erreichen, werden verschiedene Ansätze genauer erforscht.

Statische Trajektorien

Dies ist der anschaulichste Ansatz zur Entwicklung von Laufbewegungen und wurde ursprünglich für den weiter unten abgebildeten Roboter "Kondo KHR1" umgesetzt, und später auch auf dem am IRF entwickelten "Bender" erfolgreich eingesetzt. Er kann dabei nicht nur für zweibeinige Roboter, sondern für beliebig viele Beine genutzt werden. Die Idee ist, mit den Füßen festgelegte Bahnen (Trajektorien) periodisch abzufahren, sodass bei einer geeigneten Wahl von Parametern ein stabiler Lauf erreicht werden kann. Infrage kommen dabei die Laufgeschwindigkeit, die Dauer des Schrittes, der Abstand der Füße voneinander usw.

Das folgende Bild zeigt eine mögliche Trajektorie für das linke Bein.

 

Beintrajektorie des Roboters Bender © Matthias Hebbel​/​TU Dortmund
Beintrajektorie des Roboters Bender
Roboter KHR1 © Matthias Hebbel​/​TU Dortmund
Der Kondo Roboter KHR1 im Auslieferungszustand
Roboter Bender © Matthias Hebbel​/​TU Dortmund
Roboter Bender

Auch wenn dies eines der simpelsten Verfahren ist, hat es Vorteile, die ihm zu einer häufigen Verwendung z.B. beim RoboCup verhelfen. Neben sehr leichten Anpassungsmöglichkeiten und fehlender Abhängigkeit von Sensorkalibrierungen ist dies die Möglichkeit, durch den Lauf durch Methoden des Maschinellen Lernens auf Höchstgeschwindigkeit zu optimieren. Durch diese Optimierung finden in den Parametern implizit auch bereits Probleme der Mechanik des Roboters und des Untergrunds Beachtung.

Statische Schwerpunkt-Trajektorien

Ein weiterer Ansatz mit statischen Trajektorien, der derzeit erforscht wird, gibt nicht die Bahn der Füße vor, sondern die Bahn des Roboterschwerpunktes. Dabei wird als ein Stabilitätskriterium für zweibeiniges Laufen der Zero Moment Point (ZMP) benutzt. Dies ist der Punkt am Boden, bei dem die Kippmomente des Roboters gegen Null gehen. Liegt der Punkt innerhalb der Standfläche des Roboters, also z.B. innerhalb der Fläche der Füße, so ist der Roboter stabil. Durch eine geeignete Wahl des Schwerpunktverlaufs kann der Verlauf des ZMPs so gewählt werden, dass er sich immer innerhalb der Standfläche befindet. Hierbei ist der Verlauf des Schwerpunktes grundsätzlich nur durch den ZMP eingeschränkt, sodass sich auch natürlichere, menschliche Laufbewegungen ergeben können, bei der der Schwerpunkt auch nicht auf der gleichen Schwerpunkthöhe verbleibt.

Dynamischer Ansatz

Die bisherigen Ansätze erlauben nur schwer den Einsatz von Sensoren zur Stabilisierung des Laufs, da die gewählten Parameter für die gegebenen Bedingungen optimiert sind, und Änderungen schwer kalkulierbare Folgen haben. Für den Einsatz von Sensoren wird daher derzeit ein neuer Ansatz verfolgt, der mithilfe eines Regelkreises versucht, den Schwerpunkt des Roboters so zu bewegen, dass der gemessene ZMP dem Soll-ZMP folgt, wobei der Soll-ZMP so gewählt wird, dass er sich immer innerhalb der geplanten Fußpositionen befindet.

Trajektorienplanung per ZMP-Regler © Oliver Urbann​/​TU Dortmund
Trajektorienplanung per ZMP-Regler
Soll ZMP-Verlauf © Oliver Urbann​/​TU Dortmund
Die Abbildung zeigt den vorgegebenen Verlauf des Soll-ZMPs (Yzmp), und den daraus resultierenden Verlauf des Schwerpunktes (Ry).

Den ZMP zu messen stellt eine bereits an sich schwierige Aufgabe dar, da verschiedene Sensoren Vor- und Nachteile mit sich bringen. In diesem Ansatz wird die üblichste Form der Messung mittels Fußdrucksensoren verwendet, wobei sich der ZMP dann, vereinfacht dargestellt, als Mittel des gemessenen Drucks der Sensoren berechnen lässt.

Ursprünglich entwickelt wurde dieser Ansatz auf dem "Bender" und wird derzeit auf dem "Nao" von Aldebaran Robotics getestet, welcher der Roboter für die Standart-Platform-Liga des Robocups ist.

Zwei NAOS auf dem RoboCup 2009 © Florian Wilhelmshöfer​/​TU Dortmund
Zwei NAOS auf dem RoboCup 2009
Dynamischer Ansatz mittels Preview-Controllers

Ein weiterer Ansatz für dynamisches Laufen ist der Einsatz eines sog. Preview-Controllers. Aus dem vorgegeben Verlauf des ZMPs ist mittels des Preview-Controllers ein optimaler Schwerpunktverlauf berechenbar, der zu dem gewünschten ZMP führt. Der Unterschied in diesem Ansatz ist der Einsatz der Sensoren. Hier wird derzeit der Beschleunigungssensor verwendet, um den ZMP zu messen. Dieser wird dann in einen "Beobachter" geleitet, der daraus den momentanen Zustand des Roboters schätzt (Position, sowie Geschwindigkeit und Beschleunigung des Schwerpunktes). Dieser Zustand wird dann vom Preview-Controller verwendet, um den weiteren Schwerpunktverlauf entsprechend zu planen.

Observer und Controller für ZMP-Verlauf © Oliver Urbann​/​TU Dortmund
Observer und Controller für ZMP-Verlauf

Ein weiterer Unterschied ist der Einsatz einer Vorschau der ZMP-Planung. Durch die Verwendung von einer Vorschau von ca. 0.8 Sekunden ist es möglich, den ZMP nahezu beliebig vorzugeben (innerhalb der mechanischen Möglichkeiten des Roboters), und damit die Fußpositionen auf dem Boden frei zu planen. Daraus resultiert eine vollständig omnidirektionale Walking-Engine (beliebige Kombinationen von Geschwindigkeit in x, y Richtung und Drehung).

Die Stabilität konnte in Simulationen beim "Bioloid" und "Nao" anhand verschiedener Tests gezeigt werden. In der Realität bewährte sich das Verfahren bereits auf dem "Bender" in Tests und dem "Nao" während der letzten Robocup-Weltmeisterschaft, aber auch in Tests wie dem Lauf auf unebenem/instabilem Boden.

Laufexperiment mit NAO auf Wippe © Oliver Urbann​/​TU Dortmund
Laufexperiment mit NAO auf Wippe