PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Humanoider (Fußball-) Roboter



LONy-TOOn
18.07.2011, 10:39
hi,
in den letzten Jahren war ich im Forum hier sehr inaktiv, hab aber immer wieder mal reingeschaut und mir verschiedenste Beiträge durchgelesen. Daher weiß ich auch, dass alle paar Monate mal jemand das gleiche Ziel wie ich verfolgt "Humanoider Roboter"... ich muss zugeben auch diejenigen zu beschmunzeln, die mit modellbau- und html kenntnisse so etwas vor haben und der Roboter dann gleich selbst laufen lernen soll, seine umgebung erkunden soll mit fetter KI usw. ;-)

Da es im Internet noch nicht so viel zu zweibeinigen Robotern gibt, die Hobbymäßig zuhause entwickelt wurden, will ich euch hier teilhaben lassen und bin für jede Kritik offen.

Von der größe her möchte ich mich an der KidSize beim RoboCup orientieren und mich auch an die (konstruktions)regeln halten. Dass das Projekt nicht gerade günstig wird ist mir klar.. allein die Servos dürften 1000€ kosten.

Vorraussetzungen die ich mitbringe: Ich habe eine abgeschlossene Ausbildung zum Elektroniker für Automatisierungstechnik und studiere Elektrotechnik, komme jetzt ins 5. Semester (Praxissemester, hab daher auch endlich mal wieder zeit zuhause was zu basteln), kann Mikrocontroller sowohl in C als auch in ASM programmieren. Zuhause hab ich eine recht gut ausgestattete Werkstatt und auch ein Oszi ansonsten gibts alles andere was man evtl. bräuchte bei uns an der FH.

Mein erstes Ziel ist es einen Roboter zu bauen, der "einfach" nur gerde aus laufen kann und wenn er fällt selbstständig wieder aufstehn kann. Ich denke das ist ein realistisches Ziel für ein halbes Jahr.

Das schwierigste ist denke ich selbstständig das Gleichgewicht zu halten und somit auf äußere Einflüsse zu reagieren, denn einen festen Ablauf zum statischen gehen einzuprogrammieren stelle ich mir nicht sonderlich schwer vor sondern nur sehr zeitaufwändig.

Wichtig ist erstmal ein guter Beschleunigungs/Lagesensor... ein Freund von mir baut zur zeit zuhause einen Quatrocopter und hat dafür einen IMU3000: http://www.sparkfun.com/products/10252
Das allein wird aber nicht reichen. Unser gleichgewichtssinn berücksichtigt denk ich auch sehr die Druckverteilung auf unserem Fuß und die anspannung der einzelnen Muskeln. Dies will ich darüber erreichen, dass ich von den wichtigsten Servos den Stromverbrauch kontinuierlich erfasse:
Wenn der Roboter eine äußere Beschleunigung erfährt, wird das durch den Beschleunigungssensor registriert, aber der Stromverbrauch einzelner Servos müsste genauso ansteigen, da diese versuchen ihre Position zu halten.

Die erste zu klärende Frage wäre, welche Controller man für eine solch zeitkritische Regelungsaufgabe verwendet. Bisher hab ich zuhause nur Mega8 und 16 programmiert, in der FH einen 8051. Ich hab hier von der Embedded in nürnberg ein stm32-discovery Board, welches einen wesentlich schnelleren Controller hat (32Bit,40MHz oder so), allerdings hab ich bisher das Board nicht zum laufen gebraucht und ich würd gern bei Atmel bleiben, da ich mit deren controllern schon vertraut bin.

Als Servo hab ich mir diesen raus gesucht:
http://www.modellbaubichler.de/Servos/Hitec/Hitec-Robot/HSR-5498-SG-Robot-Servo::13005.html
oder hat jemand einen besseren Servo als vorschlag?

Als erstes möchte ich mir 6 Servos bestellen und einen Beschleunigungssensor, um ein Bein aufzubauen... ich bin sehr Zuversichtlich, dass es klappt, fals ich beim Bein schon scheitere hab ich dann aber wenigstens keine 1000€ in Sand gesetzt, sondern hab 6 coole Servos mit denen man noch viele andere tolle Dinge baun kann ;-)

Würd mich über feedback freuen :) Gruß, LONy

oberallgeier
18.07.2011, 11:00
Schön, dass Du Dich von vielen Fehlschlägen oder Anfängen, von denen man nie wieder was hörte, nicht abhalten lässt. Andererseits, wenn man sich z.B. die realen Ergebnisse von Boston Dynamics ansieht, dann weiß man, was alles möglich ist - kostet natürlich viel Zeit, viel mechanisches know how und auch reichlich Software (+ SW-Engineering).
... Das schwierigste ist denke ich selbstständig das Gleichgewicht zu halten ...Da ein Humanoide fast in die Gruppe inverse Kinematik gehört - nur etwas komplexer mit chaotisch gekoppelten Pendeln (die Glieder) kann ich diese Ansicht nicht teilen.
... einen festen Ablauf zum statischen gehen einzuprogrammieren stelle ich mir nicht sonderlich schwer vor sondern nur sehr zeitaufwändig ...Kati Mombaur sieht das etwas anders. Sie findet einen dynamischen Ansatz wesentlich besser, weil eben viele unterschiedliche Geh- bzw. Bewegungsituationen auftreten, siehe Spektrum der Wissenschaft vom Juni d.J. Seite 84. (http://www.spektrum.de/artikel/1069978) Dort ist die numerische Vorgehensweise ziemlich effektiv und offensichtlich mit passablem Rechenaufwand möglich.

LONy-TOOn
18.07.2011, 11:30
Danke für die sehr schnelle Antwort und den interresanten Link, ich hab mir gleich mal den vollständigen Artikel für nen Euro gekauft :)

Nur kurz zur Berichtigung: Ich will eben nicht ein statisches gehen programmieren. Ich wollte damit sagen, dass dies wohl der einfachste (Serostellung x in y ms erreichen) Ansatz währe um ein gerade aus Gehen zu erreichen ohne viel Mathematik, dafür mit viel ausprobieren.. man hätte in diesem fall ja keinerlei Sensorik.

Ich will auch einen dynamischen Ansatz verfolgen. Meine Idee (vielleicht oder wahrscheinlich hatten die auch schon andere) ist es zusätzlich zu einem Beschleunigungssensor noch den aufgenommenen Servostrom zu verarbeiten.

Testweise hab ich letzte Woche schonmal ein kleines Assemblerprogramm geschrieben, mit dem ich 4 Servos unabhängig voneinander ansteuern kann :) Wenn ich hoffentlich bis ende August (noch hab ich zwei wochen Prüfungen) mein erstes Bein fertig hab, will ich dieses dann mit einem Mikrocontroller ansteuern um einerseits die Leistungsfähigkeit des Controllers herrauszufinden (wieviele Servos schaffe ich gleichzeitig mit einem Controller) die Leistungsfähigkeit/Kraft des Beins (sind die gewählten Servos mit z.B. 11 kgcm geeignet) und allgemein die bis dahin ausgedachte Beinkonstruktion zu überprüfen... Mein Bruder studiert wirtschaftsingenieurwesen und darf mir ein wenig 3D CAD beibringen, denn zu einem Etechnik studium gehört leider keine Konstruktion ;) Zum verbinden der Servos will ich entweder Sperrholz, Kunststoff oder Aluminum verwenden... mal schaun, eine Dekupiersäge hab ich und alles 3 dürfte sich damit gut verarbeiten lassen (Alu bin ich mir nicht ganz sicher^^)

Sven04
01.08.2011, 17:20
Hallo Lony-Toon,

ich finde deine Idee sehr lobenswert Vielleicht zählst du auch mich zu denen, die mal von ihrem humanoiden Roboter gepostet haben und man dann nichts mehr gehört hat. Doch baue ich nun schon seit ca 1 Jahr, ohne Planungszeit, an meinem humanoiden und kann nach mehreren Rückschlägen sagen, dass du dir da meiner Meinung nach ein bischen einfach vorstellst. Mittlerweile konstruiere ich meine eigenen Servos, da man mit normalen Modellbau-Servos nicht weit kommt. Leider konnte ich meinen Blog das letzte Jahr (Uni-Stress) nicht updaten. Mittlerweile ist auch mein Torso fertig und die ersten Servo-Prototypen gehen demnächst zum fräsen der Gehäuse.

Falls es dich interessiert, kannst du einige wenige Artikel zu meinem Humanoiden auf meiner Homepage nachlesen: http://system-failures.org
Werde demnächst, falls es die Zeit erlaubt, auch noch mehrere Artikel veröffentlichen.

Gruß,
Sven

HannoHupmann
02.08.2011, 09:38
Kati Mombaur sieht das etwas anders. Sie findet einen dynamischen Ansatz wesentlich besser, weil eben viele unterschiedliche Geh- bzw. Bewegungsituationen auftreten, siehe Spektrum der Wissenschaft vom Juni d.J. Seite 84. (http://www.spektrum.de/artikel/1069978) Dort ist die numerische Vorgehensweise ziemlich effektiv und offensichtlich mit passablem Rechenaufwand möglich.

Ohne den Artikel jetzt gelesen zu haben, aber anhand meinre Diplomarbeit weis ich, dass der dynamische Ansatz deutlich mehr aufwand bedeutet und für einen Laien eigentlich nicht machtbar ist. Ich hab das bisher in jedem Thread dieser Sorte gepostet und will nicht altklug sein, aber wenn 2 Mann (+Helfer) ein halbes Jahr Vollzeit brauchen um einen laufenden Roboter zu bauen, dann kann ich mir nicht vorstellen, dass es ein Laie auch kann. Klar mit genügend Zeit bekommt er es vielleicht hin, aber die Regelalgorithmen sind echt komplex. Ich sag nur PID Regler für jedes Gelenk mit verschiedenen Einstellwertern für jede Bewegungsphase. Jeder kann im Internet oder unter den Veröffentlichungen nachkucken wie er die inverse Kinematik und Algorithmen für den Asimo aufbauen muss. Das ist kein Geheimnis und wird von den Jungs aus Japan auch immer wieder veröffentlicht. Was sie einem aber nicht verraten ist welche Werte sie für P, I und D in jedem Gelenk einsetzen. Mein Betreuer der Diplomarbeit meinte, dass die da bis zu einem Jahr optimieren bevor sie vernünftig laufen können.

Also statsiches gehen mit vorgegebenen Winkelwerten sehe ich als realistisch machbar an und auch aufstehen können die Roboterfussballer schon. Solange du in der Modellbau Größe und Gewichtsklasse bleibt, ist ein humanoider Roboter durchaus möglich.

LONy-TOOn
11.08.2011, 19:04
Danke für die Antworten... @sven dein blog ist nicht schlecht... wär cool wenn du ihn mal aktuallisiert. Mir wär das zu viel arbeit auch noch alle Artikel auf Englisch online zu stellen ;)
Ich war jetzt 1 Woche im Urlaub und hab mir da noch viel gedanken über meinen geplanten Roboter gemacht. Bei der weiteren Recherche zu passenden Servos wurde ich leider entmutigt. Entweder zu teuer oder zu leistungsschwach. Der Selbstbau ist mir auch in den Sinn gekommen, scheint mir allerdings sehr aufwendig und teuer, dafür ist man dann halt sehr flexibel.
Daher werde ich das Projekt noch bevor ich mir teure Servos kaufe vorerst auf Eis legen. Ich hab vor einigen Jahren mal angefangen mir ein "Elektro-Kettcar" zu bauen (bisher nur im Kopf^^) und hab inzwischen soweit alle Teile da (also fast keine neuen Investitionen nötig ;) ). Wenn es fährt kann ich mich dann wieder auf meinen Roboter stürzen :D Sobald es die ersten richtigen Fortschritte gibt (vom E-Kettcar) werde ich dann natürlich hier im Forum berichten!

Gruß, LONy