Zitat Zitat von HannoHupmann Beitrag anzeigen
Mir läufts kalt den Rücken runter wenn ich was von 4€ Servos für nen Hexa höre. Da muss das Ding schon Ultraleicht werden damit es nicht sprichwörtlich knirscht im Getriebe. Gut vielleicht bin ich auch einfach jemand der immer zu schwere Roboter baut (der Franzosenroboter hat ja auch nur 0,5kg da könnten die Servos glatt reichen, müsse man sich aber vorher ausrechnen). Also gut, bei den Servos steht fest, dass du insgesamt nicht über 500g kommen solltest und die Hebelarme möglichst klein bleiben.

Es hat sich bewährt erst mal nur ein Bein auf zu bauen und danach zu kopieren wenn es funktioniert. Abgesehen davon, kann man dann schon mal die Ansteuerung und ähnliches heraus finden.

Ich würde von so einem kleinen, billigen Hexa nicht viel erwarten, vermutlich werden die Bewegungen recht ungenau sein, aber zum ausprobieren und Erfahrungen sammeln sicher nicht schlecht. Am besten zeigst du uns mal die Konstruktionszeichnungen für deine Version, dann können wir abschätzen ob das realistisch ist.
Hallo liebe Experten,
Nachdem ich mir einige Hexapod-Videos bei Youtube angesehen habe, bin ich total fasziniert von diesem Thema und verfolge u.a. die Beiträge im Forum. Einige Hexapoden, die ich bei Youtube angesehen habe, sind soweit, dass nach jedem Schritt die Richtung geändert werden kann, Hindernisse überwunden werden und sogar die Neigung des Körpers beim laufen auf schrägen Ebenen ausgeglichen wird.

Nun möchte ich ebenfalls einen Hexapoden mit 18 Servos entwickeln, stosse aber programmiertechnisch im Moment an meine Grenzen.

Mein Equipment:
1 Arduino Due
1 Servoboard SD21
Allg. Zubehör wie Lötstation, 2 Labornetzgeräte, kleine Drehbank...

Zum ausprobieren habe ich mal ein einfaches Bein (Alu) mit 3 Servos gebaut.
Zum programmieren habe ich das Multiblink-Programm aus der Arduino-Bibliothek
umgeschrieben so dass (mit Scheduler) quasi Multitasking erreicht wird. Allerdings funktioniert dies
im Moment nur, wenn alle Servos gleiche Stellwinkel in gleicher Zeiteinheit haben.
Dieser Ansatz ist also nicht geeignet und dient bestenfalls zum überprüfen der Verkabelung.
Auch hat der DUE keine 18 PWM-Ports und ob der Scheduler mit 18 loops laufen könnte, ist eher unwarscheinlich.

Es muss also ein Ansatz mit I2C her; hier fangen aber meine Verständnisprobleme an:
Bei einer 20ms Taktrate vom SCL können ja nur 50 Befehle/Sekunde abgearbeitet werden;
dies erscheint mir recht grob. Wahrscheinlich steckt hier schon mein erster Denkfehler?

Es muss also auch noch IK hinzu kommen, aber wie? Werden die einzelnen erforderlichen
Stellwinkel in Arrays abgelegt, oder zur Laufzeit berechnet?

Ein weiterer Gedankenfehler ist mir letzte Nacht aufgefallen;
Wenn die Drehgeschwindigkeit eines Servos als konstant angenommen wird, ändert sich ja
die Bewegungsgeschwindigkeit in X und Y Richtung (Fußposition) mit jedem Grad, abhängig vom Stellwinkel.

Zunächst bitte ich zu folgenden Themen um Eure Hilfe.
Wo gibt es verständliche Erklärungen zum Thema Inverse Kinematik.
Wie kann ich Quasi - Multitasking mit I2C erreichen.

So, das wars erstmal

Gruß
Jürgen