"Evolution" eines Humanoiden / Biped / Laufroboter

Fussballroboter, Autofabrik...
Modellideas &- presentation - Soccerrobot, Carfactory...
Forumsregeln
Bitte beachte die Forumsregeln!

"Evolution" eines Humanoiden / Biped / Laufroboter

Beitragvon NBGer » 31 Aug 2018, 19:33

Hallo, ich trage mich ja schon lange mit der Idee, ob es mit Fischertechnik möglich ist, einen humanoiden Laufroboter zu bauen, der einigermaßen wie ein Kaufroboter laufen kann.

Meiner Meinung nach mit 100% Fischertechnik sicherlich nicht, aber vielleicht mit 80%.

Inzwischen sind mir ein paar ganz gute Ideen gekommen, so dass ich dieses Projekt letztes WE gestartet habe. Ich veröffentliche den Fortschritt (und auch Rückschritte ;) ) von Anfang an. Deswegen "Evolution" im Titel!
Vielleicht wird der Roboter ja nie fertig und verstaubt wie ein paar andere angefangene Ideen im Schrank.

Zuallererst geht es um die reine Technik, hübsch muß er nicht werden.

Parallel zu diesem Thread veröffentliche ich Photos hier: https://www.ftcommunity.de/categories.php?cat_id=3529
Der Anfang ist ja bereits zu sehen. Ein Prototyp des ersten Beines steht.

Das grobe Konzept:

Sprunggelenk, Knie und Hüfte (eine Richtung) werden angetrieben mit einem Schneckenantrieb.
Vorteil: selbsthemmend; kein Energiebedarf, wenn keine Bewegung
Detail: Die Antriebe werden unterstützt durch Federn, die die potentielle Energie aufnehmen.
Dadurch ist es für die Motoren zwar etwas schwerer, den Roboter abzusenken, aber viel leichter, ihn anzuheben. Im Idealfall sollten die Federn alleine den Roboter halten können, dazu fehlt mir aber eine ausreichende Auswahl an Zug- und Druckfedern.

Ein Bein wiegt im Moment 800g.
Pro Bein habe ich nur 3 Motoren (Freiheitsgrade) vorgesehen. Damit ist die Funktion natürlich beschränkt! Erstens, er wird nicht um die Kurve laufen können. Zweitens, um auf einem Bein zu stehen, muß er den Oberkörper als Gegengewicht seitlich verschieben; dazu muß ich am Ende noch Gewicht drauf packen. Eventuell komme ich mit diesem Konzept nur mit einem weiteren Motor in der Hüfte aus.

Eigentlich braucht man noch ein paar Freiheitsgrade mehr. Zusätzlich einmal in der Ferse und 2 x in der Hüfte (je Seite). Das bringt aber noch mehr Gewicht und Komplexität. Ich versuche es erstmal so, ob ich ihn überhaupt zum Laufen bringe. Vielleicht kann man ja später noch die Funktionen verbessern

Die ersten Versuche, die Motoren zu drehen, sind vielversprechend. Das Bein ist relativ stabil und die Motoren schaffen es locker, hoch- und runter zu fahren.

Im Moment mache ich Versuche mit einem Arduino, die Motoren anzusteuern. Erstes Ergebnis: Beschleunigen und Bremsen der Motoren mit Rampenfunktion bringt Vorteile.
Abruptes Anfahren/Anhalten der Motoren von 0V auf 9V und umgekehrt bringt das Bein ins Nachschwingen und macht es instabil.

Aktuell arbeite ich daran, alle Motoren eines Beines per Arduino Shield anzusteuern und die Motoren zu koordinieren.

Weiterhin benötige ich Absolutwertgeber für die Stellung aller Gelenke. Dazu habe ich eine ganz gute Idee, welche ich in Kürze beschreibe.

Für das 2. Bein habe ich Material bestellt; außerdem ein paar Alus, um das Ganze noch etwas stabiler zu machen.

Vielleicht habt Ihr ja ein paar Tipps, wie man Manches gut lösen kann.

Von der Software-Seite will ich mich erst mal mit einer Positionsregelung beschäftigen. Geschwindigkeitsregelung per PID und PWM habe ich schon mal gemacht, aber auf Position (sprich in diesem Fall Winkel) habe ich noch nicht geregelt.
NBGer
 
Beiträge: 67
Registriert: 02 Aug 2013, 18:26
Alter: 53

Re: "Evolution" eines Humanoiden / Biped / Laufroboter

Beitragvon EstherM » 31 Aug 2018, 20:58

Bitte, bitte, stell das Ding auf de Convention in Dreieich vor!
Gruß
Esther
EstherM
 
Beiträge: 172
Registriert: 11 Dez 2011, 22:24

Re: "Evolution" eines Humanoiden / Biped / Laufroboter

Beitragvon geometer » 31 Aug 2018, 22:41

Hallo,

kennst Du Elektrolutz' Samurai?

http://ftcommunity.de/details.php?image_id=29291#col3

Wenn ich mich recht erinnere, lief der zwar nicht sehr schnell, aber sicher. Er war eine Fortentwicklung des fischertechnik-Samurai von 2003 mit Schnecken statt Hubgetrieben in den Beinen und einigen weiteren Verbesserungen. Ob er Sprunggelenke hatte, weiß ich nicht mehr. Hier ist ein Link auf den fischertechnik-Samurai:

http://ft-datenbank.de/details.php?ArticleVariantId=1d711279-88ad-4be8-883b-99eacfb34839

Viele Grüße

Thomas
geometer
 
Beiträge: 187
Registriert: 28 Jan 2011, 13:24
Wohnort: Bochum

Re: "Evolution" eines Humanoiden / Biped / Laufroboter

Beitragvon NBGer » 01 Sep 2018, 13:19

geometer hat geschrieben:Hallo,

kennst Du Elektrolutz' Samurai?

http://ftcommunity.de/details.php?image_id=29291#col3



den kannte ich noch nicht! süß irgendwie! ;)
ich hab auch noch diesen "BigBoy" gefunden: http://ftcommunity.de/details.php?image_id=9793
NBGer
 
Beiträge: 67
Registriert: 02 Aug 2013, 18:26
Alter: 53

Re: "Evolution" eines Humanoiden / Biped / Laufroboter

Beitragvon NBGer » 02 Sep 2018, 14:50

Winkelmesser / Absolutwertgeber für alle Gelenke:

https://www.ftcommunity.de/details.php? ... 47849#col3

kostet selbst bei conrad fast gar nix! ;)

ich habe aber noch nicht getestet; schaffe ich vielleicht heute (Sonntag) noch
NBGer
 
Beiträge: 67
Registriert: 02 Aug 2013, 18:26
Alter: 53

Re: "Evolution" eines Humanoiden / Biped / Laufroboter

Beitragvon NBGer » 03 Sep 2018, 00:33

NBGer hat geschrieben:ich habe aber noch nicht getestet; schaffe ich vielleicht heute (Sonntag) noch


also, funktioniert ziemlich gut!!
die Analogeingänge des Arduino verarbeiten 0..5 Volt. Ich schliesse also die Arduino-5V Spannung an das Poti an anstatt 9V Power-Supply der Motoren.
Der Arduino hat einen Wertebereich 0..1023 für 0..5 Volt.

Am Sprunggelenk habe ich schon getestet. Der Winkel, den die Mechanik momentan hergibt, liegt zwischen 60 und ca. 110 Grad (womit ich noch nicht ganz zufrieden bin). Am Analog-Eingang lese ich 530 bei 60 Grad, 625 bei 90 Grad und 685 bei ca. 110 Grad.
Das macht dann je Integerschritt ca. 0,32 Grad, also pro Grad ungefähr 3 Schritte. Ich denke, die Auflösung ist völlig ausreichend!

Jetzt muß ich mir noch eine geschickte Zahlendarstellung und Berechnung überlegen, da der Arduino keine Floating-Point Unit hat und Berechnungen mit Gleitpunkt-Zahlen damit quälend langsam wären.
NBGer
 
Beiträge: 67
Registriert: 02 Aug 2013, 18:26
Alter: 53

Re: "Evolution" eines Humanoiden / Biped / Laufroboter

Beitragvon MasterOfGizmo » 03 Sep 2018, 10:10

Ohne es selbst ausprobiert zu haben klingt mir das Thema ja sehr nach einem perfekten Projekt für die Teile aus dem Elektro-Pneumatik.
ftDuino, der Arduino für fischertechnik: http://ftduino.de
Benutzeravatar
MasterOfGizmo
 
Beiträge: 1397
Registriert: 30 Nov 2014, 08:44

Re: "Evolution" eines Humanoiden / Biped / Laufroboter

Beitragvon NBGer » 03 Sep 2018, 11:16

MasterOfGizmo hat geschrieben:Ohne es selbst ausprobiert zu haben klingt mir das Thema ja sehr nach einem perfekten Projekt für die Teile aus dem Elektro-Pneumatik.


Hi,
Pneumatik wäre ein interessanter Ansatz! Die Beine könnten kleiner und leichter sein.
Allerdings beim Thema Kraft und Präzision habe ich bei der Fischertechnik-Pneumatik erhebliche Bedenken! Mit einer guten Hydraulik könnte man das eventuell sehr schön lösen.
Anstatt den Motoren und Schneckenantrieben jeweils ein Hydraulik-Zylinder und gute Hydraulikventile, die sich elektronisch regulieren lassen. Das wäre sehr elegant!
Du bringst mich auf Ideen.... :D naja, vielleicht das nächste Projekt!?
NBGer
 
Beiträge: 67
Registriert: 02 Aug 2013, 18:26
Alter: 53

Re: "Evolution" eines Humanoiden / Biped / Laufroboter

Beitragvon MasterOfGizmo » 03 Sep 2018, 12:28

Was die Kraft angeht hätte ich keine Bedenken. Die Pneumatik hat m.E. im Vergleich mit anderen ft-basierten Lösung reichlich Kraft. Aber ohne Steuerung des Luftdrucks bzw. der Luftmenge rummst das schon ordentlich von Endanschlag zu Endanschlag.
ftDuino, der Arduino für fischertechnik: http://ftduino.de
Benutzeravatar
MasterOfGizmo
 
Beiträge: 1397
Registriert: 30 Nov 2014, 08:44

Re: "Evolution" eines Humanoiden / Biped / Laufroboter

Beitragvon NBGer » 03 Sep 2018, 14:04

Kleiner Zwischenstand: Software

Ich hatte noch ein bisschen Zeit und hab an der Steuerung der Motoren weitergearbeitet:
Momentan habe ich mit einem Gelenk getestet:

Implementierte Funktionen:
- Ansteuerung des Motors mit PWM
- Einlesen der absoluten Winkelposition über Poti, Weiterverarbeitung als Rohdaten (0..1023) und Umrechnung in Winkel 1/10 Grad.
- interne Berechnung in Integer bzw. Long, um Rundungsfehler zu minimieren (keine Gleitpunkt-Arithmetik, da zu langsam)
- Berücksichtigung einer Mindest-PWM, unter der der Motor nicht dreht
- Parametrierung der mech. Grenzen Limit_Min und Limit_Max; weiter darf die Mechanik nicht fahren.
- Sicherheitsfunktion (in allen Modi): sofortiger Motor-Halt, falls Grenzen erreicht oder überschritten
Vorteil: da ich Absolutwerte vom Sensor bekomme, brauche ich keine Endschalter; und kann nach dem Einschalten (bei gespeicherten Parametern) sofort loslegen
- Rampenfunktion (in allen Modi) beim Fahren bis zum mechanischen Limit
- Mode_1: Geschwindigkeits-Steuerung: Soll-Vorgabe einer Geschwindigkeit, Hoch- bzw Runter-Rampen, bis neue Geschwindigkeit erreicht ist
- Mode_2: Zielposition: Anfahren einer absoluten Winkelposition mit Rampe beim Erreichen der Position (überlagert Geschwindigkeits-Steuerung)

Was noch fehlt: Geschwindigkeitsregelung
Vorgabe einer Winkelgeschwindigkeit, Regelung der Motor-PWM abhängig von Winkelgeschwindigkeit (PID-Regler)
Die Programmierung eines PID-Reglers ist nicht schwer, die Arbeit steckt dann in der Anpassung der Parameter; damit der Regler zum Beispiel nicht schwingt und nicht übersteuert.
Außerdem braucht man einen ziemlich präzisen Zeittakt für die Regelung, was mit der Arduiono-MainLoop schwer machbar ist.
Am Ende muß ich ja mindestens 7 Motoren gleichzeitig regeln.
Ich habe FreeRTOS für Arduino gefunden; vielleicht probiere ich das mal aus. Ein Echtzeit-Kernel würde die Sache sehr vereinfachen!
Das stelle ich aber erst mal zurück, für die ersten mechanischen Versuche müsste es auch ohne Regelung klappen.

Als nächstes würde ich beide Beine vollständig aufbauen und verkabeln. Aber jetzt habe ich erst mal keine Zeit mehr, da ich ab morgen beruflich unterwegs bin....

später geht es erst an die eigentlichen Lauffunktionen des Roboters: Kinematik, Trajectory...
dafür ist es wahrscheinlich hilfreich, einen Sensor (Schalter) in jede Ferse einzubauen. Bei jedem Aufsetzen des Fußes kann dann der Software-Ablauf synchronisiert werden
NBGer
 
Beiträge: 67
Registriert: 02 Aug 2013, 18:26
Alter: 53

Re: "Evolution" eines Humanoiden / Biped / Laufroboter

Beitragvon NBGer » 03 Sep 2018, 16:23

hier noch ein Bild zum aktuellen Stand: https://www.ftcommunity.de/details.php?image_id=47853
NBGer
 
Beiträge: 67
Registriert: 02 Aug 2013, 18:26
Alter: 53


Zurück zu Modellideen & -vorstellung

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste