-
Hexapod fertig! [JIM]
Hallo allen hier im Forum!
Dies ist mein erster Post und umso überraschender gleich eine "fertigmeldung".
Ich habe jetzt ca. 1 Jahr am Projekt gearbeitet und inzwischen alle Grundfunktionen fertiggestellt. Bilder und ein geh-Video, sowie viele Infos und Schaltpläne gibts auf meiner Homepage:
http://www.users.fh-sbg.ac.at/~fhs14723/
Ich freu mich über Posts!
-
Sauberes Video, schaut etwas Massiv aus die Konstruktion. Immerhin ist alles Alu, wie schwer ist das System den?
Nochwas zum Algorithmus (bin ein bischen zu faul den jetzt komplett durchzulesen) auf deiner Seite steht du hast es mit einer Parabel gelöst.
Mich würde interessieren wie du die Beine (bzw. Fussspitzen) so ansteuerst dass diese immer auf einer Geraden laufen.
Bei meinem (siehe HP bzw. Signatur) hab ich bisher nämlich nur 6 Positionen und die entsprechenden Werte für diese 6 Positionen gespeichert.
-
Bei mir kommt bei dem Video nur ein Geräusch, dass sich nach den Beinen des Bots anhört und noch irgendetwas undefinierbares. Nur Ton, kein Bild.
Aber sonst sieht der Bot sehr gelungen aus.
Großes Lob!!!
Wieviel kg kann der denn Tragen?
jon
-
Ahh.. ja, das ist ein bischen triky...
Also: Die Servopulse reichen von 0 bis 7000 prozessorclocks - (ertrempunkte..ich hab das vorher ausgemessen) und übergebe so die Servopositionen.
SCHRITT1: (Hüfte)
Die Hip(Hüfte)-Variable zählt hoch, das Bein bewegt sich nach vorne.
Danach nehme ich diesen Wert, und schicke ihn in in eine quadratische Funktion. In meinem fall ...
//---FUNKTION Quad_X----
int Quad_X (int x)
{
return (100*(((x/100)*(x/100)*-0.042)+((x/100)*3)));
//Eine Quatratische Funktion errechnet den Stellgrad für den Knee-Servo.
}
//---FUNKTION Quad_X abgeschlossen---
was f(x)=x²-0,042+3 entspricht.
Die divisionen durch 100 mache ich, damit die Berechnung im Byte-bereich gemacht werden kann, das ist schneller und genau genug.
SCHRITT2: (Knie)
Das Ergebnis geht dann an den Knee-Servo. Bei 3500 wird der scheitel erreicht (höchster punkt), bei 0 und 7000 die tiefsten punkte (bodenkontakt).
SCHRITT3:(Fuß)
Um den Fuß senkrecht zu halten ziehe ich immer 3500 vom Knee-Servo-wert ab. Das ist dann zb. am höchsten punkt (Knee=3500) : 3500-3500=0=Foot-Servo. Der Fuß steht 90° zum Knee.
Bei (Knee=0):
3500-0=3500=FootServo. Der Fuß steht senkrecht, also 0°zum Knee.
Ganz linear also :)
Der Roboter ist zzt. ca. 2Kg schwer, mehr solltens mit den Conrad-Servos auch nicht werden.
-
Und was ist mit dem Video???
jon
-
@Jon: Ist ja schon da!
Ich habs nochmal in WMV konvertiert. Das müsste bei jedem laufen.
-
ah das heisst aber du machst keine Nachjustierung was die Bewegung auf dem Boden angeht.
Also um es zu verdeutlichen dein Hip dreht den Fuss ja um einen Winkel Alpha. Daraus folgt, dass der Fuss an der Spitze auch diesen Kreisbogen macht.
Soll der Roboter aber gerade aus laufen, dann müssen alle Fussspitzen auf einer imaginären Geraden liegen und diese abfahren. Dadurch wird die Bewegung in nach vorn linear. Das gilt für den optimalen Fall.
Konkret muss also für die beiden Extremstellungen (der Hüfte) der Fuss weiter ausgeklappt sein als in der Mitte, welches der Minimalstellung entspricht.
EDIT: ich glaub jetzt hab ich dasmit der Parabelbewegung verstanden. Die sollte dir ja eigentlich das oben genannte Problem lösen oder lieg ich da falsch und diese gerade Fussspitzen bewegung ist noch gar nicht implementiert bei dir.
-
Danke!!
Jetzt gehts.
Bei der AVI-Datei konnte er nur nicht das Bild anzeigen. Warum weß ich nicht.
Wenn er sich bewegt sieht es nur etwas wie ein Pinguin auf vier Beinen aus. (Sorry, aber das musste jetzt mal sein. Ich habe mich nur ganz direkt ausgedrückt ;) )
jon
-
-
Hihi, Pinguin... wär aber eine idee für einen außergewöhnlichen bot :)
Das Video ist nicht mehr gaaanz aktuell, inzwischen habe ich die Schrittbreite vergrößert und alles besser abgestimmt. Das Video ist direkt nach der Umsetzung des gangalgorithmus entstanden. Bei gelegenheit lad ich noch weitere Vid´s hoch.
@HannoH.
Ja! Stimmt!... hmmm.. du hast absolut recht. Bisher ist mir das nicht aufgefallen, weil der Bogen den er bei einem Schritt macht bei mir recht klein ist, bzw. der Gang sehr "hoch" angelegt ist, damit´s den Servos nicht zu viel wird.
edit: --> Die Parabel regelt die Höhe des Schrittes, nicht den kreisbogen am boden.
Super dein Bot übrigens! Sieht leichter aus als meiner *hihi*