Archiv verlassen und diese Seite im Standarddesign anzeigen : Humanoid Roboter
robo_tom_24
06.02.2012, 16:49
Hallo :)
Ich möcht mich erstmal vorstellen! Ich bin der Thomas, 16 Jahre und komm aus dem Burgenland, Österreich. Aktuell besuche die HTL Pinkafeld für Elektronik und technische Informatik, zu meinen Hobbies zählt unter anderem Modellbau (Feinmechanik) und Elektronik-Basteln. So, genug von mir, nun mein Projekt.
Ich möchte ergänzend zu meiner Ausbildung einen kleinen Humanioden bauen. Ähnlich dem Robonova und Bioloid GP.
Ein paar mir im Kopf herumschwebende Daten und Ideen:
NXP 89LPC936 µC (verwenden wir in Schule, wenn nicht ausreicht ein Atmel)
Alu-Platten Grundgerüst
Standart Modellbau Servos als Aktoren (vl. ein Hitec Robotics Servo)
LiPo Akku als Stromquelle
*Wünsche*:
2.4 GHz Übertragungsmodul
Lagesensor (automatisches aufstehen etc.)
Der Robo soll nichts besonderes können, ledeglich gehen und greifen sollten in der "Grundversion" realisiert werden. Vielleicht könnte er in einem halbwegs ausgereiften Zustand mit einer Kamera ausgestattet werden und als SoccerBot dienen ;)
Skizzen bzw. 3D Zeichnungen mit Ideen zur Servoaufteilung folgen...
mfg thomas
robots4-ever
06.02.2012, 17:22
ich finde die Idee für dein Projekt großatig.
Hallo Thomas,
willkommen im RN.
Ein schönes, nicht wirklich einfaches, Projekt hast Du dir da ausgesucht.
Ich bin zur Zeit selber an einem solchen humanoiden roboter als Praxisprojekt meines E-Technik Studiums. Ein kleiner Tipp vorweg, mach Dir mal Gedanken wie du die Spannungsversorgung der Servos realisieren willst und beziehe alle worst case Szenarios ein, damit meine ich das alle Servos den maximalen Strom ziehen.
Bei mir sind das bei 16 Servos a maximal 2A mal fix 32A. Damit müssen Deine DC/DC Regulatoren zurechtkommen.
Beachte auch das die Servos genügend Torque besitzen.
Gruß
robo_tom_24
06.02.2012, 18:17
Hallo
Danke tucow für den Tipp!
Ich hab dazu zwei Fragen:
1) Was meinst du genau mit DC/DC Regulatoren?
2) Wie kann man sich am besten das Drehmoment berechnen?
mfg thomas
1) Du kannst nicht einfach die Servos an die LiPo Zellen anschließen, deren Ladeschlussspannung liegt weit über der spannung die ein Servo verkraftet, also musst Du die Spannung vorher regulieren. Ein Akku mit nur einer LiPo Zelle bringt nicht genügend Spannung und einer mit 2 Zellen bringt zuviel, da musst Du dir was überlegen.
2) Der ist angegeben, bei den Servos. Allerdings in kg.
robo_tom_24
06.02.2012, 18:38
Aso, du meinst also ganz normale 7805 oder desgleichen ;)
und wie viel Tourque brauch ich für so nen Robbi?
Reichen da für die Beine 50 N/cm aus? (Hitec HS-485 HB)
mfg
Naja, ich würde nicht unbedingt die ollen 7805er nehmen. Die haben einfach zuviel Verlustleistung und sind riesig. Ich nehme welche in SMD Bausweise von Maxim, welche genau evaluiere ich noch - habe erstmal Samples von Maxim hier. Es sollten halt schon, meiner Meinung nach, DC/DC Schaltregler sein mit sehr geringer Verlustleistung.
Bei den Servos kommt es darauf an wie schwer dein Bot später wird. Ich nehme die HXT12K, die schaffen bei 4.8V 10kg aber ich werde sie bei 6v betreiben das sind dann um die 15kg Torque.
Was auch noch wichtig ist, ist das timing der Servos. Ich weiss nicht wie man die alle mit nur einem µC ansteuern soll. Bei mir bekommt jedes Bein/jeder Arm einen ATmega8 der dann die jeweiligen Servos ansteuert. Verbunden wird das ganze dann per SPI mit dem Mainboard, auf dem dann ein ATxmega256 sitzen wird der alles verarbeitet.
robo_tom_24
06.02.2012, 19:35
okee....
naja, bei 6 Servos pro Bein wird Gehen dann ziemlich Rechenintensiv, da hast schon recht. Das heißt dein Haupt Controller empfängt Befehle und gibt jetzt zum Beispiel "schritt_gehen" an das linke Bein weiter?
6 pro Bein? Bei mir sind es 5.
- 2x für den Fuß
- 1x Knie
- 2x Hüfte
Das Berechnen würde der xmega schaffen, das ist nicht das Problem. Das Problem ist das du jedem Servo circa alle 20ms einen neuen Befehl schicken musst/solltest. Und das erledigen bei mir die µC in den Extremitäten.
Per SPI sende ich an die einzelnen µC nur noch Daten wenn ich z.B. das linke Bein bewegen will, alle anderen werden von ihrem µC in der Position gehalten, die sie vorher eingenommen haben, bis sie einen neuen Befehl erhalten.
Dadurch entlaste ich das komplette Timing im xmega, denn der soll ja auch noch die Sensorik auswerten wie z.B. einen Ultraschall Distanz Sensor im Kopf und das Accelerometer.
Meine aktuelle Überlegung ist es den Beinen eine extra Möglichkeit zu geben das sie entscheiden können ob sie jetzt einen weiteren Schritt machen oder nicht, z.B. wenn sie einen Abgrund erkennen würden sie das Bein wieder in die vorherige Position bringen und dem xmega melden das dort ein Abgrund ist und er sich einen neuen weg suchen muss.
robo_tom_24
06.02.2012, 20:10
Ja, laut meinen Aktuellen Überlegungen sinds 6:
3 - Hüfte
1 - Knie
2 - Fuß
Ja, ok...PWM...hab ich total vergessen ;)
Deine Überlegungen sind super :)
Hast du auch für die Arme eigene µC?
Abgrund erkennen? Drucksensoren in den Fußplatten - wenn in gewisser Zeit kein Signal, bzw je nach Dauer bis Signal kommt -> Untergrund (Fuß zurück, Gleichgewicht herstellen), bzw bei langer Dauer bis Signal Gefälle (Oberkörper gerade richten, Geschw. zurücknehmen)
mfg
Wieso 3 in der Hüfte?
1. vor/zurück
2. nach außen schwenken
3. ?
Ja, die Arme auch. Wenn schon dann gleich richtig und da es immer die selbe Schaltung sein wird ist das kaum mehr Arbeit.
Den Abgrund wollte ich ehr mit IR detektieren, die entfernung zum Boden nach dem abheben in einer Variable speichern und dann mit dem Wert nach dem Absenken des Fußes abgleichen, ist die Differenz zu groß geht es zurück. (Ich mag keine Drucksensoren)
robo_tom_24
06.02.2012, 20:24
3. drehen
so wie beim Bioloid Premium Kit ;)
Ok, dass heißt: 4x ATmega 8 und 1x ATxmega256...
Ok, so ists ja auch möglich
So, ich werf mich jz mal vor AutoCAD, man sieht sich mit Skizzen ;)
mfg thomas
Das mit dem Drehen ist ne gute Idee, werde ich auch noch so einbauen.
.oO(Wieso bin ich da nicht früher drauf gekommen?)
robo_tom_24
06.02.2012, 21:32
hättest früher fragen sollen ;)
So kann man viel realistischer kurven gehen, und muss nicht mit den füßen so zappeln ;)
mfg
Ja, habe ihn mir gerade angesehen, das machts um einiges besser.
Btw. wie hast Du vor den Rahmen zu bauen? Alles selber sägen?
robo_tom_24
06.02.2012, 21:38
Ja, wahrscheinlich schon, hab keine CNC....entweder mit der el. Dekupiersäge oda irgendwo machen lassen, nur dass kostet :/
aber größtenteils möchte ich so viel wie möglich selber machen...
Ich bin mir da noch nicht so sicher. Wenn man es selber macht hat man eine recht hohe Fehlerrate, was alles aus dem Gleichgewicht bringen könnte.
Btw. habe noch gar nix zu Deinem wunsch gesagt das Du Funk haben möchtest. Das werde ich wohl über ein BTM222 Modul regeln, das ist ein Bluetooth Modul das ohne viel zu konfigurieren einen seriellen Port an jedem BT fähigem Gerät zur Verfügung stellt.
robo_tom_24
06.02.2012, 21:48
Da hast auch recht, aber, so auf ne Genauigkeit von einem 1/2 mm sollte man hinkommen und dann sollte es funktoniern ;)
Ja, Bluetooth wenns geht, aber das ist noch Zukunftsmusik ;)
Als erstes muss mal der funktionierende Bot her, dann kann man über so etwas nachdenken...
mfg
Ach, mach Dir da mal keinen Kopf. Modul dran, kurz n Befehl schicken zum initialisieren und alles läuft ;)
robo_tom_24
06.02.2012, 22:13
So einfach?!?!?!?!?
Das hört sich ja an als wär das ne eierlegende Wollmilchsau? ;)
Es ist tatsächlich so einfach ;)
Aus dem Grund werde ich das wohl nehmen. Dann schreibe ich dazu noch ne App für meinen Mac, PC und iPhone und schon ist die universelle Funkverbindung fertig. Allerdings habe ich eben von einem WiPort erfahren, das ding scheint g4enauso genial zu sein nur das es Wifi benutzt und darüber einen seriellen Port anbietet, möglich ist damit sogar ein Webserver mit dem sich der bot von überall steuern lässt.
robo_tom_24
06.02.2012, 23:01
Coooool ;)
Gut, aber zuerst muss ein Robo her ;)
Ich hab endlich ein Datenblatt für meine Servos gefunden (Hitec HS-485HB) und da steht: 6kg bei 6V und eine Auslenkung von 45°, würd das reichen oder ist das viiiiieeel zu schwach?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~
So: Servo wurde modelliert
Hitec HS-485HB
21429
Ab morgen wird dann alles rund um das Servo aufgebaut und ein guter Lieferant für Alu Platten gesucht :)
mfg und ne ruhige Nacht, angesichts des Schneesturms
thomas
Geistesblitz
07.02.2012, 10:05
Ich würde schon sagen, dass die zu schwach sind. Unter 10kg würde ich eigentlich garnicht gucken. Da der Bot auch nur zwei Beine hat, müssen da die Servos mehr aushalten, als zb. bei einem Hexabot, wo sich das Gewicht auf die Beine verteilt, nicht zu vergessen die dynamischen Kräfte. Wirkliche Sicheherit bekommt man aber auch nur durch Berechnung, wobei das bei so einem Teil auch nicht allzu trivial sein sollte. Weißt du eigentlich schon, wie du die Gegenlagerung der Servos aufbauen willst?
robo_tom_24
07.02.2012, 12:56
Hallo
Ok, dann werd ich nochmals suchen müssen...
Wie kann man die erforderlichen bzw. auftretenden Kräfte errechnen?
mfg thomas
HannoHupmann
07.02.2012, 13:19
Kommt darauf an ob man sie statisch oder dynamisch berechnen will. Statisch kann ich papier und bleistift empfehlen, dynamisch würde ich es mit einem Physik-Simulationsprogramm versuchen. So hab ich es zumindest bei meiner DA gemacht die sich mit der Auslegung der Antriebe für eine Laufmaschine befasst hat.
Geistesblitz
07.02.2012, 14:53
Achja, was mir noch eingefallen ist: Falls dir das mit den Extracontrollern für Arme und Beine zu aufwändig sein sollte, kannst du ja auch nach Servocontrollern wie zB. von Pololu suchen. Damit lassen sich mehrere Servos gleichzeitig mit seriellen Signalen ansteuern. Den von Pololu gibt es für bis zu 24 Servos, musst einfach mal gucken. Ich bin aber selbst noch dabei, die Grenzen von diesem Teil auszutesten, sollte für so ein Projekt aber nicht allzu schlecht sein.
robo_tom_24
07.02.2012, 17:36
Hallo
Servos mit mehr als 10kg zu finden, die halbwegs leistbar sind ist gar nicht so leicht :(
Wie heißt denn z.B. das Programm das du genuzt hast?
An dass hab ich auch schon gedacht. Aber kommt dass dann nicht wieder aufs selbe hinaus?
Sag mir dann bitte deine Erfahrungen mit diesem Teil ;)
mfg
heinzchr
07.02.2012, 18:06
Hallo,
Mechanik-Grundzüge (http://homepages.fh-regensburg.de/~rig39165/skripte/TMI_Skript.pdf) bildet die Grundlage für die Berechnung von dynamischen Systemen, falls du das doch per Hand machen möchtest.
http://www.orocos.org/ könnte auch interessant für dich sein.
Gruß
Geistesblitz
07.02.2012, 18:12
Also ich hab TowerPro MG945R Servos (waren so um die 12€ das Stück), sind zwar digital und mit Kugellager und Metallgetriebe, allerdings ist die Bewegung bei langsamen Geschwindigkeiten recht zuppelig und auch der Totwinkel des Potis ist leider etwas groß. Bei hohen Geschwindigkeiten kommt er leider auch nicht so richtig mit, kraftmäßig kann ich ihn gerade nicht wirklich einschätzen, da mir der Vergleich fehlt, aber zumindest bei den Daten stand 10kg (also etwa 98,1Ncm). Wenn man etwas Geld hinlegen mag gibts von der Sorte auch noch Stärkere (9805MG hat zB. 25kg, kostet aber auch etwa 35€). Ansonsten mal bei den Analogservos umsehen, da sollen auch garnicht mal so Schlechte bei sein. Durch die PWM-Frequenz von 50Hz sind die zwar weniger genau zu bewegen (Digitalservos gehen bis zu 333Hz), dafür hat man mehr Zeit für Berechnungen zwischendurch.
Also meine Erfahrungen mit dem Board von Pololu sind bisher sehr positiv. Es ist klein, lässt sich über USB oder UART verwenden und nimmt einem einen großen Teil an Arbeit ab. Außerdem kann ich darüber über UART und USB mit meinem Laptop mit meinem µC kommunzieren, da das Board einen COM-Port emuliert. Allerdings müsstest du dann die seriellen Befehle in deiner Programmiersprache realisieren. Wie sie auszusehen haben steht im User's Guide (http://www.pololu.com/docs/0J40/all), schwierig sind dabei mMn. die Datenbytes, die nur 7 Bit tatsächliche Information tragen und das erste Bit den Typ angibt (Befehl oder Daten). Gerade bei 14-Bit-Zahlen muss man dann gucken, wie man die aufspaltet und in die beiden Bytes packt.
robo_tom_24
07.02.2012, 18:22
Ok ich werd dann mal berechnen, danke !
Also, ich hab jetzt eins bei Conrad gefunden: Modelcraft Standard-Servo MC-620 MG (http://www.conrad.at/ce/de/product/206044/PREMIUM-LINE-SERVO-MC-620-MG/1207063&ref=list)
Wie übergibst du die Befehle? Sozusgen "linkes Bein" und "rechtes Bein" oder "Servo_1 45°" ?
mfg
Geistesblitz
07.02.2012, 20:40
Nein,für die Befehle siehe den Userguide. Im Grunde übergibst du erst ein Byte, das den Befehl kennzeichnet, eventuell noch eine Adresse und danach die für den Befehl entsprechenden Datenbytes. Sowas wie "Bewege Servo auf 45°" kann es auch gar nicht geben, weil jeder Servotyp wieder andere Winkel bei demselben Signal einstellt, meist irgendwo zwischen 90° und 180° Stellbereich, der sich machmal durch Umbauen auch auf über 200° ausweiten lässt. Am wichtigsten sind dabei wohl die Winkel, die bei 1ms, 1,5ms und 2ms Signalzeit vorliegen. Daraus kann man etwa interpolieren, bei welcher Signalzeit welcher Winkel vorliegt. Da das Board diese Signalzeit in 250µs-Abständen einstellen kann, gibt man auch ein Vielfaches davon an, wie zB. 4000 für eine Signalzeit von 1000ms. Lässt sich aber auch alles im Userguide finden ;)
Zu dem Servo sollen mal andere etwas sagen, ich hab damit auch noch nicht so viel Erfahrung.
robo_tom_24
07.02.2012, 21:14
Hallo
Gut, die Elektronik hat noch ein bisschen Zeit, zuerst muss das Grundgerüst un die Servos her ;)
Braucht man eigentlich wirklich so starke Servos?
Zusatzinfo:
Größe des Bots: ca. 50cm
Material: 2mm Alu Platten
Geistesblitz
07.02.2012, 22:02
Für die Servos ist eher das Gewicht von Bedeutung. Mit einem 10 kg Servo kannst du bei einem Hebel von 10 cm, der genau waagerecht steht, gerade mal einen Kilo halten, bewegen noch weniger. Bei zwei Beinen werden das schon 2 Kg, allerdings wird der Bot wohl eher nicht die ganze Zeit auf beiden Beinen stehen (würde etwas den Sinn von Beinen verfehlen). Am besten du guckst mal in den Thread von 5Volt-Junkie (https://www.roboternetz.de/community/threads/56117-Erster-Hexapod-%285VJ%29/page6?p=539597&viewfull=1#post539597), da wird gerade ebenfalls über dieses Thema diskutiert, ist für dich wahscheinlich nicht uninteressant.
Edit: müssen es eigentlich 50cm sein? Ich fände irgendwie 30cm für realistischer, würde sich auch nicht so in die Brieftasche bohren.
robo_tom_24
07.02.2012, 22:40
Also danke mal für den Tip!
Die Überlegungen zur Berechnung helfen mir immens weiter :)
JEIN - Es ist nur eine Vorstellung, der Robonova hat ca. 30 cm, ist mir fast zu klein. Ich will im Körper, besserr gesagt im Rumpf auch ein wenig Platz haben. Aber wo du recht hast hast du Recht, 50 cm sind doch etwas zu viel ;)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
So....ich hab mich jetzt für die Modelcraft Servos (http://www.conrad.at/ce/de/product/206044/PREMIUM-LINE-SERVO-MC-620-MG/1207063&ref=list) entieden, die müssten mit ca 100 Ncm stark genug sein.
Mir ist grad eingefallen, ich könnte ja für ebene Flächen GFK Platten verwenden, wie dick müssten denn die im Vergleich zu den 1,5mm Alu Platten sein?
mfg
robo_tom_24
09.02.2012, 23:37
Hallo
Planänderung!!!!
Ich hab zu viele negative Bewertungen zum Modelcraft Servo gelesen -> ein "richtiges" Servo muss her => Hitec HS-645BB (http://www.hitecrc.de/store/product.php?productid=21148&cat=333&page=1)
Mein Geldbörserl wird mir böse sein, aber Sponsoren sollten auch zu finden sein ;)
Als Arm Servo hab ich mir das kleine HS-81 vorgestellt, bei mir schon gut bewährt und glücklicherweise liegen noch ein paar im Keller rum :)
Für die Schulter bin ich noch unschlüssig, ebenso für die Fußplattenservos, die die Fußplatte nach links/rechts kippen (vl. ein paar Graupner C577, liegen auch im Keller rum)
mfg thomas
Hey Tom,
mal zu dem ganzen "Servos müssen unbedingt stark sein", schau dir das an: http://robosavvy.com/forum/viewtopic.php?t=2427&postdays=0&postorder=asc&start=0
Natürlich zuckt der kleine ein wenig, aber es sind immerhin Servos für knappe 3 Euro das Stück die nur 9g wiegen. Trotzdem ist das ganze aus Alu und, wenn meine Hochrechnung stimmt, circa 25cm groß.
Schau Dir mal die HXT12k Servos an, z.B. bei Hobby King. Die setze ich ein. Sie sind knapp um die Hälfte günstiger als die, die Du ausgesucht hast.
Gruß
robo_tom_24
11.02.2012, 02:10
Okeeeeee....
Jetzt bin ich verwirrt, der eine sagt: nix unter 10kg, der andere sagt ich kann auch ganz kleine nehmen...... :confused:
Na gut, also zu deinen Servos....
Sind die wirklich zu was? Zucken die viel? Haben die wirklich die angpriesene Kraft?
Der Preis ist ja obermegahammer :)
mfg thomas
Edit :Unterm Bild steht dass er 20 cm groß ist ;)
Geistesblitz
11.02.2012, 13:31
Ist halt sone Sache: Wenn du den Roboter groß baust und mit schweren Servos, müssen die auch die Kraft haben, das alles zu halten. Wenn du den aber klein und mit leichten Servos baust, müssen die auch nicht so viel Gewicht halten. Da du erst von 50cm geschrieben hattest, hatte ich auch starke Servos empfohlen. Wenn man das Ganze herunterskaliert wieht es natürlich völlig anders aus. Am besten mal ein wenig herumkonstruieren, auf welche Größe man kommt, wenn man alles so zusammensetzt, wie es später kommen soll. Eine gewisse Mindestgröße sollte sich dann ja ergeben und wie weit man den dann größer werden lässt muss man dann entscheiden.
robo_tom_24
11.02.2012, 13:57
Hallo
Das heißt jetzt also, wenn ich den Bot ca 35 cm groß mach, reichen auch etwas kleinere Servos aus?
Wie groß müssten die dann sein?
Laut meiner letzten Konstruktion komm ich auf eine Beinlänge von 22 cm (11/11cm) und auf eine Oberkörpergröße rund von 12 cm ohne Kopf. Die Arme wären glaube ich mit 14cm angemessen dimensioniert.
mfg thomas
Hier schaue dir mal diesen Servo an
http://www.graupner.de/de/products/03d0727d-372c-4960-a283-0fe3b779f8a7/5213/product.aspx
Habe ihn zwar noch nicht getestet, aber den Servo werde ich mir auf jedenfall mal bestellen.
Welche Servos du nimmst liegt einmal an deiner Geldbörse, zweitens an der Größe, und drittens an dem Gewicht des Roboters.
Ich würde aber ehr den Servo größer dimensionieren, als nachher zu schache zu haben. So wird auch die Lebensdauer der Servos vergrößert
robo_tom_24
01.03.2012, 01:02
Hallo
Danke mal für den Tipp, wobei diese Servos nicht gerade die günstigsten sind. Haben diese Servos eigentlich ein fix eingebautes Gegenlager?
Ich würde dich bitten uns deine Erfahrungen im Bezug auf Kraft usw. mitzuteilen.
mfg thomas
Ich weiß nicht ob der thread noch aktuell ist, aber ich bin mittlerweile recht weit (schreibe gerade einen Beitrag dazu) und habe doch andere Servos verwendet, Towerpro/Tower Pro/Toward Pro MG996R. Sehr gutes Haltemoment bei sehr gübstigem Preis, wenn man aus Übersee bestellt. Habe pro Servo knapp 3 Euro bezahlt.
Geistesblitz
03.05.2012, 09:18
Was meinst du mit Übersee? Ich hoffe mal nicht China, von da kommen nämlich gerne mal Billigklone, die an die Originale nicht wirklich herankommen. Bei 3€ pro Servo wäre ich echt skeptisch. Ohne Gegenlager werden die dir bestimmt schnell in die Knie gehen.
robo_tom_24
03.05.2012, 22:27
hallo
danke mal für den Tipp, nur das Projekt musste leider aus verschiedenen Gründen ins Wasser fallen...
Ich habe mich jetzt wieder meiner Bluetooth Steuerung zugewand. Dieser Bot soll aber auch mal mit einem Arm ausgerüstet werden, wo kraftvolle Servos auch nicht fehl am Platz sind ;)
mfg thomas
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.