Zitat von
MeckPommER
...Schrittsteuerung wie folgt geregelt:
... inverser Kinematik kombiniert...mittlerweile so optimiert, das ein Atmega128 alle 18 Servos....
...vergleicht der Bot 50 Mal pro Sekunde die Endposition der Beine mit einer optimalen Standposition des Bots in Ruhelage und berechnet, wie weit die einzelnen Beine von dieser optimalen Position entfernt sind. Nach entfernungsbezogener Sortierung ergibt sich eine Prioritätsliste, welche Beine am vordringlichsten Bewegt werden müßten und welche Beine keines Schrittes bedürfen.
Nun wird diese Liste abgearbeitet, vorbei zwei Faktoren ausschlaggebend sind:
Schrittmodi: es kann frei gewählt und sogar während des Laufens umgestellt werden, wieviele Beine gleichzeitig einen Schritt machen dürfen. Die erlaubte Anzahl geht von 1 bis 3. Dadurch, das der Controller die Schritte selber auslöst, ist er auch stets über die Anzahl der Beine informiert, die grade einen Schritt machen.
Ist die Anzahl der schreitenden Beine gleich der Anzahl der Beine, die gleichzeitig einen Schritt machen dürfen, so braucht die Liste nicht weiter angearbeitet zu werden, denn es dürfen sowieso keine Schritte mehr gemacht werden.
Das zweite wichtige Faktum ist die Tot-Liste - eine Liste, in der vermerkt ist, welche Beinkombinationen grundsätzlich verboten sind. So ist es z.B. nicht gestattet, das die beiden vorderen Beine gleichzeitig in der Luft sind. Ebenso ist es nicht gestattet, das z.B. das Bein vorne Links und das Bein mittig links gleichzeitig einen Schritt machen, u.s.w.
Ist das Bein, welches nun bewegt werden müßte dadurch blockiert, das seine Beinnummer zusammen mit der Beinnummer eines schreitenden Beins in dieser Totliste steht, so wird dieses Bein nicht bewegt und das Bein mit der nächstniedrigeren Priorität wird "begutachtet".
Es ist sehr interessant zu sehen, wie gut diese Methode funktioniert. Geht der Bot enge Kurven, so verharren die dem Drehmittelpunkt nahen Beine fast Schrittlos, während sich die äußeren Beine öfter Bewegen. Ebenso führt diese Methode bei 3 gleichzeitig gestatteten Schritten zur bekannten 3/3 Geh-Mehode, ohne das diese explizit vorgegeben ist.
Ein weiterer netter Nebeneffekt dieser Methode ist, das der Bot, wenn er anhält, alle Beine der Reihe nach in die Standposition bringt. Er verharrt also nicht mitten im Schritt oder in einer ungünstigen Standposition, von der aus er vielleicht schlecht in eine andere Richtung gehen kann.
Ich hoffe...
Gruß MeckPommER
P.S.: ...
P.P.S.: ausversehen hatte ich auch mal 4 gleichzeitig bewegte Beine erlaubt. Der Bot bewegte trotzdem stets nur maximal 3 Beine, da eine Bewegung des 4. Beines automatisch durch die Tot-Liste abgefangen wurde.
Lesezeichen