Kleiner Tipp: Bau ein Prototypen-Bein zuerst und dann die andern 5 Stück auf. Daran sieht man dann sehr gut ob mechanisch alles so ist wie gedacht oder ob es noch Änderungen braucht. Die Kosten halten sich dann gering und falls es nicht passt sind nicht 6 Teile falsch sondern nur eines. Hab ich bei meinem Roboter jetzt auch gemacht und prompt einen Designfehler gefunden.
Zur IK Berechnung: Ja, für die Beine ist es noch relativ einfach, da es mittels Winkelfunktionen und "normaler" Mathe funktioniert. Zumindest wenn es um die reine Beschreibung der Bewegung der Fussspitze geht. Die ganze Sache kann man jetzt beliebig komplizierter machen und z.B. Körperkippung mit dazu nehmen. Außerdem hat man mit der IK noch keine Bewegung des Roboters sonder nur, wie sich der Fuss bewegen muss um die gewünschte Körperbewegung auszuführen. Diese wiederum - auch als Bahnplanung bezeichnet - ich dann der nächste Schritt. Die einfachste Bahnplanung wäre z.B.: Lauf gerade aus (alle Fussspitzen bewegen sich auf eine Linie) bis zu einer Wand (Sensoren), dann dreh dich um 180° (alle Fussspitzen bewegen sich auf einer Kreisbahn) und lauf zurück. Diese Lauf-Bahn ist relativ einfach, da alle Servos immer die gleiche Bewegung machen. Kompliziert wird es wenn man z.B. vorgibt: "Lauf gerade aus und dreh dich dabei! um 180°" und noch komplizierter: "lauf eine Parabelbahn, dreh dich dabei um 180° und gleich den Körper aus, so dass er auf einer schiefen Ebene (45°) immernoch gerade ist" jetzt muss jedes Bein individuell behandelt werden und wenn die richtige Mathematik zugrunde liegt, dann ist es auch nicht kompliziert. Nur wird man dann um DH-Matrizen für die Beine nicht herum kommen. Lustig wird es auch wenn man sich überlegt: Langsam = 1 Bein vom Boden heben, schnell = 3 Beine vom Boden heben, je nach Geschwindigkeit wird der Laufalgorithmus dynamisch angepasst (darüber hat ein Kollege von mir Diplomarbeit geschrieben).
Ich hoffe damit deine Frage beantwortet zu haben ansonsten lass uns nochmal darüber reden.
Die Berechnung sollte optimalerweise im gleichen Takt wie die Servosteuerung laufen. Die Servos bekommen immer 20ms Signale also 50Hz und in der Geschwindigkeit müssen alle Bein, bzw. Servo-Positionen berechnet werden. Bei 18 Servos keine ganz triviale Aufgabe mehr, deswegen hat McPommER auch für jedes Bein einen eigenen Controller (wenn ich mich richtig erinnere) und ein entsprechendes Bussystem implementiert.
Lesezeichen