PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Entwicklung eines humanoiden Roboters



Marcel D
17.02.2020, 22:53
Hallo Roboter-Netz-Community,

dieses Forum scheint eine geeignete Plattform zu sein um Leute zu finden, die ebenfalls an der Entwicklung eines humanoiden Roboters interessiert sind.

In meiner Abschlussarbeit habe ich mich mit der Modellbildung und dem Prototypenentwurf eines humanoiden Roboters befasst.
Es ging darum die Kinematik des Roboters entwickeln, Entscheidungen für die Antriebe zu begründen, die Konstruktion auszulegen und Bewegungsanalysen am Modell durchzuführen.

Hierzu wurden die notwendigen Voraussetzungen und Vereinfachungen für einen Roboter, der sich im Eigenbau umsetzen lässt aufgestellt.

Existierende humanoide Roboter, wie man sie im Internet finden kann, haben gemeinsam, dass ihre Bewegungen dynamisch erfolgen. Hierdurch sind sie sehr aufwändig in der Vorausberechnung und Regelungstechnik. Für die Anwendung eines Roboters, der beispielsweise für Servicetätigkeiten im Haushalt eingesetzt werden kann, ist jedoch kein System mit einer hochdynamische Bewegung notwendig. Dies kann auch durch ein System errecht werden, das kein dynamisches Durchschreiten von statisch unstabilen Bereichen berücksichtigen muss. Der Roboter muss somit sehr steif ausgelegt und mit großen Standflächen versehen werden.
Das Prinzip der statischen Bewegung gestaltet die Umsetzung nicht so aufwändig, wodurch der Entwicklungsaufwand überschaubar bleibt und keine so aufwändige Steuerung und Regelung entwickelt werden muss, wodurch es auch Einzelpersonen möglich ist einen einfachen Roboter zu entwickeln.

Um die Kinematik festzulegen, wurde der menschliche Körper in sieben Teilsysteme zerlegt (Beine, Hüfte, Torso, Kopf, Schultern, Arme und Hände). Anschließend fand eine schrittweise Betrachtung von den Standflächen bis zu den Händen statt. Somit konnten den einzelnen Teilsystemen eine reduzierte Anzahl an Freiheitsgraden zugeordnet werden, die sich miteinander ergänzen, wobei die Anzahl der Freiheitsgrade ausgehend vom menschlichen Körper auf ein realisierbares Maß reduziert wurde. Im Zusammenspiel bilden diese jedoch größtenteils den ursprünglich verfügbaren Bewegungsraum ab.

34830

In verschiedenen Entscheidungsmatrizen fand eine Auswahl der Antriebe statt. Somit kann bei der Weiterentwicklung oder zukünftigen Detaillierung auf die vorangegangenen Entscheidungen zurückgegriffen werden. In Folge dieser Entscheidungen wurde ein Konstruktionsentwurf ausgelegt.

34833

Mit dem CAD-Modell des ausgearbeiteten Konstruktionsentwurfes wurden mehrere beispielhafte Bewegungsabläufe abgebildet und die Schwerpunktsverlagerung während der Bewegung analysiert.

34836

Grundidee für die Bewegung des Roboters ist es, den Antrieben Positionskombinationen vorzugeben, die nacheinander angesteuert werden. Die Bewegung wird von der Regelung entsprechend den gemessen Werten angeglichen. Diese soll dabei der Steuerung übergeordnet sein, da sie mit den Realwerten arbeitet. Aus diesem Grund soll die verwendete Sensorik der Steuerung lediglich die Möglichkeit, die groben Positionen der einzelnen Antriebe bestimmen zu können. Der Rest der Positionierung soll auf Vertrauensbasis durch Mitzählen der Schritte erfolgen. Durch zuteilen verschiedener abfragbarer Stellbereiche sollen die einzelnen Antriebe ohne großen Aufwand in ihrer groben Position abgefragt werden können. An den Übergängen kann die Position jeweils genau aktualisiert werden um etwaige Schrittverluste auszugleichen.

Was die Realisierung betrifft, ist die Mechanik des Prototyps bereits realisiert. Für das Knöchelgelenk wurde hierbei die schlürfende Gehversion umgesetzt um für erste Tests beide Beine auf dem Boden zu haben (freistehende Fuß-Variante im CAD-Modell).

Die hierfür benötigten Fertigungsteile sind hauptsächlich spanend hergestellt. Hierzu wurde die Kontur auf das Plattenmaterial übertragen und von Hand ausgespart. Anschließend wurden die Konturen geschlichtet und die Zentrierungen gesetzt, so dass anschließend wieder manuell weiter gearbeitet werden konnte. Lediglich der Kopf und die Finger sind gedruckt. Die Fotos sind etwas klein, aber ich will nicht gleich bei meinem ersten Beitrag gegen die vorgegebene Bildbreite verstoßen.

3483134832

Der zusammengebaute Kollege ist 1,75 m groß und wiegt 110 kg.

3483434835

Ich denke, dass die bisherige Vorarbeit eine gute Grundlage ist um ein Open-Source-Projekt zu starten, an dem Interessenten, die ebenfalls in der Richtung forschen und studieren wollen, mitmachen können.
Das CAD-Modell (da hier nicht mehr als 10MB hochgeladen werden können wird es anderweitig hochladen und verlinkt) ist momentan als Konstruktion für die spanende Herstellung ausgeführt. Auch vorstellbar ist, dass hier nochmals jemand eine Konstruktion der Kinematik als druckbare Ausführung überarbeitet, so dass sie auch ohne Fräs- und Drehmaschine realisiert werden kann.
Wenn ein Austausch des Erarbeiten untereinander stattfindet und die Ergebnisse mit Hilfe von Schwarmintelligenz weiter ausarbeiten werden, wird jeder etwas davon haben. Die bisherige Entwiklung betrifft lediglich die Sensorik und Aktorik zur Steuerung des Roboters. Wie er später Verhaltens-/Aufgabentechnisch programmiert wird ist dem Anwender selbst überlassen.

Im Moment bin ich noch dabei Videos vom Zusammenbau des Roboters zu erstellen (wird noch etwas dauern, da das Schneiden sehr zeitaufwendig ist), bevor es mit der Elektronik weiter geht (Hierfür gibt es bereits Skizzen der Schaltungen für die Sensorit, Aktorik und Bus-Systeme, die noch in ihren Werten ausgelegt werden müssen.). Sofern hier Interessenten an dem Open-Source-Projekt anwesend sind können wir gerne die bisherigen konstruktiven Details durchgehen, so dass sich jeder der mitmachen will einfacher in das Thema einarbeiten kann.

Grüße
Marcel

Manf
18.02.2020, 06:39
Vielleicht kann man doch noch etwas zur Motivation und Zielsetzung sagen.
(110kg für eine Haushaltshilfe mit schlurfendem Gang klingt ein wenig seltsam, ist die Energieversorung beim Gewicht schon dabei? )
Als Studie und zur Unterhaltung kann ich es mir vorstellen, dann könnte es aber auch etwas kleiner ausfallen.
Ein paar Erläuterungen zum Umfeld wären sicher hilfreich.

HaWe
18.02.2020, 13:48
ich finde das schon sehr beachtlich! Bin gespannt auf ein Video, wie er geht und sich bewegt..!
Sollte er allerdings tatsächlich "schlurfen", wäre das nicht so dolle, die Füße anheben zum Gehen müsste er schon können.

Alternative zum Schlurfen, wenn er wirklich keinen "echten" Gang schaffen sollte: dann doch auf Räder setzen ähnlich wie "Johnny 5 / Number Five" https://www.google.com/search?q=Johnny+Number+Five&tbm=isch&ved=2ahUKEwib5fiFn9vnAhWQAhoKHZ0wDQkQ2-cCegQIABAA&oq=Johnny+Number+Five&gs_l=img.3..0i19l2.7735.8944..9099...0.0..0.86.438 .7......0....1..gws-wiz-img.......0i7i30j0i8i7i30.NFmKalmMCHA&ei=Z-tLXtuVJ5CFaJ3htEg&bih=655&biw=1417 (allerdings keine Gleisketten).

Marcel D
18.02.2020, 17:45
Hallo,

das mit dem schlurfenden Gang ist wohl falsch rüber gekommen. Es gibt zwei Varianten, wie die Freiheitsgrade am Knöchel eingeschränkt werden.
In der einen Variante wird der Knöchel durch zwei sich schneidende Achsen gebildet. Hierdurch sind seine Freiheitsgrade so eingeschränkt, dass er auch auf einem Bein stehen kann. Der freie Fuß wird hierbei beim Laufen minimal über den Boden angehoben und versetzt.

34839

Bei der Fortbewegung muss (abgesehen von der Vorwärtsverlagerung) der Schwerpunkt von einem auf das andere Bein verlagert werden. Hierbei muss der Spalt zwischen den Standflächen überschritten werden, wenn beide Füße aufsitzen. Zu Beginn der Programmierung wird jedoch wahrscheinlich nicht Alles auf Anhieb reibungslos laufen. Somit würde der Roboter hier im schlimmsten Fall um die Höhe des angehobenen Fußes kippen, falls die Projektion des Schwerpunkts auf den Boden die Innenkante der Standfläche überschreitet, bevor der vorgesetzt Fuß aufsitzt.

34838

Aus diesem Grund gibt es vorerst die Variante mit Kugelgelenk als Knöchel. Hierdurch dreht der aktive Standfuß immer minimal ein, so dass der vorgeschobene andere Fuß aufsitzt. Es kommt somit zu einer schlürfenden Fortbewegung, mit der die Programmierung und Lernfase entspannter wird.

Die Motivation es hier zu veröffentlichen besteht darin einen Austausch mit Interessenten anzustoßen, die ebenfalls in diese Richtung einen Roboter bauen und forschen (wollen).
Ziel wäre es einen Austausch zur Erörterung einer idealen Kinematik mit der dazugehörigen Steuerung und Programmierung dieser zu schaffen, so dass jeder auf diese Information zugreifen kann und nicht von vorne entwickeln muss.
Für mich sitzt die Grenze, die vorerst Steuerungstechnisch erreicht werden soll an der Stelle, an der sich der Roboter über ein Interface manuell steuern lässt. Wie der Roboter später in seiner Anwendung programmiert werden soll, kann jeder selbst entscheiden.

Das der Entwurf eine Größe hat, die sich am menschlichen Körper orientiert liegt daran, dass ich ihn mir als Roboter für den Service im Haushalt gedacht habe. Sämtliche Gegenstände (Getränkepacks, Schrankgriffe, Wäschekörbe und Maschinen) sind in einer Größe ausgelegt, dass der Mensch sie gut Handhaben kann. Will man also einen Roboter, der die einfachen Tätigkeiten übernehmen kann bietet es sich an diesen an den Dimensionen des menschlichen Körpers zu orientieren.

Die 110 kg sind dem Herstellverfahren geschuldet. Das Ganze musste auf verfügbare Fertigungsverfahren angepasst werden. Somit hat sich eine Konstruktion aus Plattenmaterial ergeben, die letztendlich 50% zu diesem Gewicht geführt hat. Die anderen 50% bestehen aus Zukauf, die sich eigentlich nur durch den Austausch in ihrem Gewicht ändern lassen.

Die Energieversorgung ist dabei. Auf dem Rücken sind sechs Batteriepacks mit 7,2V und 4600mA vorgesehen. Durch die Platzierung wird der Schwerpunk weiter nach oben geschoben, wodurch der Roboter bei der Verlagerung seitlich um einen geringeren Winkel kippen muss.

34840

Robotniks
19.02.2020, 15:33
Geile Arbeit!

Ich denke mal du kennst "James" seinen Kanal?
Wenn nicht hier ein paar interessante Links:

https://www.youtube.com/watch?v=JWvH5PHKK74

https://www.youtube.com/watch?v=nH1_8J6itIs

Marcel D
20.02.2020, 18:11
Hallo,

danke für die Links, habe mir gestern und heute ein paar Videos angesehen. Ich hatte mal ein Video von einem der Laufapparate gesehen, wusste aber nicht, dass es inzwischen auch Konstruktionen mit einem gedruckten Oberkörper gibt.
Interessant finde ich auch, dass sich bei der Konstruktion das Konzept mit der zweifachen Parallelkinematik über die Reihe von zig Laufapparaten durchgesetzt hat.
Da die Konstruktion nicht komplett steif ist kommt sie natürlich lebendiger herüber, benötigt jedoch wie es scheint eine ausgefeiltere Steuerung und Regelung als ein relativ starres Gebilde. Sieht auf jeden Fall gut aus.

Bis zur Programmierung meines Roboters wird es noch etwas dauern. Das erste Video vom mechanischen Zusammenbau ist jedoch bald fertig und wird dann auch auf YT hochgeladen.

Moppi
21.02.2020, 07:33
Hallo Marcel!

Sehr eindrucksvoll, was Du zusammengebaut hast. Steckt eine Menge Arbeit und Fleiß drin, super Sache! Auch, wenn mit 3D-Druck heute vieles schnell hergestellt werden kann, ist das, wegen des Materials, nur bedingt sehr stabil und langlebig.


MfG

Marcel D
23.02.2020, 17:45
Hallo Zusammen,

es freut mich dass es euch gefällt.

Inzwischen ist das Video für den Zusammenbau der Beine fertig.
Es beinhaltet auch ein paar Erläuterungen zur Sensorik und Aktorik, so dass man nicht nur den Zusammenbau sieht:

https://www.youtube.com/watch?v=JnmHriEBtVw

Für die Umsetzung der Beine wurden die Antriebe entsprechend den folgenden Entscheidungsmatrizen ausgewählt:
34844

Der Konstruktionsentwurf wurde entsprechend festgelegter Grenzen für die Freiheitsgrade ausgelegt:
34845

Das 3D-Druck nicht ganz so stabil ist seh ich genauso. Ebenso liegt hier die Schwierigkeit meiner Meinung nach darin, dass der Werkstoff je nach Verfahren anisotrope Eigenschaften hat. Für gewisse Anwendungsfälle lässt es sich jedoch besser an die benötigte Form anpassen. Ich denke, dass man auf beide Weisen (Frästeile oder Druck) jeweils einen Entwurf auslegen und umsetzen kann.

Als nächstes wird das Video über die Hüfte erstellt, so dass hier später die Gesamtkonstruktion konstruktiv diskutiert und verbessert werden kann.

inka
24.02.2020, 11:43
da sitzt man fassungslos vor'm monitor und staunt. Faszinierend, hätte mr.Spock gesagt...

HaWe
24.02.2020, 17:45
werden die Bewegungsmuster in etwa vergleichbar sein mit Robonova, nur eben größer?

Marcel D
24.02.2020, 18:46
Hallo,

musste mir gerade erstmal den Roboter anschauen. Von der Kinematik des Laufapparater her nein, von der Möglichkeit sich Fortzubewegen ohne sich durch einen dynamisch zu durchschreitenden Bereich fallen zu lassen ja.

Das Bein des Konstruktionsentwurfes hat unten aufgrund seiner Kinematik aus dem Tripod und dem Achskreuz die Eigenschaft sich mit zunehmender seitlicher Gewichtsverlagerung leicht nach außen zu drehen. Der Winkel ist so gewählt, dass das schräg gestellte Achskreuz für das freie Stehen auf einem Bein und der bisher realisierte Knöchel mit dem Kugelgelenk für die schlürfende Fortbewegung das gleiche Verhalten haben.
Dadurch das das Bein in der Hüfte zusätzlich drehbar gelagert ist kann die Verdrehung ausgeglichen oder mit der Drehachse die Richtung geändert werden.

Auch vom Arbeitsbereich der Arme kann der Roboter nicht über seinen Kopf fassen.

Marcel D
27.02.2020, 18:54
Das Video zum Zusammenbau der Hüfte ist fertig.

https://www.youtube.com/watch?v=DG3y6YIbm4s

In der Hüfte sind die Funktionen zum Neigen und Drehen der Beine untergebracht.
34861

Hierdurch kann der Schwerpunkt seitlich von einem Bein auf das andere verlagert werden.
34862

Aufgrund der hohen Kraft, die beim Stand auf einem Bein nötig ist um den Restkörper über dem Standbein bewegen zu können ist eine Kniehebelkinematik im Oberschenkelnneigungsgelenk untergebracht.
34863

Marcel D
01.03.2020, 20:57
Und das vom Torso und Kopf:
https://www.youtube.com/watch?v=ZcU22dXiJ38

Rabenauge
02.03.2020, 07:33
Feinste Schmiedearbeit!
Wirklich superschön, und auch ziemlich clever gelöst.
Ich wünsch dir wirklich, dass du den zum Leben erwecken kannst, das ist ja schon optisch ne Augenweide!

Leider befürchte ich, dass du nicht allzuviel Hilfe von anderen bekommen wirst, denn, auch wenn du die Baupläne freigibst, wird der wohl bei _den_ Kosten (wenn man sich die Teile anfertigen lassen muss, wie die meisten Leute, wird man weit im fünfstelligen Bereich landen) nur für ganz wenige interessant sein.
Aber mach bitte weiter- das dritte Video schau ich mir heute abend an.
Ganz grosses Kino. =D>

HaWe
02.03.2020, 08:22
ich finde es auch ungeheuer beeindruckend, absolutes Profi-Niveau.
Nachbauen werde ich es aber niemals können (und wohl auch fast alle anderen hier nicht) - dazu bräuchte man Standardbaukastenteile zum Zusammenschrauben...

Marcel D
03.03.2020, 20:22
Hallo Miteinander,

der Plan ist erst einmal die Videos über den mechanischen Aufbau fertig zu stellen und dann das dazugehörige CAD-Modell hochzuladen. (Anschließend wird die Elektronik angegangen.)

Was die Idee des Open-Source-Projekts betrifft, so ist mir klar, dass nicht jeder die Möglichkeit hat sämtliche Teile selbst herzustellen und somit die Kosten in einem überschaubaren Rahmen zu halten. Allerdings ist man ja nicht an den Entwurf, so wie er gerade ist gebunden.

Ich setze gerne auf eine gemeinsame Schwarmintelligenz, da mehrere Personen, die sich etwas überlegen, immer zu einem besseren Ergebnis kommen werden, als eine Einzelperson. Sei es, dass hierdurch bessere Lösungsansätze für die Kinematik oder eine kostenoptimierte Konstruktion, die sich beispielsweise Drucken lässt, entwickelt werden. Wenn man gemeinsam verschiedene Lösungskonzepte erarbeitet und optimiert ist das für alle hilfreich, die sich für das Thema interessieren und sich einen Roboter in dieser Art bauen wollen. Hier im Forum habe ich schon einige Beiträge gesehen, die sich mit dem Thema "Humanoide Roboter" befassen.

Wenn jemand einen Roboter in dieser Größe aufbauen will müssen die Teile entweder zu kaufen (Druckteile?) oder mechanisch selbst herstellbar sein. Das Verwenden von Standardbaukastenteilen ist meiner Meinung nach schwierig, da es sich beim Roboter um eine speziell angepasste Konstruktion handelt. Standardsysteme, die für Alles verwendet werden können, haben wegen ihrem modularen Aufbau die Eigenschaft eine globige Baugruppe zu bilden, die man viel schöner mit einer speziellen Lösung abdecken könnte.

HaWe
04.03.2020, 09:22
Wenn jemand einen Roboter in dieser Größe aufbauen will müssen die Teile entweder zu kaufen (Druckteile?) oder mechanisch selbst herstellbar sein. Das Verwenden von Standardbaukastenteilen ist meiner Meinung nach schwierig, da es sich beim Roboter um eine speziell angepasste Konstruktion handelt. Standardsysteme, die für Alles verwendet werden können, haben wegen ihrem modularen Aufbau die Eigenschaft eine globige Baugruppe zu bilden, die man viel schöner mit einer speziellen Lösung abdecken könnte.
nun, man hat ja schon funktionsfähige Bugatti Chiron im Maßstab 1:1 mit LEGO und auch humanoide Robots in Menschengröße (ansatzweise) mit PITSCO TETRIX gebaut...: wenn also das Baukastensystem vielseitig genug ist, dann wäre sicherlich vieles möglich... 8)

https://www.youtube.com/watch?v=ImUMHbmQOoQ
https://www.youtube.com/watch?v=ML7H12psSEI

inka
04.03.2020, 10:12
@Marcel D / @HaWe,

was mich interessieren würde: gibt es informationen über preise? Kann man die kosten für so einen teilesatz / bausatz (also LEGO nicht unbedingt, aber diese PITSCO TETRIX und Marcel's teilesatz) grob abschätzen?

Rabenauge
04.03.2020, 12:23
Ich hab den openDog (http://www.xrobots.co.uk/open-dog-the-open-source-robot/) mal ganz grob überschlagen: zwischen 3000 und 5000 etwa, wenn man die Teile selber herstellt.
Inclusive Elektronik.
Als Teilesatz mindestens nen Tausender mehr....die 3D-Druck-Profis langen gehörig zu.

Dafür hat man dann aber auch ne ziemlich potente Maschine.
Mal abwarten, was aus der kleineren Ausführung wird, an der Bruton gerade baut- der düfte _etwas_ billiger ausfallen.

HaWe
04.03.2020, 13:16
es geht ja um einen humanoiden Roboter als eine Art Haushaltshilfe, mit menschenähnlichem Aktionsradius samt Freiheitsgraden - wie kommst du da auf <5000 EUR für einen großen humanoiden?
Das Geh-Konzept halte ich dafür aber inzwischen für nicht sinnvoll, da vergleichsweise zu aufwändig, es sei denn, man hat und braucht Treppen-Tauglichkeit.
Mit Rädern (ggf. Omniwheels, nicht mit Raupen) und einem humanoiden Torso: schon eher per Baukasten zu verwirklichen, vgl. TETRIX-Modell, welches ich auf gut 10 TEUR schätze mit allem Drum und Dran (je nach Bezugsquelle), der ist aber deutlich zu schwach in den Armen, und hat dort auch zuwenig DOFs (mindestens 6 DOF notwendig pro Arm von Hand bis Schulter )

Holomino
04.03.2020, 19:22
Das Geh-Konzept halte ich dafür aber inzwischen für nicht sinnvoll, da vergleichsweise zu aufwändig, es sei denn, man hat und braucht Treppen-Tauglichkeit.

Es geht ja nicht nur um die Fortbewegung (Schritte), sondern auch um die Fähigkeit, sich zu bücken. Bei der Bedienung einer Spülmaschine oder beim Aufheben eines Gegenstandes vom Boden sind Fuß-, Knie- und Hüftgelenke ziemlich nützlich.
Unter Berücksichtigung des Faktors "Gleichgewicht" ist da evolutionstechnisch kein Gelenk zu viel.

HaWe
04.03.2020, 20:06
warum soll sich ein Torso, der auf ein Fahrgestell montiert ist, nicht im Rücken mit ein paar Gelenken beugen oder knicken lassen? Kann man doch auch selber, wenn man auf einem Stuhl sitzt!
PS,
man könnte wie beim TETRIX-Beispiel auch Pseudo-Beine als Gestell darunter bauen, die sich in Hüfte und Knien knicken lassen, so kann der Torso wie beim Menschen gebeugt werden - nur werden eben keine Beine zum Gehen angehoben, sondern es wird wie auf Rollschuhen oder einem Skateboard gefahren.

Rabenauge
05.03.2020, 00:59
Eine Version mit Fahrwerk halte auch ich für sinnvoller.
Würd ich einen bauen wollen, würde er zwei Räder kriegen, und sich segway-artig bewegen.
Wenn er dann noch wirklich "wirtschaftlich" arbeiten soll, halt mit Stütze, um in den Pausen Strom zu sparen.
Nicht nur, dass sowas viel einfacher zu bauen ist, es ist auch weit billiger, schneller und einfacher zu handhaben (von der Software her).
Der kann dann auch problemlos mit einem Menschen Schritt halten, sogar deutlich schneller sein.
Und vermutlich viel effizienter als es eine Laufmaschine derzeit kann.

Das mit dem Bücken sehe ich auch wie HaWe: wieso sollte _das_ nicht gehen....
Ich würd die Räder, bei einem, der etwa menschengross ist, ungefähr 20-30cm im Durchmesser einplanen, das reicht für Türschwellen mal locker, und Treppen klappen damit sowieso nicht.
Wobei selbst das (mit Mehraufwand) machbar sein sollte: indem man statt einer zwei Achsen benutzt, die als Tandemachse angeordnet sind- die mittlere Aufhängung muss dann einfach nur (motorisch) drehbar (und zwar 360°) sein. Das steigert zwar die Anforderungen um einiges, ist aber immernoch vergleichsweise wenig, zu Beinen.

HaWe
05.03.2020, 08:35
ja klar, stimmt, Segway-ähnlich ist eine sehr gute Idee, er könnte dann auch Ungleichgewichte beim Bücken und exzentrischen Heben über seine Gleichgewichtsregelung automatisch mit ausgleichen.
Meine Einschätzung bzgl Fahrantrieb gilt aber ntl nur für alternative Konzepte, die einfacher und billiger nachzubauen sein sollen - es soll nicht die wirklich anspruchsvolle, professionelle Konstruktion vom OP Marcel schmälern.

HaWe
05.03.2020, 11:31
PS,
die eigentliche Herausforderung wird aber später sicher in der Software liegen, von der Objekterkennung für Umgebung, gesuchte Objekte und Hindernisse über die Reverse Kinematik für die Greiffunktionen bis hin zur Raum-Ortung und Navigation...

Marcel D
05.03.2020, 20:58
Hallo Miteinander,

ja es ist immer möglich eine Kinematik schnell zu vereinfachen aber nicht umgekehrt. Die Kinematik wurde mit Beinen aufgestellt, um sich auch hier Gedanken zu machen. Ansonsten kommt die Anregung, dass der Roboter menschenähnlich aufgebaut sein soll daher, dass sämtliche Gegenstände im Haushalt für die Handhabung durch den menschlichen Körper ausgelegt sind.

Man kann natürlich eine Tabelle aufstellen, die in einer Spalte die Konstruktion der humanoiden Lösung beinhaltet und in der anderen eine Vereinfachung. Zeilenweise könnte man es dann beispielsweise nach Laufapparat, Körper und Manipulator aufteilen, so dass man sich bei der Konfiguration zum Bau durchhangeln kann. Wenn die ausführliche Konstruktion erarbeitet ist kann sie beim Bau auch vereinfacht werden.

Was die Herausforderung für die Software betrifft, so sehe ich das Ziel einen Aufbau zu haben, der sich über ein Interface steuern lässt. Die Herausforderung einer übergeordneten Software , welche dann die Bedienung des Interfaces übernimmt, kommt eigentlich erst wenn der Rest funktioniert.

HaWe
05.03.2020, 21:36
ja, die Idee und der Ansatz sind grundsätzlich schon richtig:
Um eine auf menschliche Möglichkeiten und Gewohnheiten angepasste Umgebung mit einer Maschine zu bearbeiten, sollte die Maschine menschenähnliche Bewegungsmöglichkeiten (Größe, Kinematiken) haben.
Dein Ansatz ist also sicher richtig und damit auch sicherlich für das Ziel geeignet. Die Latte hängt halt nur extrem hoch, wenn es um den Nachbau geht, sowohl was Materialbeschaffung, Material-Bearbeitung inkl. Maschinen, Werkzeug, Werkbänke etc., und sicher auch was den Preis angeht, und die Segway-Idee wäre immerhin ein kleiner Ansatz, das Gerät zumindest ansatzweise zu vereinfachen und billiger zu machen....:
das macht dein Projekt insgesamt für mich zwar hochinteressant, aber liegt auch in ALLEN Kriterien weit außerhalb meiner Möglichkeiten, denn ich besitze zum Bauen überhaupt nichts außer ein paar wenige Schraubenzieher und Kombizangen - und preislich müsste sich alles unter EUR 2000 inkl. aller Mechanikteile samt Motoren und Treiberplatinen abspielen, programmierbar mit fertigen C++ Libraries, und das ist sicherlich absolut illusorisch.
Aber ich schaue dennoch weiterhin sehr gerne zu! 8)

(PS: was ich oben über "Reverse Kinematik" schrieb, hatte sich eigentlich nicht auf die Geh-Kinematik bezogen, sondern auf die Greif- und Handlungs-Kinematik, wenn man z.B. intelligente Körper/Arm-Bewegungen zum Geschirr-Aus- und -einräumen, Bier oder Wasser holen, Getränke einschenken, Schachspielen oder Staubsaugen programmieren will, denn das geht ja alles nicht über Lookup-Tabellen: man muss also ständig für jede gegebene Zielposition und -Richtung zum Halten eines Gegenstands sämtliche Winkel rück-rechnen, in die jedes einzelne Gelenk von Hand, Arm und Körper gedreht werden muss, um den Gegenstand "richtig" zu greifen, zu halten und zu bewegen. Dazu wäre nach aller Wahrscheinlichkeit zusätzlich sicher auch noch eine KI nötig zur Ermittlung von "sinnvollen" Bewegungsmustern über spezifische Trainingsphasen.
Ich habe eine Reverse Kinematik aber bisher noch nicht enmal für 1 einzigen 7DOF Robotarm mit simplen Servos auch nur theoretisch und ansatzweise irgendwo gefunden, noch nicht mal zum Testen - und ein Humanoider wird ja bei 2 Armen plus Oberkörper und Beine ein Vielfaches dieser 7DOFs haben.)

White_Fox
07.03.2020, 20:07
Ein schöner Roboter...und der Kopf ist ja der Knaller. :D
Ich wünsche dir viel Erfolg damit und freue mich, ihn mal laufen zu sehen.

Edit:
@HaWe:
Ich kann mir auch gut vorstellen daß ein segwayartiges Konzept einige Aspekte vereinfachen würde, aber wäre so etwas z.B. für Tätigkeiten, die eine Hebelbelastung erfordern (am Besten noch im Stillstand), geeignet?
Beispiel: einen schweren Gegenstand von einem Tisch aufnehmen (und vielleicht noch halten), wobei der Gegenstand relativ weit hinter der Kante liegt. Voller Kochtopf auf der hinteren Herdplatte, oder so. Auf zwei Beinen kann ein Mensch mittels Ausfallschritt einen recht stabilen Stand erreichen, bei einem segwayartigen Konzept stelle ich mir das schwierig vor.

Rabenauge
08.03.2020, 09:31
Das Problem hast du mit Füssen genauso...ich stelle mir das gerade bildlich vor:
Der Roboter steht am Herd (und kann nicht weiter nach vorne treten, eben, weil da der Herd steht), streckt nun die Arme weit vor (um an den hintersten Topf zu kommen)- nun hat er ein Problem, in dem Moment, wo er den Topf anhebt (und der bisselwas wiegt).
Der Schwerpunkt wandert weiter vor, als es der Roboter ausgleichen kann...er kann nur eins tun: sich insgesamt zurücklehnen (um halt ein Gegengewicht zu schaffen)- die selbe Strategie würde mit nem Fahrwerk _auch_ funktionieren.
Dass der Kerl "im Rücken (Hüfte, Knie, halt in der X-Achse)" beweglich sein muss, hatten wir schon.
Sonst kann er ja nix vom Boden aufheben...

Grenzen hat sowas immer: auch du kannst nicht nen Zentner an ausgestreckten Armen halten, wenn du die Möglichkeit nicht hast, die Füsse weiter vor (unter den Gesamtschwerpunkt) zu bringen.
Du kippst einfach um....
Ob das nun Füsse oder Räder sind, spielt dabei keine Rolle.

Marcel D
09.03.2020, 22:05
Hallo,

das Konzept mit dem Fahrwerk finde ich einfacher, wenn es mehr als 2 Räder hat. Bei nur 2 Rädern ist es aufgrund des hoch liegenden Schwerpunkts (man wird ihn nicht unterhalb der Achse solcher kleinen Räder platzieren können) notwendig, das Gleichgewicht ständig auszuregeln. Sollte man stattdessen zur Vereinfachung eine Platform unter den Torso setzen, die über mehrere Auflagepunkte eine Fläche aufspannt über der sich der Schwerpunkt befindet, kann man auf diese Regelung verzichten.
Beim Aufheben eines Objekts mit ausgestreckten Armen wird dann auch noch ein ausreichend stabiler Stand gewährleistet sein, solange der neue Gesamtschwerpunkt sich weiterhin über der Standfläche befindet. Ähnlich ist es bei den großen Füßen. Das Gewicht, dass er mit ausgestreckten Armen anheben müsste um den Schwerpunkt so weit nach vorne zu verlagern, dass es zum Kippen kommt, wird er von der Kraft her nicht schaffen. Des Weiteren geben die Drucksensoren in der Ferse eine Rückmeldung ob noch genügend Auflagekraft vorhanden ist. Vielleicht wird so etwas zum Problem, wenn man eine Leichtbau-Version realisiert.

Das Video der Arme ist nun fertig:
https://www.youtube.com/watch?v=m8apQTp-Qng

HaWe
09.03.2020, 22:48
wenn du dann auch im Sprunggelenk nach vorn/hinten kippen kannst, geht das sicher, denn das braucht man, so wie es Rabenauge beschrieben hat.
Ein Segway ist aber von vornherein so konzipiert, dass er immer sein Gleichgewicht selber hält, auch auf schiefen Ebenen/Rampen.

Rabenauge
09.03.2020, 23:23
Klar braucht ein Segway ne Balance-Regelung.
Und ja: die hat Grenzen. Spätestens dann, wenn die Räder am Herd anstossen....kann kann nach vorne nicht mehr ausgeglichen werden. Somit kann er die Räder nicht unter den Schwerpunkt bekommen, wenn er den schweren Topf an ausgestreckten Armen halten soll.
Das macht aber _erstmal_ gar nichts, da dann die "Knie" am Herd anliegen würden, steht das trotzdem noch recht stabil (einer mit Füssen kommt auch nich weiter ran, hat also das gleiche Problem).
Daher nun Plan B (irgendwie muss er da ja auch wieder weg kommen): er lehnt sich zurück (z.B. mit nem Hüftgelenk), und schon ist er wieder in Balance.

Vorstellbar auch, dass es gar nicht erst dazu kommt (Knie stossen am Herd an)- da er nach vorne fahren will, aber nicht kann, entsteht ein Kippmoment nach hinten-was die Sache automatisch wieder richtet.
Das könnte sogar stabiler funktionieren, als es auf den ersten Blick scheint, wenn ichs mir recht überlege...

HaWe
10.03.2020, 08:42
Klar braucht ein Segway ne Balance-Regelung.
hatte ich mich da unklar ausgedrückt? Klar braucht er eine, aber er hat ja auch eine, sonst könnte er ja gar nicht vernünftig fahren.
Aber die wirkt dann eben auch in Fällen, wo er schräg steht oder fährt, automatisch (d.h. man kann im bei nach vorn "ausgestrecktem Arm" im balancierten Stand ein Gewicht an die Hand hängen, und er reguliert dann die entstehende Kippwirkung/Schieflage nach vorn sofort nach, indem er sich nach hinten kippt und die Räder ein Stückchen nach vorn fährt.
Wenn er dazu keinen Platz hat und sich nicht abstützen kann, wird er umkippen.
Einem 2-Füßler passiert das aber genau so, wie schon oben skizziert.

Marcel D
16.03.2020, 17:51
Hallo,

der letzte Teil der Videoreihe zum mechanischen Aufbau ist fertig gestellt:

Teil 1 - Beine: https://youtu.be/JnmHriEBtVw
Teil 2 - Hüfte: https://youtu.be/DG3y6YIbm4s
Teil 3 - Torso & Kopf: https://youtu.be/ZcU22dXiJ38
Teil 4 - Arme: https://youtu.be/m8apQTp-Qng
Teil 5 - Hände & Modell: https://youtu.be/fjBbme7LiBw (https://youtu.be/m8apQTp-Qng)

Das damit veröffentlichte Modell (zu groß für die 10MB hier https://www.file-upload.net/download-13946867/Roboter.STEP.html) beinhaltet die mechanische Konstruktion, Platzhalter für die Elektronik und die geplante Leitungsführung:
34893
Wer will kann gerne mit der Entwicklung eines Eigenbauroboters hierauf aufbauen und sich konstruktiv austauschen.

Als Nächstes geht es an die genaue Auslegung der Elektronik.

Marcel D
25.03.2020, 16:37
Hallo,

damit es hier weitergeht die Aufführung der ersten Gedanken zur Umsetzung der Elektronik.

An den verschiedenen Stellen sind folgende Aktoren und Sensoren verbaut, die größtenteils die entsprechend markierten Ein- und Ausgänge benötigen. Für die Schrittmotoren muss noch ein Enable-Signal gesetzt werden. Hierbei sollen aber mehrere Motoren eines Gliedmaßes, die sich gleichzeitig bewegen auch gleichzeitig aktiviert werden.
34915

Die Endstufen selbst sind standardmäßig aufgebaut. An den Beinen soll es vorsichtshalber noch ein Signal zur Stromüberhöhung durch variieren der Referenzspannung geben, falls mal kurzfristig etwas mehr Kraft benötigt wird. Dies wird dadurch erreicht, dass im Normalbetrieb ohne Stromüberhöhung der zweite Transistor leitend ist. Wird das Signal für die Stromüberhöhung gesetzt, so wird der vorgeschaltete Transistor leitend und die Spannung an der Basis des zweiten fällt ab, wodurch dieser sperrt. Somit wirkt nur noch der erste Spannungsteiler auf die Referenzspannung, wodurch diese angehoben wird und ein höherer Strom fließt, bis am Shunt der Wert der Referenzspannung erreicht wird.
34914

Die Gleichstrommotoren der Hände werden lediglich über H-Brücken angesteuert. Durch eine zusätzlich vorgeschaltete Spannungsquelle können unterschiedliche Spannungen eingestellt und somit die Greifkraft beeinflusst werden. Die Grenzen des Bewegungsbereiches werden durch Lichtschranken an den Fahnen in der Hand gebildet. In Schließrichtung verfügt jeder Finger über ein separates Signal. Die Öffnung erfolgt über ein gemeinsames Signal. Will man einen Finger nicht mit Öffnen, so reicht es aus hierbei zeitgleich das Schließsignal zu setzen um beide Seiten des Motors auf das gleiche Potential zu ziehen.
34912

Dieses Bild stellt den Abfragebus dar. Da lediglich Signalbereiche der einzelnen Aktoren abgefragt werden und der Rest über Mitzählen interpoliert wird ist es nicht nötig zeitgleich alle Lichtschranken abzufragen. Deshalb gibt es zwei Bussysteme (rechte und linke Seite). Durch die UND-Verknüpfungen zur Erzeugung des Abfragesignals wird auch gewährleistet, dass immer nur ein Aktor abgefragt werden kann, wodurch es nicht zeitgleich zu Signalüberlagerungen mehrerer Aktoren kommen kann. Die Positionsbereiche die Abgefragt werden können haben die Anordnung 000, 001, 011, 010, 110, 100, 101 und 111. Hierdurch ändert sich an den Übergängen immer nur 1 Bit und es kann nicht zu Sprüngen in der Messung kommen.
34913

Die Drucksensoren selbst verfügen über zwei Abfragevarianten. Zum einen gibt es die analoge Abfrage, die für die Lernphase verwendet werden soll, zum anderen die digitale Abfrage, die zum Einsatz kommt, wenn keine so große Auswertung im Hintergrund laufen soll. Diese soll lediglich über Schmidttrigger erkennen ob kein, niedriger oder starker Druck auf die Kontaktplatten wirkt.
34916

Der Neigungssensor selbst ist ein fertiges Teil.

Grüße
Marcel

Marcel D
03.04.2022, 14:34
Hallo Roboter-Netz-Comunity,

nach einer etwas längeren Pause, die der Faulheit und anderen Projekten geschuldet war, ist es nun wieder um ein ganzes Stück weiter gegangen.

Maßgeblich für den Fortschritt waren zwei hoch motivierte angehenden Techniker (Christopher und Louis), die die Idee hatten an dem Open-Source-Projekt mit zu arbeiten und im Zuge ihrer Abschlussarbeit die Elektronik zur Ansteuerung sämtlicher Schrittmotoren zu entwickeln. Sie haben ganze Arbeit geleistet, so dass sich nun sämtliche Schrittmotoren ansteuern lassen und der Roboter somit zum Leben erwacht ist. Des Weiteren wurden die hierfür notwendige Verteilerplatine entwickelt und weitere Gedanken zur Spannungsversorgung mittels Akkus angestellt.

3577335772

Um auf diesen Stand zu kommen haben sie erstmal das Konzept der geplanten Elektronik anhand verschiedener Lösungsansätze und einer Entscheidungsmatrix optimiert. Anschließend wurden Musterplatinen gebaut und die Funktionen getestet, bevor wir gemeinsam den kompletten Roboter elektrifiziert haben. Nebenher wurde noch ein Programm geschrieben, welches es ermöglicht die Antriebe benutzerfreundlich über eine Bedienoberfläche anzusteuern.

35774

Das Video, wie sich der Roboter inzwischen bewegen kann ist hier zu sehen: https://youtu.be/074uH6XMvYo

Sobald die beiden ihren Vortrag hatten kann es an anderen Baustellen weiter gehen. Zum einen werden die Hände erneuert, zum anderen noch an der Drucksensorik der Füße gearbeitet.

Grüße
Marcel

Marcel D
17.06.2022, 10:45
Hallo Roboter-Netz-Comunity,

es ist wie angekündigt mit den Händen weiter gegangen.
3580135799

Die Finger sind nun neu überarbeitet und mit Scharniergelenken anstatt Biegegelenken ausgeführt.
In jedem beweglichen Gelenk sind vergossene Drucksensoren um hier eine Rückmeldung bekommen zu können, ob etwas gegriffen ist und nicht nur blind die Finger zu schließen.
Die Elektronik muss noch entworfen werden, da sie bisher nur gedanklich existiert. Vorerst müssen aber erstmal die Lichtschrankenpositionen auf der Platine ermittelt werden.
Im gleichen Zug werden auch die provisorische Verteilerplatine ordentlich überarbeitet und ausgetauscht, sowie eine Platine für die 5V-Logikspannungsaufbereitung entworfen, da der Abgriff hier momentan noch über ein USB-Netzteil stattfindet. Dann kann der Logik-Bus und der Raspberry direkt über einen Gesamtanschluss versorgt werden.

Des Weiteren ist der Akku-Rucksack angebracht, so dass der Roboter nicht mehr zwangsläufig am Labornetzteil hängen muss. Hier soll die Schaltung jedoch mit einem Wechsler so ausgeführt werden, dass beide Betriebsarten möglich sind, um nicht ständig auf Akku-Betrieb laufen zu müssen und während der Inbetriebnahme direkt am Netzteil schauen zu können, wie viel Strom aktuell benötigt wird.
35800

Ebenso müssen noch ein paar Lichtschranken montiert und Messstäbe gefertigt und angebracht werden, so dass im Anschluss die lokale Positionseinlesung für alle Aktoren programmiert werden kann.

Wenn man es dann noch schafft, dass der Bildschirm über Funk und nicht mehr per Kabel mit dem Raspberry verbunden ist, ist der Roboter nicht mehr nah an einen Ort gebunden und es kann erstmal mit der Programmierung zum Gang weiter gehen.

Grüße
Marcel

Rabenauge
17.06.2022, 12:05
Wenn man es dann noch schafft, dass der Bildschirm über Funk und nicht mehr per Kabel mit dem Raspberry verbunden ist, ist der Roboter nicht mehr nah an einen Ort gebunden und es kann erstmal mit der Programmierung zum Gang weiter gehen.


Ich benutze für meine Pi's gerne VNC.
Da kann man bequem am Laptop arbeiten, hat aber den Pi-Desktop (einfach ne passende Auflösung am Pi-"Bildschirm" einstellen) bequem auf dem Laptop.
Auf dem Pi kann man sich dann noch ein hübsches, grafisches Interface basteln (Tkinter oder so) wenn man will.

jmoors
18.06.2022, 07:47
Schon wieder so Thread, wo mir ein großer Like-Button fehlt.
Es ist bewundernswert mit wie viel Ausdauer und Begeisterung ihr solche Projekte voran treibt!

VG, Jürgen

oberallgeier
18.06.2022, 16:18
.. Der zusammengebaute Kollege ist 1,75 m groß und wiegt 110 kgHallo Marcel,
alle Achtung und ein (kleinwenig neidisches) kräftiges Bravo - von anfangs bis hier. BTW: zum Glück wiegen meine persönlichen vier Zentimeter weniger Größe gerade zehn mal weniger Kilo. Bei nem aktiven Kletterer ein unschätzbarer Vorteil.

NATÜRLICH musste ich Deine Fingerantriebe peinlich genau ansehen. Beim Vorbild meines Archie gibts ja zum Glück nur zwei Finger und einen "Daumen" - und das ohne Fingerspreizung (n tolles Detail das da realisiert ist). Da war natürlich der Fingerantrieb (https://www.roboternetz.de/community/threads/61379-Kopfsache-und-ein-m1284-etliche-Servos-viel-Alu?p=639127&viewfull=1#post639127) schon ein ziemliches Größenproblem. Die Führungen des Bowdenzuges (lange gesucht, Ø 1,0 mm - von/für ne bekannte Fahrradnabenschaltung) sind relativ zu den Fingergelenkenachsen so fest montiert bzw. geführt (meist geklebte MS-Röhrchen), dass bei Zug der Finger gekrümmt und bei Schub (https://www.roboternetz.de/community/threads/61379-Kopfsache-und-ein-m1284-etliche-Servos-viel-Alu?p=638683&viewfull=1#post638683) der Finger gerade gestreckt wird. Damit ist die Griffkraft ziemlich schwach - ein Yoghurtbecher geht mechanisch und teils mit Wasser gefüllt auch kraftmässig. Leider ohne taktile Sensorik (mechanische Oberflächensensibilität).

Fragen:
1) Gibts Schätzungen/Testwerte über die Griff"kraft" der Finger?
2) Werte/Video über Krümmungsdauer und Strombedarf?
3) Welche Lebensdauer schätzt Du für Deine Elastikrückstellung?
4) Gibts Schätzwerte/Planungen zu Mannmonate für die Programmierung?
5) Gibts (Schätz-)Werte zu Mannmonate für die Fertigung?

Weiterhin viel Glück, Geduld, Ideen und Erfolg; danke für ne Antwort.

Marcel D
18.06.2022, 22:26
Hallo Zusammen,

danke Euch für die positiven Rückmeldungen.

@Rabenauge:

Das mit dem kompletten Remote-Zugriff ist glaub ich etwas für später, wenn die Informationen, die der Roboter sammelt ausgewertet und Entscheidungen getroffen werden müssen, was passieren soll. Dann denke ich, dass es hier sinnvoll ist einen Rechner mit etwas mehr Rechenleistung in die Wohnung zu stellen, der dann als Master fungiert und dem Raspberry sagt was er zu tun hat. Aber danke für den Tipp, ich kann es mir schon mal anschauen. Ich benötige auch nur das Bild, da die Eingaben von Maus und Tastatur bereits per Funk arbeiten.

@oberallgeier:

1) Gibts Schätzungen/Testwerte über die Griff"kraft" der Finger?
2) Werte/Video über Krümmungsdauer und Strombedarf?

Die Motoren lassen einen Bereich von 4-12 V zu, wobei sie sich aufgrund der ganzen Mechanik erst ab 5,5 V bewegen. Beim Aufziehen der Bowdenzüge habe ich 8 V angelegt, wobei ich die Finger dabei noch von durch leichtes Halten von Hand stoppen konnte.
Wenn hier später (bis zu) 12 V anliegen sollten sie jedoch ausreichend Kraft haben, um die 2 kg, die die Drucksensoren auf jeder Fläche wiegen können, aufzubringen.

Mit 8 V dauert das Anwinkeln eines Fingers ca. 10 Sekunden. Da sich Aufgrund der Verluste bis 5,5 V noch nichts bewegt sollten es wenn nötig mit 12V wesentlich schneller gehen und etwa 5 Sekunden dauern. Der Daumen geht etwas schneller, da er nur 2 bewegliche Segmente hat und somit nicht so weit eingezogen werden muss. Den Strombedarf habe ich nicht gemessen.

Es sind vorerst 6 Akkupacks mit je 8,4 V und bis zu 4,6 A verfügbar. Diese sollen vorerst alle parallel geschalten werden, um möglichst viele Ampere für die Schrittmotoren zur Verfügung zu haben, so dass für eine flüssige Bewegung möglichst viele zeitgleich betrieben werden können. Bei einer höheren Spannung wären diese zwar reaktionsschneller sind bis sie ihren Phasenstrom erreicht haben, das ist jedoch egal, da sie nur bei einer niedrigen Drehzahl betrieben werden. Sollten es sich dann doch noch ergeben, dass eine höhere Spannung benötigt wird werden sie anders verschalten. Auf jeden Fall mache ich mir keine Sorgen was den Stromverbrauch für die Finger betrifft, da die Schrittmotoren die wesentlich größeren Verbraucher sind.


3) Welche Lebensdauer schätzt Du für Deine Elastikrückstellung?

Ich habe mir Deinen Roboter angeschaut, der ja auch schon alles Lebensnotwendige hat. Das Prinzip der Finger ist sehr ähnlich, da bei mir der Bowdenzug inzwischen auch die Schließkraft aufbringt und zum Öffnen nur den Draht ausschiebt. Auf Federelemente hab ich mittlerweile verzichtet, nachdem die Erstkonstruktion der Hand hier nach ein paar Bewegungen gebrochen ist und sich gezeigt hat, dass es durch das Aufschieben gar nicht nötig ist.

35802

Die Greifkraft ist aber gut ausreichend, da nach dem Getriebemotor noch eine Spindel kommt, die den Litzenzug über eine geführte Mutter einzieht. Somit wird die Kraft hier noch um einiges Verstärkt. Die Fahnen an den Mutterblöcken sollen mit Lichtschranken an der Platine detektiert werden, so dass die Motoren hier nicht Ausversehen zu weit fahren, wenn beim Schließen keine Greifkraft detektiert wird. Im unteren Bereich der Spindel ist kein Gewinde, so dass man auch nicht zu weit vorfahren kann und der Bowdenzug irgendwo dumm gekickt wird.


4) Gibts Schätzwerte/Planungen zu Mannmonate für die Programmierung?

Was die Zeiten für die Programmierung betrifft kann ich es schwer abschätzen, da man bei einem solch offen gestalteten Projekt immer schwer sagen kann wann das Ziel erreicht ist. Von den beiden Technikern gibt es ja bereits ein Programm zur Ansteuerung der Schrittmotoren. Hierfür möchte ich die lokalen Microcontrollerprogramme noch so anpassen, dass die Positionseinlesung mit hinterlegt ist und auch Werte für Beschleunigung und Geschwindigkeit übergeben werden können. Wenn das soweit ist (was noch dauern wird, da erst noch Platinen gemacht werden müssen) kann noch die Benutzeroberfläche für die optimierten Eingaben angepasst werden.

Ziel ist es soweit zu kommen, dass man ihn dann gemütlich von der Benutzeroberfläche aus steuern kann. Hierzu muss erstmal die Positionsermittlung integriert sein. Wenn man ihn ohne steuert kann man die Aktoren zwar bewegen, bei den Beinen ist mir die Positionserkennung aber wichtig, da hier nichts schief gehn sollte. Wenn beim Arm was schief geht und er halt aufgrund der nicht detektierten Schrittverluste nach einer Weile falsch greift ist das nicht so wild, wie wenn ein Bein mit der Zeit weg läuft.
Wie es dann weiter geht, muss man schauen, da der Roboter dann erstmal seine Umgebung wahrnehmen können muss und ich noch keine Ahnung davon habe, wie man aus Bildern, die er sieht die Informationen zur Umgebung gewinnen kann.


5) Gibts (Schätz-)Werte zu Mannmonate für die Fertigung?

Bisher steckt schon einiges an Zeit in der Umsetzung. Für die Fertigung aller mechanischen Teile und den Zusammenbau habe ich etwa 700h gebraucht. Und dann haben die beiden Techniker noch die Zeit für ihre Abschlussarbeit aufgebracht um die Elektronik zu entwickeln, zu Programmieren und zusammen die Elektronik anzubringen.

Grüße
Marcel

oberallgeier
19.06.2022, 12:40
.. Bisher steckt schon einiges an Zeit in der Umsetzung .... sitzt man fassungslos .. Inka; Ganz grosses Kino .. Sly; .. ein großer Like-Button fehlt .. Jürgen.
Da ist nix hinzuzufügen.

Danke für Deine ausführlichen Antworten, DER Beleg dass hier nicht gebastelt wird. Denken, planen, tun, messen, dokumentieren und so - richtig profihaft.

Deine Spindelantriebe der Finger .. muss ich mal überlegen ob ich so ne Größe hinkriege. Die wären sicher nen Nachbau wert. Meine Fingerantriebe, billigste Miniservos (https://dl.dropboxusercontent.com/s/vb8eext9a2h8kev/IMG_2902-beschn.jpg?dl=0) sind recht schwach, der wenig größere Ellbogenantrieb hat schon mehr Schmackes. Dagegen der wirklich kleine Hand-Dreh /Ende Unterarm/ bringt wohl bei kleinstem Volumen die beste Leistung - wäre wohl ne mögliche, bessere Lösung. Na ja, Controller und co sind extern/versteckt, leider nur Incrementalencoder. Jedenfalls danke für die Lösungsidee. Mal sehen - ich brauche ja die Bowdenzüge . .

......https://upload.wikimedia.org/wikipedia/commons/thumb/e/e8/Johnny5_03.jpg/173px-Johnny5_03.jpg (https://upload.wikimedia.org/wikipedia/commons/e/e8/Johnny5_03.jpg)
......(aus Wikipedia)

. . wegen der Nähe zum Original (https://de.wikipedia.org/wiki/Nummer_5_lebt!).

Marcel D
17.12.2022, 15:38
Hallo Zusammen,

da nun wieder die Weihnachts- und Neujahrsbastelzeit ansteht habe ich mir vorgenommen wieder etwas an der Hardware weiter zu machen.
Der Roboter soll nun, nachdem er neue Finger hat, noch einen neuen Kopf bekommen. (Die Platine für die neue Hand ist noch nicht umgesetzt.)
35854

Hierbei kommen noch einmal zwei Freiheitsgrade hinzu, mit welchen sich die Augen einzeln nach vorne und hinten Kippen lassen. Hierdurch soll es möglich sein, ohne Sicht auf den Roboter den Boden davor zu betrachten, so dass er Nichts aus Versehen wogegen stößt. Des weiteren sind noch vier Ultraschallsensoren angebracht mit welchen sich horizontal in Ausrichtung des Kopfes, bzw. 45° nach Unten und in Blickrichtung jedes Auges der Abstand messen lässt. Für die akustische Interaktion ist ein Lautsprecher vorgesehen.
35855

Ebenso sollen noch zwei Mikrofone angebracht werden, mit welchen akustische Signale wahrgenommen werden können. Im Kopf selbst ist noch ein Raspberry untergebracht, welcher zur Kommunikation mit einem anderen Rechner dient. Somit können hier gesammelte Informationen vorbereitet werden, die dann auf einem leistungsstärkeren Rechner ausgewertet werden. Zur Verbindung sind Plätze für Antennen vorgesehen, wobei hier wahrscheinlich eine reicht.
35856

Wenn die Hardware dann realisiert ist kann es mit der Software weiter gehen. Für die lokalen Schrittmotorsteuerung wird ein neues Programm entworfen, bei dem Einstellungen, sowie Einrichtparameter ebenfalls über den Bus übergeben werden können, so dass man sich hier nicht ständig an jeden einzelnen Mikrocontroller anstecken muss um etwas zu ändern.
Der Programmaufbau ist im Entwurf.
Dieses Programm soll dann in Verbindung mit der Benutzeroberfläche zur bequemeren manuellen Steuerung (leichter zu bedienende kombinierte Bewegungen anstatt einzelne Ansteuerungen wir bisher) realisiert werden.

Was die Auswertung der Sensordaten des Kopfes betrifft habe ich jemanden kennen gelernt, der sich mit Informationsgewinnung aus Rohdaten und Steuerung mittels neuronaler Netze beschäftigt und dann ab hier am Projekt mitmacht, da das großteils außerhalb meines Wissens liegt.
Wenn die Umgebungseindrücke dann sicher interpretiert werden können (was noch eine Weile dauern wird), kann man schauen wie die Informationen mit einem Verhaltensalgorithmus verknüpft werden.

In diesem Sinne euch Allen eine frohe Bastelzeit.

Grüße
Marcel

Marcel D
01.01.2023, 19:00
Ein gutes Neues Jahr.

Mit den Überlegungen zu dem universal einrichtbaren Programm auf den Microcontrollern ist es etwas weiter gegangen. Das Konzept steht und sobald der neue Kopf fertig realisiert ist bekomme ich Unterstützung bei der Programmumsetzung.

Microcontroller-Variablen:
35862
35863
35864

Auf dem Microcontroller sollen drei Programmschleifen laufen, die je nach Bedarf auf einzelne Unterprogramme zugreifen:

Main-Programm:

Mit dem Main-Programm findet die Initialisierung statt. Im Normalzustand hält es sich in Zyklus 3 auf und regelt somit immer auf den Sollwert, der von der Benutzeroberfläche aus neu beschrieben werden kann.
Wird die Geschwindigkeit geändert, so muss Zyklus 2 aufgerufen werden um diese in den Timer_Schritte zu schreiben.
35865

LS-Interrupt:

Wird ausgelöst, wenn sich das Signal eines Lichtschrankenpins ändert.
35866

Timer_Schritte: Beinhaltet das Programm für die Schrittsteuerung

Unterprogramme:

Lichtschrankenzuordnung initialisieren:

Zuordnung der Lichtschranken um die Steckplätze softwareseitig untereinander austauschen zu können.
35867

Bereichsinitialisierung:

Zusammensetzung der Bereichskennung
35868

Istposition setzen (am Übergang der Lichtschranken):

Beim Eintreten eines LS-Interrupts soll die Istposition mit dem jeweils hinterlegten LS-Übergangswertes beschrieben werden. Hierdurch werden zwischenzeitlich auftretende Schrittverluste kompensiert.
Ein Schreiben findet nur statt, wenn die Lichtschranken aktiv sind. Hierdurch lassen sich bei inaktiven Lichtschranken einfach die Zuordnungen der Lichtschrankeneingänge herausfinden.
35869

Sollgeschwindigkeit als Intervall in Timer_Schritte schreiben:

Die Geschwindigkeit (n) soll als Umdrehungen pro Sekunde übergeben werden. Das Intervall (t) gibt an, alle wie viele Millisekunden der Timer einmal durchlaufen wird. Es sind 400 Schritte pro Umdrehung notwendig.
35870

Richtungssteuerung:

Mit der Richtungssteuerung wird der CQ/CCW-Pin gesetzt. Des Weiteren werden die Endpositionen überprüft und verhindert, dass diese überfahren werden können.
35871

Schrittsteuerung (auf dem Timer_Schritte):

Die Schritte werden entsprechend des eingestellten Timerintervalls weiter geschalten, solange der Enabled-Pin gesetzt ist.
35872

Bereichszählung (ausgelöst vom LS-Interrupt):

Mit der Bereichszählung wird ermittelt, wie viele Schritte in einem Bereich liegen. Hierdurch kann der entsprechende Maßstab des jeweiligen Aktors einfach rekonstruiert werden.
Im Anschluss lassen sich die hierdurch festgelegen LS-Übergangspositionen (X1-X7) über die Einrichtadresse beschreiben.
35873

Da nicht mehr als 12 Anhänge pro Beitrag möglich sind kommt hier eine Unterbrechung.

Marcel D
01.01.2023, 19:05
Inkrementale_Schrittänderung:

Schreiben der Sollposition aus der Istposition mit der eingetragenen inkremental Änderung.
35874

Istposition ermitteln:

Während der Initialisierung wird ermittelt ob die Istposition in der eingelesenen Bereichsabfrage liegt. Ist das der Fall wird die Istposition beibehalten. Andernfalls wird sie auf den Mittelwert des Bereichs gesetzt.
35875

Benutzeroberfläche:

Vorgehen beim Einrichten eines Microcontrollers:
35876

Das war es erstmal mit der Aufzeichnung der Überlegungen, bis es dann wieder etwas weiter gegangen ist.

Grüße
Marcel

Marcel D
04.02.2023, 16:18
Hallo Zusammen,

hier mal wieder ein Zwischenstand.
Inzwischen sind die Materialien und Zukaufteile für die Realisierung des neuen Kopfes eingetroffen, so dass es hier voran gegangen ist:
35903

Wenn noch die Schlitten für die Kippaktorik realisiert sind kann an den Kopf die Inbetriebnahme des Universalprogramms getestet werden.
35904

Grüße
Marcel

Marcel D
12.02.2023, 19:35
Hallo Zusammen,

der Kopf ist nun ebenfalls realisiert. Hier das Video zum Bau:

https://www.youtube.com/watch?v=_Ep3C7hQ7_U

Es fehlen noch die Abdeckbleche über den Kameras, sowie Stecker und Buchsen an den Platinen, dann kann er in Betrieb genommen werden.

Für eine Gesamtübersicht über den Roboter ohne die Bauschritte habe ich ein Kurzvideo gemacht:

https://www.youtube.com/shorts/8d6wPANwB20

Da die Hardware nun Größtenteils steht lässt sich sagen, dass das Projekt Hand und Fuß hat.
Es werden an dem Aufbau nur noch Kleinigkeiten (Sensormaßstäbe und die besagten Abdeckbleche) realisiert, weshalb hierzu kein separates Video mehr kommt. Stattdessen werde ich wieder eines machen wenn die oben beschriebenen Ablaufdiagramme umgesetzt werden und die Inbetriebnahme stattfindet.

Bis dahin frohes Bauen und Grüße
Marcel

Andre_S
13.02.2023, 08:24
Hallo Marcel,

dein Projekt verfolge ich bereits seit Deinem ersten Thread in diesem Forum…
Es ist beeindruckend, was Du da wörtlich genommen „auf die Beine gestellt hast“, mir fehlen die Worte um dies gebührend zu würdigen.
Mal unabhängig der Abschlussarbeit, sowie von Zeit und Geld, welches Du investierst, hat dieses Projekt bezüglich Entwicklung, Konstruktion und Umsetzung, qualitative Maßstäbe, welche doch weit über ein Hobby hinausgehen.

Du hast in 2020 bei der Vorstellung des Projektes unter anderem folgendes geschrieben:

Für die Anwendung eines Roboters, der beispielsweise für Servicetätigkeiten im Haushalt eingesetzt werden kann, ist jedoch kein System mit einer hochdynamische Bewegung notwendig


Was mir diesbezüglich aber seit damals mit jedem weiteren Entwicklungsschritt durch den Kopf geht, ist die praktische Anwendbarkeit des Projektes bezüglich dieser Aussage.
Da Du alles so akribisch geplant und letztendlich auch umgesetzt hast, würde mich folgendes interessieren.
Unabhängig der vollständigen Integration von Firmware/Software bezüglich Fortbewegung, Umgebungs-, Objekterkennung und so weiter, was für Bewegungsgeschwindigkeiten auf Basis der Verfahrenswege und deren Antriebe sind kalkuliert bzw. realistisch?

Ansonsten wünsche ich weiterhin viel Erfolg und halte uns bitte wie bisher auf dem laufenden.


Gruß André

inka
13.02.2023, 13:41
ich verfolge das projekt auch schon ne ganze weile. was mich beschäftigt ist die sicherheit. das ding wiegt doch bestimmt mindestens 50 kilo, oder? und die motoren, die das bewegen sollen müssen auch einiges an kraft mitbringen. kann da nichts schiefgehen? hat das ding irgendwie ein notaus?

Marcel D
14.02.2023, 19:17
Hallo Zusammen,

@André:
Das was ich damals damit sagen wollte war, das meiner Meinung nach für die meisten Fälle Bewegungen ausreichend sind, die jeden Moment gestoppt werden können, wodurch der Roboter dann statisch in seinem Zustand verharrt und nicht umkippt. Bei einer hochdynamischen Bewegung hingegen gibt es Zwischenbereiche im Bewegungsablauf, in denen der Roboter keinen stabilen Zustand hat, weshalb er sich vorausschauend durch diese Bewegen muss um hierbei gezielt einen stabilen Zustand zu verlassen und wieder in einen erneuten stabilen Zustand zu kommen. Das halte ich für die Programmierung wesentlich schwieriger.

Momentan drehen sich die Schrittmotoren alle gleich schnell, egal ob sie mehr oder weniger an ihrem jeweiligen Gelenk untersetzt werden. Ich gehe davon aus, das sich der Roboter erstmal langsam bewegt und das später dann so skaliert werden kann, das er sich ab der Hüfte aufwärts etwa mit einem drittel der gemütlichen Geschwindigkeit in der ich mich bewege bewegen kann und unterhalb ca. mit 1/4, wobei das Alles nur Schätzungen sind. Während der Arbeit der Techniker haben wir den Arm auch mal um einiges schneller bewegt, wobei er dann in Resonanz kommen kann und rattert.

Mit den neuen Ablaufplänen kann jedoch auch die Geschwindigkeit übergeben werden, so dass man sich hier leichter rantasten kann. Sobald die restlichen Kleinigkeiten fertig sind und die Inbetriebnahme weit genug voran geschritten ist wird es berichtet.

@inka:
Der Roboter wiegt ca. 115kg. In den neuen Ablaufplänen gibt es ein Bit, das gesetzt werden muss um die Bewegung zu ermöglichen. Das kann dann über einen Software-Notaus getoggelt werden. Hardwaremäßig gibt es den Hauptschalter links oben am Torso, wenn er gerade mit Batterie läuft, oder das Labornetzteil, wenn er gerade darüber betrieben wird.

Ich denke, das er durch die Bewegungen, die sich immer statisch anhalten lassen gut in Betrieb nehmen lässt und sich somit die Standfestigkeit auch bei der Programmierung an den Zwischenpositionen überprüft werden kann.

Die Motoren sind unterschiedlich stark, am meisten Kraft hat er in den Beinen, wobei hierbei das Oberschenkelneigungsgelenk mit dem Kniehebel die größte Kraft aufbringen kann. Bisher habe ich aber auch noch mit niemandem zu tun gehabt, der der natürlichen Selektion unterliegt und so unvernünftig war und seinen Finger in einen der Antriebe zu stecken.

Grüße
Marcel

Andre_S
15.02.2023, 08:15
Hallo Marcel,

vielen Dank für Deine Information zu meiner Frage!
Diese war jetzt gar nicht so sehr auf die Art und Weise der Bewegung bezogen, sondern eher auf die praktische Anwendbarkeit, (Servicetätigkeiten im Haushalt) welche Du erwähntest, besonders in Bezug auf die "Arbeitsgeschwindigkeit" des Roboters.

Wie weit dies realistisch ist, ist mir schon klar. Ich war "früher" viele Jahre beim RoboCup in Magdeburg, also weniger wegen dem Fußball, sondern vorzugsweise bezüglich RoboCup@Home League, also den Servicerobotern wie Cosero von NimbRo und anderen.
Meine Bekannten und Verwandten Fragen bei dem Thema sinngemäß „und kann er Bier aus dem Kühlschrank holen“, worauf meine Antwort meist lautet, kann meine Digitaleisenbahn auch nicht und kostete ebenfalls Zeit und Geld,… es ist eben, zumindest für mich, ein Hobby.

Das bedeutet, dass sich Dein Roboter ca. 4-5 Sekunden pro Meter fortbewegen wird. Das ist schneller als ich vermutet hatte und ermöglicht tatsächlich eine praktische Anwendung ähnlich der oben genannten.;)
Da bin ich mal auf die ersten Videos gespannt…

Vielen Dank nochmals und weiterhin viel Erfolg für das Projekt!


Gruß André