Hexapode - Laufkoordination PDF Drucken E-Mail
Geschrieben von: Malte   
Sonntag, den 09. Mai 2010 um 00:08 Uhr

Grundsätzliches | Nachdem die inverse Kinematik bewältigt ist, sind Bewegungsabläufe nun einfach zu realisieren. Die Fortbewegung des Haxapoden resultiert natürlich daraus, dass er seinen Köper mit Hilfe seiner Beine gegenüber dem Boden verschiebt. Im Prinzip haben wir es  dabei also mit zwei verschiedenen Koordinatensystemen zu tun, die gegeneinander verschoben werden sollen: zum einen das körpereigene Koordinatensystem des Hexapoden, zum anderen das Weltkoordinatensystem. Diese beiden Systeme werden gewissermaßen durch die Füße des Hexapoden miteinander verbunden. Verschiebt man die Lage der Körpermitte des Hexapoden relativ zu den Bodenberührungspunkten, bedeutet dieses natürlich, dass sich der Körper relativ zum Boden verschiebt. Man kann die Laufkoordination also im Körperkoordinatensystem des Hexapoden betrachten, so wie sich die bodenberührenden Füße zur Körpermitte verschieben, so hat sich der Hexapode zum Boden verschoben.

 

3-und-3-Muster | Bei einem Hexapoden bietet es sich natürlich an, zu jedem Zeitpunkt drei Füße am Boden zu halten, und zwar so, dass die Berührungspunkte miteinander (mehr oder weniger) ein gleichseitiges Dreieck bilden. Das sorgt jederzeit für eine stabile Lage. Man bezeichnet einen solchen Modus deshalb als  "statisches Laufen". Die nebenstehende kleine Animation faßt ein einfaches Bewegungsprogramm für den Geradeauslauf zusammen (das GIF läuft im Internet Explorer zu langsam, Firefox benutzen...). Das graue Kreuz sin der oberen zweidimensionalen Animation symbolisiert die Körpermitte des Hexapoden, die kleinen Kreise stellen seine Füße dar. Sind sie grün, soll dies bedeuten, dass die korrespondierenden Füße den Boden berühren, sind sie rot, berühren diese den Boden nicht. Die drei Beine, die jeweils am Boden sind (grün), sorgen für den Vorschub des Hexapoden beim Laufen. Wie eben ausgeführt, werden ihre Fußpunkte dazu eine defineirte Strecke parallel zueinander gegen die Körpermitte verschoben. Dabei werden die Beine, die den Boden währenddessen nicht berühren (rot) in entgegengesetzter Richtung bewegt, um für ihre anschließende Vorschubphase in Position zu sein. Nachdem ein Beintriplett seine Vorschubphase abgeschlossen hat, wechselt es in die Rückholphase (Farbwechsel grün nach rot), und umgekehrt (Farbwechsel rot nach grün). Während also die Vorschubphase eines Beintripletts abläuft, findet gleichzeitig die Rückholphase des jeweils anderen Beintripletts statt. Dieser Zyklus wiederholt sich, solange ein Geradeauslauf stattfinden soll. Die grauen Verbindungslinien zwischen den Fußpunkten deuten an, dass sich die relativen Positionen der Fußpunkte zueinander innerhalb eines Beintripletts nicht ändern und somit immer ein "stabiles" Dreieck bilden. Die dreidimensionale Darstellung gibt einen realistischeren Eindruck von dem Ablauf. Ich habe dabei die mechanischen Verhaltnisse meines Hexapoden relativ genau modelliert, das gezeigt Laufprogramm entspricht also einer real möglichen und auch so umgesetzen Bewegung (siehe Video unten). Betrachtet man das Gesagte nun aus einer algorithmischen Perspektive, werden die Dinge erstaunlich simpel: Man benötigt offensichtlich nur zwei parallele Zähler, deren einer in geeigneten Schritten und Grenzen hochzählt, während der andere in den gleichen Schritten und Grenzen runterzählt. Diese beiden Zähler ergeben die Veränderung der y-Beinkoordinate (in obiger Darstellung), einer für die Vorschubphase, der andere für die Rückholphase. Die x-Koordinaten der einzelnen Fußpunkte bleiben unverändert. Die z-Koordinate wechselt (im einfachsten Fall) zwischen den zwei Zuständen z1 (Boden berühren) und z2 (Boden nicht berühren). Der Übergang von z1 nach z2 findet jeweils am Ende einer Vorschubphase statt, der Übergang von z2 nach z1 am Ende einer Rückholphase.

 

Erste reale Laufversuche

Wie im vorigen Abschnitt dargestellt, ist ein erstes simples Laufprogramm recht einfach zu realisieren. Das folgende kleine Video zeigt die ersten Schritte meines Hexapoden, bestehend aus einigen einfachen Verrenkungen im Stand, Geradeauslauf und Drehung auf der Stelle, die letzen beide Abläufe in einer Endlosschleife. Der Geradeauslauf entspricht in der Tat exakt der oben gezeigten Animation. Das Programm wird open-loop abgearbeitet, es gibt also keine Reaktionen auf Softwareebene auf irgendwelche äußeren Einflüsse. Die Übergänge zwischen dem Laufen und der Rotation sind noch etwas ungelenk, weil die entsprechenden Programm nicht optimal aufeinander abgestimmt sind, zwischen den Start- und Endpositionen wird einfach linear interpoliert. Da noch keine endgültige zentrale Steuereinheit entwickelt wurde, ist diese zunächst noch improvisiert. Sie besteht vorerst aus einem AVR Mega32 der über I2C mit den Beincontrollern in Verbindung steht. Auf diesem zentralen AVR wurden der besagte Bewegungsablauf implementiert. Auch die Stromversorgung ist noch nicht im geplanten Endzustand, sie erfolgte für das Video kabelgebunden über ein ATX-Netzteil.

inverse Kinematik
AddThis Social Bookmark Button
Zuletzt aktualisiert am Freitag, den 02. September 2011 um 23:05 Uhr
 

Kommentar schreiben

Sicherheitscode
Aktualisieren

 

Suche

Benutzer

Wir haben 100 Gäste online

unterstützt von

batronix logo

spacer

rotacaster logo

spacer

spacer

spacer

Meine Tweets

Extern

youtube logo twitter logo email logo

spacer

spacer

spacer

Reklame