PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hexapode



malthy
07.06.2010, 21:06
Hallo zusammen!

Sechsbeinige Roboter erfreuen sich ja verständlicher Weise einer enormen Beliebtheit. Und auch ich war immer extrem fasziniert von dem Anblick einer solchen laufenden Maschine. Deshalb habe ich mich daran gemacht, selbst einen Hexapoden zu konstruieren. Auch wenn ich das Projekt noch längst nicht als abgeschlossen betrachte, habe ich es vor einigen Tagen immerhin soweit gebracht, dass mein Roboter ordentlich läuft. Deshalb möchte ich diesen Teilerfolg hier mal präsentieren.

Um nicht lange um den heißen Brei herumzureden hier erstmal ein paar Bilder:

http://www.mtahlers.de/images/stories/content/hexa_mechanik/bild%20192_sc.jpg

http://www.mtahlers.de/images/stories/content/hexa_mechanik/bild%20199_sc.jpg

http://www.mtahlers.de/images/stories/content/hexa_mechanik/bild%20210_sc.jpg

Und da -> http://www.youtube.com/watch?v=cV995qrkcao gibt's ein kleines Video von den ersten Lauf- und Drehbewegungen des Roboters.

Wie man schon auf den Bildern erkennen mag, sind einige Aspekte der Konstruktion vielleicht etwas ungewöhnlich. Z. B. habe ich versucht, auf "flächige" tragende Teile zu verzichten und statt dessen wo es ging Aluminiumrohre verwendet - das ist natürlich die Idee eines Skelettes (oder auch nur dessen blasser Abklatsch...). Auf jeden Fall ist somit eine recht stabile und dabei leichte Struktur entstanden.

Ein anderer, vielleicht erwähnenswert Aspekt ist, dass ich die "goldene Regel" aller Hexapodenbauer gebrochen habe, die ja lautet: "niemals Billigservos verwenden" - nun ja, ich hab's doch getan. Allerdings nicht die üblen Teile von Conrad, sondern diese hier -> http://www.servodatabase.com/servo/hextronik/hx5010

Ich kann in dieser Sache natürlich nur ein vorläufiges Urteil abgeben, aber bisher habe ich noch absolut keine Probleme mit diesen Servos gehabt - obwohl ich sie schon ordentlich gequält habe. Ich muss allerdings einräumen, dass ich die Servos mechanisch modifiziert habe, indem ich in die Ausgangsachse eine Schraube eingesetzt habe, die natürlich eine wesentlich bessere Kraftübertragung an die Beine gewährleistet. Zu sehen hier:

http://www.mtahlers.de/images/stories/content/hexa_mechanik/p1000809_.jpg

Die Elektronik sieht auf den ersten Blick natürlich sehr nach "overkill" aus, denn jedes Bein hat seinen eigenen AVR M32 Controller. Ich hab in dieser Sache länger hin- und herüberlegt und fand diese Lösung im Endeffekt am schönsten. Jetzt ist es nämlich so, dass jedes Bein für sich seine eigene inverse Kinematik rechnet. Ein zentraler Controller (der bisher nur improvisiert ist) teilt somit jedem Bein einfach nur mit, welche Position es in Bezug auf die Robotermitte einnehmen soll, dass Bein rechnet dann aus, ob diese Position möglich ist und welche Gelenkstellungen dazu nötig sind. Die ganze Kommunikation findet einfach über I2C statt. Hier ein Bild eines Beincontrollers - jedes Bein verfügt über eine identische Baustufe.

http://www.mtahlers.de/images/stories/content/hexa_mechanik/bild%20180_sc.jpg

Jedes Bein verfügt außerdem über ein wenig Sensorik. Zum einen werden ständig die Servoströme registriert, zum anderen gibt es einen Kraftsensor im Fuß, hier zu sehen:

http://www.mtahlers.de/images/stories/bild%20133_sc.jpg

Damit kann ich den Andruck des Fußes an den Boden messen. Die Sensorik funktioniert technisch zwar einwandfrei, ich verwende die gewonnen Informationen allerdings bisher nicht.

Programmiert habe ich das ganze System in Bascom. Ich muss den Quellcode allerdings noch deutlilch aufräumen, bevor ich ihn veröffentliche. Ich gebe hier Bescheid, wenn es sowiet ist.

Natürlich gäbe es noch ein ganze Menge mehr zu berichten, ich belasse es erstmal hierbei mit dem Hinweis, dass ich natürlich gerne alle Fragen beantworten werde. Außerdem habe ich das Projekt auf meiner niegelnagelneuen Homepage (siehe Signatur) ausführlicher beschrieben, dort gibt es auch noch mehr Fotos. Wer mag, kann sich parallel auch dort nochmal umsehen.

Gruß
Malte

Flash2over
07.06.2010, 23:27
♥♥♥♥♥♥♥ Sehr sehr geile Hexa.....kannst du vll die Kraftsensoren im Fuß näher beschreiben und ein Schaltplan von den Beincontrollern anhängen?

malthy
08.06.2010, 10:19
Hallo!

Die eigentlichen Kraftsensoren sind von Conrad, es sind diese -> http://www.conrad.de/ce/de/product/503368/

Um sie aber am Fuß meines Hexapoden verwenden zu können, war ein etwas komplizierter Aufbau nötig. Hier zwei Bilder, die erkennen lassen, wie das ganze Ding aufgebaut ist:

http://www.mtahlers.de/images/stories/content/hexa_mechanik/img_7317_.jpg

http://www.mtahlers.de/images/stories/content/hexa_mechanik/img_7327_.jpg

Sowas lässt sich natürlich leider nicht fertig kaufen, insofern war es nötig, diese Komponente selbst herzustellen. Ich glaube, es ist verständlich, wie das Ganze funktioniert: Im Grunde drückt der Metallstempel nur auf den Sensor, der abhängig von diesem Andruck seinen Widerstand ändert. Es war einfach etwas kompliziert, einen "Halter" für den Sensor zu entwickeln.

Den Schaltplan für den Beincontroller findest Du übrigens auf meiner Homepage, hier das Link dorthin:

http://www.mtahlers.de/index.php?option=com_content&view=article&id=8&Itemid=14

Dort sind auch noch weitere Infos zu finden - was nicht hießen soll, dass ich nicht auch hier gerne noch weiter auf Fragen antworte! :-)

Viele Grüße
Malte

Kampi
08.06.2010, 12:01
Schaut richtig stark aus. Respekt! Und auch die Doku auf deiner HP ist meiner Meinung nach sehr gut geworden. Die Platinen sehen ebenfalls sehr schick aus.
Würd mich freuen wenn wir noch weiteres zu sehen bekommen!
O:)

malthy
08.06.2010, 15:29
Hey Kampi!

Dankedanke! :-) Aber was meinst Du mit "noch weiteres"? Mehr Fotos?

Gruß
Malte

Kampi
08.06.2010, 16:08
Naja ich nehme an das das Projekt noch nicht fertig ist O:) . Deswegen würd ich mich über weitere Bilder freuen....vorallem da ich Hexabots für eine ziemlich coole Sache halte.

HannoHupmann
08.06.2010, 21:37
@Malthy kann dir schon sagen warum es keine Probleme bei dir gibt mit den billigen Servos. Zum einen sind sie modifiziert und zum anderen hast du keine Akkus auf deinem Hexa und auch sonst nur noch ein Skelett was stark reduzierst ist.

Ich weis der Beitrag ist für dich vielleicht überflüssig aber falls ihn ein anderer Neuling liest weis er jetzt warums doch klappt.

malthy
08.06.2010, 22:19
Hallo!

@Kampi
Jo, das Projekt ist im Grunde erst am Anfang, ich habe ja noch einige Möglichkeiten mit der integrierten Sensorik (und auch noch viele andere Ideen). Leider ist meine Zeit immer etwas knapp. Auf jeden Fall werde ich hier gerne über Fortschritte berichten!

@Hanno
Ich hab den Hexa schon auch mit Akkus laufen lassen. Das machte soweit auch einen ganz guten Eindruck. Der Rahmen, den man in der Mitte des Roboters sieht, trägt später 12 flache LiPos. Ich habe die Elektronik für die Stromversorgung noch nicht fertig, deshalb mussten die erste Tests kabelgebunden stattfinden. Ich will auch garnicht ausschließen, dass ich zu irgendeinem Zeitpunkt Probleme mit den Servos bekomme. Das wäre auch okay, denn das gesamte Projekt ist natürlich zu einem guten Anteil Experiment. Ich möchte aber schon betonen, dass die Servos für mein Verständnis einen guten Eindruck machen. Die Ausgangsachse ist immerhin zweifach kugelgelagert und auch die Elektronik sieht recht ordentlich aus. Ich habe die Servos durch einen ziemlich dämlichen schaltungstechnischen Fehler über längere Zeit mit deutlicher Überspannung betrieben (ca. 15V). Das führte dazu, dass die Elektronik zu Rauchen begonnen hat, kaputt gegangen ist der Servo dabei nicht! Ich werde es einfach mal abwarten - und die Erfahrungen hier berichten.

Viele Grüße an Euch!
Malte

MeckPommER
09.06.2010, 10:39
Coool :-)

Das ist ja mal ein schönes Konzept - mit den Steuerungsplatinen direkt am Bein. Hervorragend umgesetzt mit viel Liebe zum Detail - Bravo!

Aber ich fürchte, dass das Schaukeln ein übler Knackpunkt werden könnte. Die Beine sind zu lang für die Servos ohne Gegenlager und so schwingt der Bot eher, als das er stabil geht. Das könnte später auch das Auswerten der Kraftsensoren erschweren.

Auf jeden Fall sieht dein Erstlingswerk schon mal viel besser aus als meine ersten Versuche :) Weiter so!

Gruß MeckPommER

malthy
09.06.2010, 11:47
Hallo MeckPommER!

Erstmal vielen Dank für die freundlichen Worte! Hast Du Dir das Video angesehen? Im Endeffekt läuft er schon einigermaßen stabil. Aber, Du hast schon recht, das Ding hat natürlich die Tendenz zur Instabilität, abhängig von den Bewegungen die ich tasächlich mache. Wenn ich "extreme" Beinpositionen in den Bewegungsprogrammen verwende, wird's wackeliger - was man ja natürlich auch erwartet. Ein netter Nebeneffekt der Konstruktionsweise ist aber, dass ich alles sehr einfach auseinandernehmen und modifizieren kann. Insebesondere kann ich die Alurohre ohne viel Aufwand kürzen. Zumindest für die Unterschenkel werde ich das mittelfristig machen, eben um die Schwingungsneigung noch zu minimieren. Das war jetzt erstmal der erste Versuch.

Viele Grüße
Malte

MF6265
11.06.2010, 22:45
also ich bin echt sehr überrascht, wie gut das doch funktioniert ;) bei den Bildern dachte ich ja erst so "naaa, ob das klappt" :D
ich denke aber, dass du Probleme haben wirst auf graden Strecken gut vorwärts zu kommen, weil der Bot dafür einfach pro Schritt nicht genug Strecke zurücklegt, oder täusche ich mich da?
aber super Umsetzung, freu mich schon darauf, was du noch so alles anstellst :D

malthy
12.06.2010, 11:18
Hallo MF6265!

Danke fürs positive Feedback! Warum hattest Du bedenken "ob das klappt"? Wegen der billigen Servos? Deinen anderen Gedanken verstehe ich nicht so ganz. Die Strecke pro Schritt hat dann nichts mit der Laufgeschwindigkeit zu tun, wenn der Vorschub des Fußpunktes eine feste Geschwindigkeit hat. D.h.: bei einer gegebenen Vorschubgeschwindigkeit kann man entweder viele kleine oder wenige große Schritte machen, das ändert nichts an der Laufgeschwindigkeit. Ich hätte also auch deutlich kleinere Schritte machen können, dann wären es eben mehr pro Zeit gewesen und damit dann wieder die gleiche Strecke pro Zeit (= Geschwindigkeit). Durch die (noch) relativ langen Beine könnte ich übrigens prinzipiell überdurchschnittlich große Schritte machen - auf kosten der Stabilität und ohne Auswirkung auf die Geschwindigkeit. Im Vergleich zu manch anderen Projekten glaube ich, dass ich garnicht mal so schlecht abschneide mit meiner Laufgeschwindigkeit. Vor allem geht ja auch noch deutlich mehr, wenn man die Auflösung herabsetzt.

Gruß
Malte

MF6265
12.06.2010, 12:01
mein Bedenken war zuerst im Grunde die ungewöhnliche Konstruktion mit rundem Körper und überdurchschnittlich langen Beinen, hätte nicht gedacht, dass er doch so super läuft! ;)
zum 2: war gestern wohl nicht so ganz bei der Sache, du hat natürlich recht, dass durch die langen Beine eine weitere Strecke pro Schritt zurückgelegt werden kann, dummer Fehler von mir ](*,)

rolber
21.06.2010, 18:43
Hallo !!

Deine Konstruktion finde ich Gelungen.
Einige Sachen, wie die Drucksensoren in den Füssen sind schon toll.
Die Hebelarme ohne Gegenlager sind schon etwas lang, vor allem, wenn Du noch einen Betrieb mit Akkus planst.
Da kommt ja noch einiges an Gewicht dazu.
Wie schwer ist der HEXA denn bei externer Stromversorgung ?
Warum willst Du 12 Akkus einsetzen ?
Nimm doch einen Grossen, der ist leichter und billiger als 12 Kleine.

Roland

malthy
22.06.2010, 10:59
Hallo rolber!

Danke fürs Feedback! Die Beine werde ich wie gesagt noch kürzen, die Hebelproblematik bleibt prinzipiell aber natürlich bestehen, das ist klar. Zum Gewicht im aktuellen Zustand kann ich noch nichts seriöses sagen, ich habe den Hexapoden (mangels geeigneter Waage) bisher nicht gewogen. Wenn ich über das Gewicht der Einzelkomponenten überschlagsweise hochrechne, sollte ich nicht deutlich über 1 kg kommen - evnt gar drunter. Ich werd das bei Gelegenheit nochmal ordentlich ermitteln, auch wie anteilig das Gewicht auf die verschiedenen Komponenten verteilt ist.

Auf die zwölfs Akkus bin ich gekommen, weil ich bei Pollin was billiges gefunden habe :-). Außerdem habe ich so den Vorteil, dass ich für jedes Bein eine eigene Stromversorgung aus zwei Zellen vorsehen kann. In dieser Sache ist das letzte Wort aber noch nicht gesprochen.

Viele Grüße
Malte

Rabenauge
22.06.2010, 13:12
Ich würde da einfach nen Lipo raufschnallen und fertig.
12V, 1800mAh (hab ich gerade in der Hand, deswegen der...) 150g.
Liefert, wenn nötig, auch 50A.
Da du ja sowieso die 12V nicht brauchst, böte sich ein zweizelliger an, der ist dann noch mal ein Drittel leichter.
Oder zwei von, parallel, dann landest du bei 200g und hast die Kapazität eines ausgewachsenen SubC-Racingpacks.

Brantiko
22.06.2010, 19:25
Geiles Teil! Die Idee mit dem Kraftsensor finde ich super. Sowas ist mal kreativ!

rolber
22.06.2010, 19:27
Hallo !

Habe diesen Akku bei meinem HEXA verwendet:
http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=10365&Product_Name=Turnigy_5000mAh_2S_20C_Lipo_Pack_%28D E_Warehouse%29
Hat Power satt und 7.4 V sind mit ein paar High - Power Dioden für Servos sowie Steuerspannung optimal. Wiegt nur 282 Gr.
Wenn Du mit Zusatz (DE Warehouse) bestellst, ist der Akku in 3 Tagen bei Dir.

Roland

malthy
22.06.2010, 20:22
Hallo,

Danke für den Hinweis auf den Akku! Das muss ich mir nochmal durch den Kopf gehen lassen. In der gleichen Größenordnung liege ich jetzt mit meinem Ansatz allerdings auch. Ich habe 12 Akkus à 3.7V/ 1Ah, jeweils 24 g schwer. Das entspricht - zumindest rein rechnerisch - 7.4V/ 6 Ah mit 288 g. Diese Rechung ist natürlich erstmal etwas naiv, es kommt im Endeffekt eben darauf an, ob ich eine gemeinsame Versorgungsspannung verwenden möchte oder vielleicht doch für jedes Bein eine eigene. Ich werde mal sehen...

Danke nochmal fürs mitdenken :-)

Gruß
Malte