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.
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.
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.
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.
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.
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.