Hallo,
ich habe es nun auch geschafft, inverse Kinematik einzubauen:
http://youtu.be/sZRRAya2TSg
Ich habe nun das Chassis aus Kunststoff gegen eines aus Aluminium ersetzt. Nun bin ich mit dem Aufbau zufrieden. Hardware ist die gleiche: "Gehirn" ist ein Rasperry Pi, gesteuert wird der Bot mit einem XBOX Controller. Für die Ansteuerung der Servos nehme ich ein I2C 32 Channel PWM Servo Board.
Ausserdem habe ich noch eine Ultraschall-Entfernungmessung implimentiert. Den Tetrapod-Gang beherrscht der Hexapod auch schon (sh. Video).Durch die US-Messung ergeben sich kurze Pausen zwischen den Bewegungen.
http://youtu.be/2TXm8v5fBYs
Als nächstes werde ich mich mit inverser Kinematik auseinandersetzen - gibt es hierzu schon Erfahrungen beim Programmieren mit Python? Wäre nett, wenn ich das Rad nicht neu erfinden müsste...
Hallo,
ich habe es nun auch geschafft, inverse Kinematik einzubauen:
http://youtu.be/sZRRAya2TSg
Hallo Pinsel,
wenn du nicht grade zwei Werte (der 3 Koordinaten X Y Z) gleichzeitig veränderst dann ist es leider noch keine inverse Kinematik - bzw sieht noch nicht ganz danach aus.
Interessant wäre zu wissen was du da tun willst in dem Video - also ich kann es mir denken, aber es von Dir zu hören würde weiterhelfen
Viele Grüße
Jörg
Geändert von HeXPloreR (17.02.2015 um 16:52 Uhr)
Inverse Kinematik sind letztendlich nur eine Reihe von mathematischen Rechenoperationen, das sollte in jeder Programmiersprache zu implementieren gehen. Wichtig ist nur, die Formeln richtig aufzustellen. Wahrscheinich musst du da selbst noch ein wenig suchen, anbieten kann ich dir schonmal diese Seite von Malthy: http://www.mtahlers.de/index.php/rob...erse-kinematik
Letztendlich willst du für die Fußspitze die Position in kartesischen Koordinaten (x,y,z) vorgeben können und die inverse Kinematik berechnet dir dafür die Gelenkstellungen. Dann kannst du genau bestimmen, wie sich die Fußspitze im Raum bewegen soll.
AI - Artificial Idiocy
Aha, ich habe inverse Kinematik so verstanden:
Ich gebe die Startpunkt- und Endpunktkkordinaten an und die Fusspitze beschreibt auf dem kürzesten Weg die Verbindung indem alle 3 Servos betätigt werden.
Aber danke für eure Hinweise, ich werde mich noch näher damit auseinandersetzen.
Nicht direkt, die inverse Kinematik beschreibt wirklich nur die Umrechnung von Koordinaten auf Gelenkwinkel. Ich hatte das bei meinem Roboterarm so aufgebaut, dass wirklich jeder Zwischenschritt der Bewegung auf Raumebene berechnet und anschließend mittels der IK transformiert wird. Das ist allerdings relativ rechenaufwändig, je nachdem musst du vielleicht gucken, ob dein Controller das schafft. Dafür wäre es aber so möglich, dass der Fuß, wenn er aufgesetzt ist, sich wirklich in einer geraden Linie bewegt. Das nach vorne setzen kann man dann entweder wieder auf Gelenkebene arbeiten oder wieder auf Koordinatenebene, je nachdem, was von der Berechnung her günstiger ist. Zu den Formeln wird auf Malthys Seite eigentlich schon das Wesentlichste erklärt.
AI - Artificial Idiocy
Der Link zu Malthys Page war sehr hilfreich, ich habe nun eine bessere Übersicht gewonnen. Natürlich habe ich versucht das Gelernte gleich umzusetzen mit folgendem Ergebnis:
http://youtu.be/ewqSKVut-R4
Die Fussspitze bewegt sich unter Angabe der Koordinaten x, y, und z auf direktem Weg zwischen 2 vorgegebenen Punkten. Es werden bei dieser Vorgabe alle 3 Gelenkservos benötigt.
Das ging aber fix
Hast auch überprüft, ob die gefahrene Bahn mit der Berechneten übereinstimmt?
AI - Artificial Idiocy
Man sieht ganz gut ob man richtig gerechnet hat, wenn man mit der Fußspitze einfach mal eine Gerade abfährt, also nur eine Koordinate über einen bestimmten Bereich inkrementiert.Hast auch überprüft, ob die gefahrene Bahn mit der Berechneten übereinstimmt?
Gruß
Malte
Lesezeichen