Du hast also schon herausgefunden, wie die IK berechnet wird? Gut.
Nun wäre der nächste Schritt, wie die Beinbewegung aussehen muss. Dazu brauchst du irgendeine Funktion im Raum, die die Bewegung der Fußspitze beschreibt. Im einfachsten Fall wäre das ein Rechteck, also Fuß hoch, Fuß nach vorne, Fuß runter, Fuß nach hinten. Diese vier Strecken müsstest du in gleich große Abschnitte einteilen (meinetwegen 5mm oder sowas). Der Ablauf wäre dann so, dass immer die folgende Koordinate verwendet werden würde.
Ein einfaches Beispiel:
Der Fuß soll 2cm angehoben, 3cm nach vorne bewegt, wieder 2cm nach unten und 3cm nach hinten bewegt werden, in 5mm Inkrementen. Die Folge der Positionen wäre also irgendwie sowas:
x y z
0 0 0
0 0 5
0 0 10
0 0 15
0 0 20
5 0 20
10 0 20
15 0 20
usw.
Dazu müsste noch ein Versatz gerechnet werden, da du ja vermutlich deinen Koordinatenursprung in der ersten Achse liegen haben wirst.
Nun müsste der Controller irgendwie diese Bewegung als Funktion implementiert haben. Nun wird immer nach einer konstanten Zeit die neue Koordinate berechnet und über deine IK die zugehörigen Winkel. Diese Winkel werden dann in das benötigte Servosignal umgerechnet und das Bein sollte dann die gewünschte Bewegung ausführen. Für die anderen Beine könnte man das ähnlich aufbauen.
Die Streckeninkremente in Kombination mit der Zeit, die dazwischen verstreichen soll, bestimmen die Geschwindigkeit. Am besten ist, wenn der Servo jeden PWM-Takt ein neues Signal bekommt, damit die Bewegung möglichst flüssig wird.
Dieser Algorithmus ist aber auch noch sehr einfach gehalten und ich bin mir sicher, dass es noch bessere Methoden gibt, damit die Bewegung nicht so hakelig wird.
Was mich aber noch interessieren würde: wie hast du vor, dass der Bot nicht immer hin und her kippt? Für eine Stabile Position braucht es immer mindestens 3 Punkte. Der Bot müsste also immer ein Bein nach dem anderen setzen.
Lesezeichen