Archiv verlassen und diese Seite im Standarddesign anzeigen : Humanoider Roboter-Torso A1
Hallo zusammen!
Schon seit längerem arbeite ich an einem humanoiden Robotertorso. Er ist zwar längst nicht fertig (ist ja auch ein ziemlich "ambitioniertes" Projekt), aber so langsam nimmt die Sache eine Form an. Ich präsentiere den aktuellen Stand hier mal kurz, habe hier schließlich immer gute Tipps und Inspiration gefunden.
Seid mir nicht böse, ich kopiere die Kurzbeschreibung des Projekts von meiner Website einfach mal hier rein, dann brauche ich nicht alles nochmal schreiben:
Der Torso hat zwei Arme mit jeweils fünf (bzw. sechs) Drehachsen, die als Gelenke das robolink von igus verwenden. Die Gelenke werden von Schrittmotoren mit Planetengetriebeaufsätzen angetrieben. Eine erste Version eines Motorcontrollers ist soweit fertiggestellt, dass er die Stellungssensoren in den Gelenken auslesen, einen Motor antreiben und damit eine Positionsregelung durchführen kann. Der Torso besitzt außerdem einen Sensorkopf mit zwei Bewegungsfreiheitsgraden, der mit einer Microsoft Kinect und zwei Logitech QuickCam 9000 Pro Kameras ausgestattet ist. Mit dieser Ausstattung kann der Kopf sowohl räumlich sehen als auch hören. Er hat die Möglichkeit zur Sprachausgabe, die außerdem durch eine Animation auf einem LCD untermalt werden kann. Ein einfaches Greifwerkzeug auf Basis der FESTO FinGripper Finger ist als Hand für die Arme vorgesehen.
Hier ein paar Bilder:
23027 23028 23026
... und folgend ein Video von dem Kopf, wie er mithilfe der Kinect eine Person verfolgt (also nur mit seinem "Blick", mehr geht noch nicht... ;-))
http://youtu.be/m_ZEolNi9c0
Auf meiner Website (http://www.mtahlers.de/index.php/robotik/humanoider-torso/humanoider-torso-a1) gibt es noch ein bißchen mehr Infos, Bilder und Videos.
Kommentare/ Fragen/ Kritik/ Anregung gerne hier oder auf meiner Website.
Gruß
Malte
021aet04
12.08.2012, 11:26
Das ist aber ein schönes Projekt. Sehr aufwändig. Baust du auch noch Füße dazu? Oder bleibt es ein Torso (auch wenn das schon aufwändig genug ist)?
Bin schon auf weitere Videos und Fortschritte gespannt.
Fertigst du die Platinen selbst oder lässt du diese fertigen?
MfG Hannes
Hallo Hannes,
danke für die netten Worte! Naja, echtes (dynamisches) Laufen fasziniert mich zwar total, aber ich glaube, dass ich das erstmal nicht "auf die Beine gestellt" bekomme. Angedacht ist ein fahrbarer Untersatz, aber dazu existieren bisher nur Ideen...
Die Platinen lasse ich machen, und zwar bei Bilex in Bulgarien. Dort ist es recht günstig, wobei man aber klar zugeben muss, dass sich das manchmal auch bei der Qualität bemerkbar macht. Wenn man etwas genauer bei der Platine für den Sensor-Head hinguckt, sieht man zB dass die Bohrlöcher nicht exakt auf den Pads zentriert sind. Ein technisches Problem war das aber bisher nicht. In aller Regel war ich zufrieden mit der Arbeit von Bilex.
Gruß
Malte
021aet04
12.08.2012, 14:46
Ich habe meine Platinen biher bei PCB-Pool fertigen lassen. Die Qualität ist sehr gut, aber auch teuer. 2x habe ich bis jetzt bei Jackaltac bestellt, die waren auch gut. Einfache Prototypen werde ich jetzt selbst ätzen.
MfG Hannes
Hallo Malte,
sehr sehr schönes Projekt !!! ... gefällt mir sehr gut!
Muss mir bei Gelegenheit mal in Ruhe deine Seite anschauen. Was ich an Informationen nicht auf Deiner Seite finde (und mich interessiert einiges) frage ich dann einfach mal bei Dir an.
Ich hoffe das ist OK.
Gruß André
Danke! Ja, es fehlt noch einiges an Infos. Frag einfach, hier oder auf der Seite...
Gruß
Malte
Noch ein kleines Update: habe das Skeleton Tracking der Kinect dazu verwendet, um den Roboter meine Armstellung imitieren zu lassen. Ist noch etwas unspektakulär weil ja aktuell erst der erste DOF der Schulter vollständig funktionsfähig ist...
Hier ein Video davon:
http://youtu.be/KnwN1cGE5Ug
Gruß
Malte
Hi malthy,
hab deinen humanoiden Torso eben auch auf hackaday.com (http://hackaday.com/2012/09/10/humanoid-robot-kinects-with-its-enviroment/) entdeckt :)
Hallo ihr!
Und nochmal ein Update, verbunden mit einer kleiner Bitte - doch dazu erst gleich :-)
Ich habe dem Torso jetzt noch einen fahrbaren Untersatz verpasst. Er verfügt damit jetzt über eine mobile Basis, die von zwei Schrittmotoren mit Getriebeaufsätzen angetrieben wird. Für die Motoren habe ich einen Treiber entwickelt, der auf einem L6470 und einem AVR basiert. Damit ist die Ansteuerung recht simpel. Hier mal ein paar Fotos zur Übersicht:
2360323602236012360423605
Und es gibt auch ein Video, in dem ich mal alles zusammengefasst habe, was bis jetzt geht:
http://www.youtube.com/watch?v=nEq8oKsmors
Und jetzt die Bitte: wenn euch der Roboter gefällt und ihr das Projekt unterstützen wollt, wäre es nett, wenn ihr für mich bei der Boca Bearing 2012 Innovation Competition voten würdet. Wenn ihr diesem Link folgt (http://www.bocabearings.com/innovation-contest/ContestantDetails.aspx?ProjectID=81), könnt ihr eure Stimme über Facebook oder Email für mich abgeben. Ich würde mich sehr freuen :-). Danke!
Ich bin natürlich an Anregungen/Kritik/Fragen aller Art interessiert!
Viele Grüße
Malte
021aet04
01.11.2012, 19:21
Ich habe schon gevotet. Viel Glück dabei.
MfG Hannes
Ein sehr interessantes Projekt... Voten werde ich gleich auch für dich ;)
Wo lässt du die Platinen herstellen? Das schwarz spricht mich sehr an :D
Danke fürs voten! Es wurde weiter oben schonmal danach gefragt, die Platinen lasse ich i. d. R. hier (http://www.bilex-lp.com/user_d/) machen. Lötstop in unterschiedlichen Farben bekommt man aber durchaus auch bei anderen Anbietern. Ich habe mit der Zeit einfach mal alle Farben durchprobiert und bin bei schwarz geblieben, sieht für meinen Geschmack am dezentesten aus... Allerdings muss man bedenken, dass der Lack nicht wirklich tiefschwarz ist, ein ganz klein wenig schimmert das Kupfer durch, dadurch bekommt das ganze eine leicht bräunliche Note. Hier auf dem anhängenden Bild sieht das ganz realistisch aus.
Gruß
Malte
Sau geiler Bot bisher :)
Wenn du ihm in ein paar Jahren noch das Servieren beibringen kannst, kaufe ich sofort einen davon :D
Aber gefällt mir wirklich sehr gut das Ding....ich hab zwar selber noch nie einen Humanoiden Bot gebaut aber ich stell es mir doch schon recht komplex vor die ganzen Bewegungen dynamisch und flüssig ablaufen zu lassen.
Von daher viel Glück bei dem Contest und meine Stimme hast du auch :)
Danke, Kampi! Ja, ist noch ein weiter Weg. Ich kümmere mich erstmal darum, nur einen Arm voll in Funktion zu bekommen. Das ganze Antriebskonzept ist ja etwas ungewöhnlich weil es Seilzüge verwendet. Das hat verschiedene Vorteile, aber sicherlich auch gewisse Probleme - wobei diese Kombination die Sache interessant für mich macht. Es ist eben mal ein anderer Ansatz und man kann/muss also ein bißchen "forschen". Weil ich den Ehrgeiz habe, die Motortreiber auch selbst zu entwickeln, zieht sich das alles etwas hin. Die Motoren sind ja schon relativ groß, insofern sind viele standard Treiber strommäßig da schon an bzw über ihren Grenzen.
Gruß
Malte
Ein kleines Update:
http://youtu.be/_67W2Arcvis
Der rechte Arm des Bots ist jetzt voll motorisiert und meine Motortreiber laufen auch endlich alle. In diesem Video verwende ich den linken Arms des Roboters als teach-in-Arm. Tatsächlich bin ich jetzt doch erstmal wieder auf den L6470 als Motorcontroller umgestiegen. Der ist eigentlich hart an der Grenze von der Belastbarkeit (3A RMS, 7A Peak). Ich werde die Treiber erstmal so verwenden, habe aber schon einen neuen Ansatz im Hinterkopf. Zum Konzept insgesamt schreibe ich noch was auf meiner HP, dazu bin ich noch nicht gekommen... Fortsetzung folgt (bald).
Gruß
Malte
Und noch zwei weitere Videos von dem Arm:
http://youtu.be/w1_1ZwXGXeo
http://youtu.be/TlxOn5w6qOQ
Mit der Zeit ergänze ich hier (http://www.mtahlers.de/index.php/robotik/humanoider-torso/robolink-arme) noch weitere Infos zu den Armen.
Gruß
Malte
Hallo!
Um den Thread eingermaßen aktuell zu halten ein kleines Update zu dem Projekt:
Ich hatte schon relativ früh den Gedanken, den Torso auch vertikal verstellbar zu machen. Jetzt habe ich dieses endlich umsetzen können, es kommt eine Linearachse von igus zum Einsatz. Die ist in sich stabil genug, sodass ich sie selbstragend einsetzen kann. Der Holm, der ehemals den Torso getragen hat, wurde also dadurch ersetzt. Angetrieben wird die Achse von einem Nema 23 Schrittmotor.
2491224913
Hier ein Video eines der ersten Testläufe der Achse:
http://youtu.be/6nG7fF16Un0
Wen noch weitere Bilder interessieren, der kann einen Blick auf den entsprechenden Artikel auf meiner Homepage (http://www.mtahlers.de/index.php/robotik/humanoider-torso/rueckgrat) werfen.
Ich bin aktuell auf der Suche nach einem geeigneten x86-Motherboard, das sich eignet, um es in den Roboter zu integrieren, vielleicht hat da jemand Tipps für mich? Hatte danach hier schonmal in einem Thread (https://www.roboternetz.de/community/threads/61343-Welches-x86-Board-f%C3%BCr-mobilen-Humanoiden) gefragt, leider ohne Resonanz.
Viele Grüße!
Malte
Hallo Malte,
das Prinzip hat mir schon immer beim Cosero und Dynamaid von NimbRo gefallen.
Auch Günter hatte bereits bei seinem Bot-Projekt die entsprechende Verrstellbarkeit berücksichtigt.
Finde ich sehr gut und lässt auch viel Spielraum für entsprechende Anwendung.
Schön umgesetzt, Glückwunsch !!!
Weiter so...
Gruß André
Hallo André
das Prinzip hat mir schon immer beim Cosero und Dynamaid von NimbRo gefallen.
Auch Günter hatte bereits bei seinem Bot-Projekt die entsprechende Verrstellbarkeit berücksichtigt.
ja, auf jeden Fall, wollte nicht behaupten dass es eine originelle Idee ist :-). Ist ja relativ naheliegend. Auch der T2 von meka Robotics (http://mekabot.com/products/humanoid-torso/) setzt dieses Prinzip ein.
Ich habe jetzt hier eine Trapezgewindestage verwendet, das hat den Vorteil dass das System dadurch selbsthemmend ist. Ein Nachteil ist allerdings die relativ niedrige Verfahrgeschwindigkeit. Eine Achse mit Zahnriemen wäre in der Hinsicht besser, das wäre aber eben aufwendiger (und teurer) geworden.
Gruß
Malte
Günter49
23.03.2013, 13:27
Mechanisch schreitet dein ADAM (oder A1?) auf die Vollendung zu. Wirklich schön gebaut!
Für eine Steigerung der Verfahrgeschwindigkeit wäre auch der Einsatz einer Steilgewindspindel denkbar.
z.B. http://www.igus.de/wpck/default.aspx?PageNr=7001
Dann ist wahrscheinlich die Selbsthemmung dahin und es müsste eine zusätzliche Bremse verwendet werden.
Auf den Fotos erkennt man, dass du zur Zeit einen 2-Finger-Greifer angebaut hast. Was man dort nicht sicher erkennen kann, ist, ob du wieder die Festo-Finger einsetzt?
Gruß, Günter
Hallo Günter!
Naja, Vollendung ist sicherlich übertrieben :-). Es gibt auch auf mechanischer Seite noch einige Baustellen. Z.B. sind die Schultergelenke noch nicht optimal, also der erste DOF in der Schulter. Da ist noch ein Gegenlager nötig. Habe mir schon überlegt wie ich das Problem angehe, muss ich bei Gelgenheit mal umsetzen. Ist viel Arbeit weil ich dafür alles komplett auseinanderreißen muss.
An ein Steilgewinde für die Spindel hatte ich auch gedacht, und es gibt ja auch noch zweigängige Spindeln, die haben dann auch eine größere Steigung. Das Problem war, dass igus das nichtmehr ohne weiteres als serienmäßige Einheit hatte. Die andere Sache ist dann auch, dass es ab einem bestimmten Punkt mit dem Drehmoment des Nema23 Motors eng wird. Habe mich also erstmal mit dieser Variante begnügt.
Ja, zur neuen Hand poste ich bei Gelegenheit noch was. Sie basiert wieder auf den Festo-Finger, aber gegenüber meiner ersten Version ist sie anders aufgebaut. Jetzt sind es nur zwei Finger. Und auch das Schließen funktioniert jetzt anders, die Innenflächen der Finger bleiben beim Schließen parallel, ich bin der Meinung dass das von Vorteil ist. Die Elektronik für die Hand ist auch komplett überarbeitet, sie wird in dieser Version in die Hand integriert.
Vielen Dank für dein Interesse!
Malte
- - - Aktualisiert - - -
P.S.: zwischen "A1" und "Adam" kann ich mich auch nicht so recht entscheiden. Im Moment tue ich so, als sei "A1" das Modell und "Adam" das Individuum. Kinderkram. :-)
Moin!
Der Vollständigkeit halber noch ein Update. Ich habe die Basis mit Ultraschallsensoren zur Kollisionsvermeidung versehen. Diese US Module bekommt ja mitlerweile für sehr wenig Geld beim Chinesen. Für die Profi-Hobby-Robotiker hier sind diese Sensoren ein alter Hut und wenig spektakulär...
Um die Module an der Basis befestigen zu können, habe ich sie jeweils in einen entpsrechend bearbeiteten Abschnitt eines Alu U-Profils gebaut. Damit sind sie mechanisch geschützt und lassen sich an dem Profil der Basis befestigen.
25508 25509 25510 25511
Die Auswertung der Sensoren geschieht mit über die Elektronik, die auch die Motoren und das Rückgrat steuert. Noch ist das alles allerdings nur "fliegend" ausgebaut. Die ermittelten Entfernungsdaten werden provisiorisch erstmal nur an einen kleinen Laptop geschickt und dort visualisiert. Also keine Raketenwissenschaft. Hier ein kleines Video zur Demonstration:
http://youtu.be/GFqbb9g--R0
Gruß
Malte
Moin!
Nochmal ein kleines Update:
Ich habe mir jetzt endlich ein Motherboard für den Roboter rausgesucht und gekauft. Ich zitiere einfach mal von meiner Website:
"Die Wahl fiel letztlich auf das mini ITX Motherboard ZOTAC D2550-ITX WiFi Supreme (http://www.zotac.com/de/products/mainboards/integrated-intel-cpu/zotac-d2550/product/zotac-d2550/detail/d2550-itx-wifi-supreme/sort/product_name/order/ASC/amount/10/section/specifications.html) in der B Version. Diese Version kann mit nur einer Versorgungsspannung betrieben werden, die verscheidenen erforderlichen Spannungen werden on-board erzeugt. Das ist praktisch für den angestrebten Akkubetrieb. Nenneingangsspannung für das Board sind dabei 19 Volt (was wiederum nicht so praktisch ist). Wie der Name des Boards schon andeutet, verfügt es über eine Intel Atom D2550 CPU. Diese hat einen TDP (http://www.heise.de/glossar/entry/Thermal-Design-Power-397869.html) von 10 Watt, günstig für mobilen Betrieb. Es kamen auf den ersten Blick eine Reihe von günstigeren Intel-Boards in Frage, dummerweise läuft die Intel PowerVR-Grafik aber offenbar nach wie vor nicht unter Linux (http://communities.intel.com/thread/33947). Linux-Unterstützung ist hier aber wichtig, weil ich mittelfristig ROS auf dem Roboter verwenden will. Auf dem ZOTAC Board befindet sich eine NVIDIA GeForce GT 610 GPU, dafür sollte es Linux-Treiber geben. Das Board wird serienmäßig mit einem WiFi-Modul ausgeliefert, die Antennen lasse ich durch das Lochblech ragen."
Das Gehäuse für das MB habe ich mir aus Gehäuseprofilen (Meterware) und Alu-Lochblechen aufgebaut. Es fügt sich gut in die mobile Basis ein (finde ich :-)). Der Rechner läuft schonmal, bisher ist allerdings nur Win7 installiert, Ubuntu folgt dann bei Gelegenheit mal (als Dualboot System). Auf letzteres will ich ROS draufsetzen, wobei ich aber noch absoluter Anfänger in Sachen ROS bin. Mal sehen wie sich das entwickelt :-).
25880 25881 25882 25883 25884
Hier gibt es noch ein paar mehr Bilder. (http://www.mtahlers.de/index.php/robotik/humanoider-torso/zentralrechner)
Gruß
Malte
Moin!
Ein weiteres Update:
Mir gefiel der Zweiradantrieb der A1 Basis nicht so gut. Im Vergleich zu den Möglichkeiten, die man beim Gehen mit Beinen hat, ist die Beweglichkeit auf Grundlage des bisherigen Antriebs eher eingeschränkt. Ich stelle mir z.B. - hypothetisch - vor, dass der Roboter sich vor einer Art Küchenzeile oder Schrankwand parallel zu dieser bewegen können soll. Mit dem differentiellen Antrieb ist das nicht möglich, der Roboter müsste sich erst 90° drehen, dann ein Stück parallel fahren und sich wieder -90° zurückdrehen. Mit einem omnidirektionalen Antrieb ist genau das anders. Ich hatte eine kleine "Vorstudie" zu Omniwheels (http://www.mtahlers.de/index.php/robotik/omnivehicle) gemacht, um mir das Prinzip der Ansteuerung etwas näher zu erarbeiten. Nachdem dieses problemlos verlief, habe ich mich daran gemacht die A1 Basis mit 125 mm Omniwheels auszustatten. Die Räder habe ich vom Hersteller Rotacaster gesponsert bekommen :-). So sieht das Ganze aus:
http://www.youtube.com/watch?v=3NHzNN3Sto8
Die Motoren laufen noch zu langsam und ich habe hier und da noch Resonanz-Probleme, aber grundsätzlich sieht das alles schon ganz vielversprechend aus. Ein klein bißchen (aber nicht viel) mehr Infos zur "neuen" Basis finden sich hier auf meiner HP: http://www.mtahlers.de/index.php/robotik/humanoider-torso/mobile-basis
Ich habe außerdem das Übersichtsvideo zu dem gesamten Projekt nochmal überarbeitet:
http://youtu.be/vY9TX5o1nGw
Gruß
Malte
Günter49
13.08.2013, 15:12
Die Begründung für den omnidirektionalen Antrieb ist einleuchtend und ich überlege, ob ich meinen Roboter auch entsprechend umrüste. Allerdings sollte mein Roboter auch die ca. 2cm hohen Türschwellen zwischen 2 Räumen überwinden können. Hatte Deinen neuen Antrieb ja schon in Hannover bewundert, aber in der Glashaus-Hitze hat mir wohl die Konzentration für die richtigen Fragen gefehlt . Also jetzt:
Wird ein dreirädriger Roboter mit Omniwheels und einem Raddurchmesser von 125mm eine Schwelle von 2cm Höhe (Roboter-Masse ca. 16kg, entsprechende Bodenfreiheit und hinreichende Motorleistung vorausgesetzt ) überwinden können? Fährt er senkrecht gegen die Schwelle, trägt das dritte Rad ja nicht zum Vortrieb bei.
Gruß. Günter
Hallo Günter!
Das ist eine interessante Frage die Du da aufwirfst :-). Der problematischste Fall dürfte ja der sein, wenn sich ein Rad der Schwelle parallel nähert. Ich meine damit den Fall "roter Pfeil" in der angehängten Skizze. Dann nämlich wirken ja nur die passiven Rollen und da die bei den Rotacaster-Rädern 20 mm Durchmesser haben, wäre die theoretische Grenze für ein Hindernis 10 mm Höhe. Der im Verhältnis unproblematischste Fall wird wohl der sein, wenn sich zwei Räder wie im Fall "grüner Pfeil" (siehe Skizze) der Schwelle nähern. Obwohl die Räder auch in diesem Falle nicht senkrecht auf die Schwelle treffen, würde ich annehmen, dass die theoretische Grenze hier tatsächlich der halbe Durchmesser des Hauptrades ist. Ich muss aber ehrlich zugeben, dass ich mir das auch nochmal in Ruhe überlegen muss. Aber Theorie hin oder her - ich werde das in den nächsten Tagen einfach mal praktisch ausprobieren, das ist ja schon ein wichtiger Punkt ... Würdest Du das ähnlich sehen wie oben dargestellt, oder übersehe ich etwas?
Gruß
Malte
26210
Günter49
13.08.2013, 20:49
Meine „senkrechte“ Annährung war wohl zu doppeldeutig. Deine Skizze schafft Klarheit. Ich hatte eigentlich nur an den Fall „grüner Pfeil“ gedacht, weil ich so die größte Chance für das Überwinden der Schwelle sehe. Da die Rollen des hinteren Rades nicht blockiert bzw. gebremst werden können und damit nicht als Stütze gegen die stärkere Reaktionskraft beim Steigen dienen können, wäre wahrscheinlich eine Annährung mit einer „gewissen“ Geschwindigkeit hilfreich.
Falls Du Dir die Mühe mit dem Ausprobieren wirklich machen möchtest, bin ich gespannt auf das Ergebnis.
Gruß, Günter
Guter Punkt! Daran habe ich tatsächlich nicht gedacht. Ich werde es kurzfristig mal ausprobieren, Deine Anmerkung macht es ja noch ein bißchen interessanter. Was ich aus praktischer Perspektiver auf jeden Fall schon jetzt sagen kann ist, dass das Überfahren von Kabeln kein Problem war. Du erinnerst Dich vielleicht an die Situation in Hannover: um den Roboter herum lag auf dem Boden allerhand Kabelage, das dickste war das VGA Kabel mit (schätzungweise) 8 mm. Darüber konnte ich im Allg. ohne Probleme fahren (wobei da die Richtung natürlich "zufällig" war).
Gruß
Malte
HannoHupmann
14.08.2013, 08:32
Genau diese Überlegung hat mich damals davon abgehalten einen neuen omnidirektionalen Roboter aufzubauen. Ich habe in meiner Wohnung leider (Altbau) sehr viele hohe Türschwellen (2-3cm) die würde ich mit den gängigen omnidirektionalen Rädern nicht überfahren können. Das Antriebsprinzip ist leider nur für Ebenen geeignet ohne Kanten und Stufen. Genauso bei Mercanium-Rädern. Beim Justin vom DLR habe ich damals eine schöne omnidirektionale Plattform gesehen, die auch in der Lage ist über kleinere Stufen zu fahren. Vor allen lässt sich hier der Abstand zwischen den Rädern verändern, so dass er entweder sehr stabil steht oder eine kleine Fläche benötigt. Allerdings wird hier jedes Rad mit zwei Motoren angetrieben (1x Fahren 1x Lenken)
http://upload.wikimedia.org/wikipedia/en/b/b7/Justin_humanoid_robot_dlr.jpg
Hi Hanno,
ja, ich hatte mir den Justin dieses Jahr auf der Hannovermesse mal genauer angesehen, auch das Fahrwerk. Der Ansatz ist natürlich extrem aufwändig - zumindest im Verhältnis zu meinen Möglichkeiten. Mein Credo ist ja - aus der Not eine Tugend machend - möglichst billig und technisch einfach zu bauen. Für mich ist es erstmal okay, dass meine Plattform nur in einem Raum auf relativ ebenen Boden fahren kann. Es geht (mir) ja eher ums Prinzip. Beim Justin sieht man übrigens auch, dass wenn man es mit vier Rädern ernst meint, schon ein gewisser Aufwand in eine gefederte Aufhängung der Räder gehen muss. Ich bin aber auch garnicht so pessimistisch, dass ich mit meinen Omniwheels nicht auch 1-2 cm überwinden kann, zumindest wenn man das Hindernis einigermaßen optimal anfährt. WIe gesagt, ich probiere es baldmöglichst mal aus und werde berichten.
Gruß
Malte
- - - Aktualisiert - - -
Eigentlich habe ich etwas anderes zu tun, aber ich konnte es nicht lassen mal eben einen ersten kleinen Test zur Überwindbarkeit von Hindernissen mit den rotacaster wheels zu machen :-). Ich habe einfach einen Regalboden (Pressspanplatte) von 16.4 mm Stärke vor den Roboter gelegt, ihn so gut es ging festgehelten und bin dann draufgefahren. Das Video zeigt, dass es geht. Allerdings stellt das Hindernis eine Störung dar, die dazu führt dass man etwas "vom Weg abkommt". Reine Odometrie hätte hier also durchaus ein Problem (hat sie aber ja eigentlich immer). Ich werde das Ganze in bälde nochmal etwas systematischer Testen.
http://youtu.be/bdw3sbeWF5E
Gruß
Malte
HannoHupmann
14.08.2013, 10:30
Das ist jetzt aber der Idealfall den du da mit deinem Regalbrett nachgestellt hast. Ich denke, dass es Schwierigkeiten gibt sobald der Roboter ungünstiger an die Kante heran fährt und die Hilfsrollen die 16,4mm überwinden müssen.
Das war jetzt etwas unausgegoren was ich da bisher abgesondert habe :-). Eines ist ja klar: wenn es um das Überfahren einer Schwelle geht, enthält der günstige Fall (grüner Pfeil in der o.g. Skizze) ja mehr oder weniger den ungünstigen Fall (roter Pfeil) bzw. das eine zieht das andere nach sich. Wenn der Roboter mir zwei Rädern über die Schwelle drüber ist, muss das hintere ja auch noch drüber. Und wenn die ersten beiden Räder entsprechend dem grünen Pfeil drüber sind, dann muss das verbleibende dritte Rad eben entsprechend dem roten Pfeil (nur in umgekehrter Richtung) noch über die Schwelle. Und genau da liegt dann das Problem. Ich habe es gerade nochmal mit einem 10 mm hohen Hindernis probiert, das parallel zum Rad liegt, das funktioniert - erwartungsgemäß - schon nicht mehr. Mir war (und ist) dieser Punkt nicht so wichtig, deswegen habe ich bisher nicht wirklich darüber nachgedacht, aber das ist schon ein Problem bei den Omni-Wheels, dessen man sich bewusst sein sollte.
Anbei nochmal die Skizze damit man nicht eine Seite zurück muss:
26213
Gruß
Malte
Christian H
14.08.2013, 14:44
Hi,
wäre evtl. ein Kegel an den Achsen der Omniwheels und Kegel unter dem Chassis eine Lösung. O.k. nicht sonderlich elegant und wegen der Reibung fraglich, aber wenn´s nur um cm geht. Außerdem könnte ja der A1 sich so drehen, dass er im günstigsten Winkel steht.
Vielleicht helfen auch kl. Zusatzräder quer zu den Omniwheels, die nicht ganz bis zum Boden reichen, insb. wenn sie nachlaufend, drehbar gelagert wären.
Urig könnte auch folgende Lösung sein: Die 3 Omniwhees treiben einen großen Ball in der Mitte an, der wiederum die Kraft auf den Boden überträgt. Drumrum wird die Bodenplatte nur durch gefederte, nachlaufende Stützräder gehalten
Christian
Hallo Christian,
ja genau, in die Richtung hatte ich eben auch schon überlegt, allerdings dann nur auf der Innenseite für das hintere Rad. Damit hätte man dann zumindest die Möglichkeit, in einer bestimmten Stellung (in Blickrichtung des Roboters) einigermaßen über eine Schwelle zu kommen. Ich finde das Problem grundsätzlich interessant, wobei es für mich erstmal nicht sooo hohe Priorität hat, weil irgendwie eh klar ist, dass der Roboter nur unter zahlreichen Randbedingungen funktioniert. Und in dem Moment wo eine Türschwelle zB eine deutliche Fase hat, verringert sich das Problem ja auch schon. Alternativ könnte man auch eine entsprechende Leiste (dreieckig im Querschnitt) vor die Schwelle legen. Aber klar, das sind alles nur Workarounds :-).
Gruß
Malte
Günter49
15.08.2013, 09:52
Hallo Malte,
vielen Dank für Deine Versuche. Zumindest wird deutlich, dass Räume mit Schwellen nicht die Lieblingsumgebung für 3-rädrige Omniwheel-Fahrgestelle sind. Ich habe mir noch überlegt, ob man mit einer Drehung des Roboters um 60° nachdem die beiden vorderen Räder die Schwelle schon überwunden haben, das Problem lösen könnte. Zur Verdeutlichung eine kleine Skizze (Annahme: Roboterdurchmesser über die Radnaben gemessen 60cm, lichte Weite der Tür 80cm, Schwellenbreite 15cm)
26229
Dein Vorschlag mit der Dreiecksleiste scheint mir von Aufwand und Nutzen die effektivste Lösung zu sein. Die Schwellen sind bei mir auch gleichzeitig Türanschlag, also ist das nur eine temporäre Lösung. Da mein Roboter aber wahrscheinlich keine Türen öffnen kann (z.Zt. will er nicht mal geradeaus fahren :mad:), werde ich ihm nach einer vorbereitenden Türöffnung eben auch noch zwei Leisten hinlegen. Das meint wahrscheinlich auch der Begriff “Service-Roboter“: Man muss vorher eine Menge Service leisten, damit der Roboter hinterher einige simple Hilfsfunktionen ausführen kann.
Nochmals vielen Dank für Deine Mühe
Günter
oberallgeier
15.08.2013, 11:57
Hallo Malte, hallo Günter,
was für eine hübsche Diskussion mit Experimenten. Bravo Günter und bravo Malte. Und ich denke jetzt nicht mal an den Satz "... hab ich schon immer (unbewusst) befürchtet ...".
... Wird ein dreirädriger Roboter mit Omniwheels ... 125mm ... Schwelle von 2cm ... überwinden ...Das ist wohl die wichtige Fragestellung. Ein Dreirädrer! Ich denke an den direcs1 von Markus, den kennt ihr doch beide. Der muss mit seinen vier Omniwheels wohl nicht die hier diskutierte Schwellenangst haben. Denn - er fährt wie mit Standardrädern vorwärts, hat aber in der Rangiermöglichkeit alle Vorteile des Omniwheels. Oder irre ich mich? Als Minimalist würde ich jetzt sogar (ohne sorgfältige Überlegung) meinen, dass ein Omniwheeler mit zwei starren, parallelen Omniwheels und einem (schwenkbaren) Stützrad wohl Vorteile gegenüber dem mit drei angetriebenen Omniwheels hat: billiger und keine Schwellenangst. Oder?
Nachtrag: Beim Zweirädrer-Omni ist die Parallelität der Radachsen nicht mal erforderlich, vielleicht sogar nicht sinnvoll. Winklig angeordnete Achsen, nicht unbedingt 60°, dürften in der Manövrierbarkeit bei engen Verhältnissen Vorteile bieten.
Hallo zusammen!
@Günter
Danke! Ja, das wäre grundsätzlich eine Variante. Was diesen Ansatz allerdings praktisch wieder verkompliziert, ist die Tatsache, dass man als "Trigger" für ein solches motorisches Programm die Schwelle aktiv erkennen muss. Ich weiß nicht genau, ob das zB mit der Kinect im Kopf noch möglich ist. Wenn ja, wäre es sicher mal ein schönes Experiment, das von Dir vorgeschlagene "Verhalten" mal praxistauglich umzusetzen. Am schönsten wäre natürlich, wenn das System als solches schon so robust wäre, dass es ein Hindernis wie ein Schwelle einfach überfahren kann und dann nur ggf. die dadurch hervorgerufene Störung wieder "ausnavigieren" könnte. Dass die Türschwellen auch noch eine praktische Funktion für die Türen haben, war mir irgendwie entgangen :-). Bei mir stehen die meisten (nicht alle) Türen immer offen ... Insofern ist die Dreiecksleiste vor der Schwelle u. U. wirklich nicht praktisch. Noch eine Frage offtopic: hast du irgendwo eine Doku oder einen Thread zu Deinem aktuellen Roboterprojekt (sorry falls ich ihn bisher stumpf übersehen habe)? Ich kann mich nur an einige Bilder Deines Roboterarms erinnern, das war im Zusammenhang mit dem Servogetriebe. Würde mich auf jeden Fall sehr interessieren dort mitzulesen ...
@oberallgeier
Dank auch Dir! Ich denke Du hast halb recht ;-). Für eine Geradeausfahrt über eine Schwelle ist der direcs1 von Markus sicher im Vorteil, "seitwärts" (ich denke Du weißt was ich meine), hätte er aber das gleiche Problem. Mit der vollen "Omni-Funktionalität" kommt er also auch nicht über ein Hindernis. Bei zwei parallelen Omniwheels und einer passiven Rolle geht mMn die Omnidirektionalität des Antriebes verloren weil man nicht mehr alle Geschwindigkeitskomponenten erzeugen kann (insb. Seitwärstfahrt ist nicht möglich, d.h. senkrecht zur Drehebene der Räder).
Vielen Dank fürs Mitdenken!
Malte
oberallgeier
15.08.2013, 12:53
... Bei zwei parallelen Omniwheels und einer passiven Rolle geht mMn die Omnidirektionalität ... verloren ...Genau, das hatte ich eben wirklich nicht durchdacht. ABER - bei sich kreuzenden Achsen - mit flachem Winkel . . . (siehe Nachtrag) ??
Ich müsste es mir mal in Ruhe überlegen, aber jetzt erstmal so intuitiv (und vorläufig): wie sollen mit nur zwei angetriebenen Rädern (und seien es auch Omniwheels) zwei senkrecht aufeinander stehende translatorische Bewegungen möglich sein? Wenn sich die beiden Räder gegensinnig (aus Sicht des Motors) drehen müsste das Vehikel vor- oder rückwärts fahren, wenn sie sich gleichsinnig drehen, kommt es zu einer Rotation. Die Dimension senkrecht-zu-vor-/rückwärts fehlt also. Oder?
oberallgeier
15.08.2013, 13:59
Ich müsste es mir mal in Ruhe überlegen, aber ...Hätte ich auch machen müssen.
Es geht sicher nicht.
Begründung: zwei nicht-parallele Kräfte (auch zwei parallele mit Achsversatz) haben immer eine nicht abzusättigende Komponente ausser für den trivialen Fall, dass beide Null sind. Erst eine dritte Kraft kann diese Komponente ausgleichen. Ein Stützrad hat aber die Aufgabe sich möglichst rückwirkungsfrei zu verhalten, eine Kraft in Fortbewegungsebene soll durch ein Stützrad möglichst nicht ins System eingebracht werden (auch wenns mitunter bei manchen Manövern nicht anders geht.
Sorry, war ein ungeeigneter Einwand.
Schöner hätte ich es nicht sagen können, oberallgeier ;-).
Möchte man aktiv mit einem geeigneten Manöver auf eine Türschwelle o.ä. reagieren (wie von Günter vorgeschlagen), muss man (= der Roboter) sie ja erstmal erkannt haben. Auch wenn ich mich jetzt nicht auf diese Problematik konzentrieren wollte, habe ich mal schnell ausprobiert, ob die Kinect am Kopf des A1 ein gut 16 mm hohes Brett flach auf dem Boden (= Modell einer Türschwelle) überhaupt noch sicher erkennt. Die Antwort ist: ja! Man bewegt sich damit allerdings schon nah an der Auflösungsgrenze. Außerdem kann ich den Kopf nicht sehr steil nach unten ausrichten, sodass mir das, was unmittelbar vor den Füßen (naja, den Rädern ...) des Roboters stattfindet, unsichtbar bleibt.
26232
(die Tiefeninfo ist durch den periodischen Grauverlauf dargestellt, etwa alle 500 mm wiederholt sich der Verlauf)
Günter49
15.08.2013, 15:30
@Malte
Ich kann Dich beruhigen, Du hast nichts übersehen, da es weder einen Thread noch Bilder gibt. Zur Zeit ist mein Roboter in einer Umbau/Rohbau-Phase. Der von Dir erwähnte Roboterarm ist schwerer geworden als gedacht und besonders als meine vorherige Konstruktion. Deswegen habe ich den ganzen Aufbau verstärkt und auf Phidgets bzw. Tinkerforge unter Python umgestellt. Mit der Folge, dass alles was mit Serializer und brainstem unter C# schon mal schön funkioniert hat (z.B. Geradeausfahrt :mad:) nicht mehr funktioniert. Zur Info über den aktuellen Bauzustand habe ich schnell mal zwei Fotos gemacht und auf flickr hochgeladen.
http://www.flickr.com/photos/33233065@N02/9514403117/
http://www.flickr.com/photos/33233065@N02/9517191108/
Gruß, Günter
Das sieht ja schonmal interessant aus! Also wenn Du mal einen Thread hier oder gar einen kleinen Blog dazu machst: mich hättest du als Mitleser gewonnen! Wäre durchaus an weiteren Details interessiert - zumal unsere Systeme von ihrer Dimension und Ausstattung ja garnicht so verschieden sind ...
Haffnerin
20.08.2013, 15:59
Ich wäre auch auf jeden Fall dein Leser. Scheint unglaublich spannend, was du da machst :)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.