Liste der Anhänge anzeigen (Anzahl: 7)
Entwicklung eines humanoiden Roboters
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.
Anhang 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.
Anhang 34833
Mit dem CAD-Modell des ausgearbeiteten Konstruktionsentwurfes wurden mehrere beispielhafte Bewegungsabläufe abgebildet und die Schwerpunktsverlagerung während der Bewegung analysiert.
Anhang 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.
Anhang 34831Anhang 34832
Der zusammengebaute Kollege ist 1,75 m groß und wiegt 110 kg.
Anhang 34834Anhang 34835
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
Liste der Anhänge anzeigen (Anzahl: 3)
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.
Anhang 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.
Anhang 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.
Anhang 34840
Liste der Anhänge anzeigen (Anzahl: 2)
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:
Anhang 34844
Der Konstruktionsentwurf wurde entsprechend festgelegter Grenzen für die Freiheitsgrade ausgelegt:
Anhang 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.
Liste der Anhänge anzeigen (Anzahl: 3)
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.
Anhang 34861
Hierdurch kann der Schwerpunkt seitlich von einem Bein auf das andere verlagert werden.
Anhang 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.
Anhang 34863
Liste der Anhänge anzeigen (Anzahl: 1)
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
Das damit veröffentlichte Modell (zu groß für die 10MB hier https://www.file-upload.net/download...oter.STEP.html) beinhaltet die mechanische Konstruktion, Platzhalter für die Elektronik und die geplante Leitungsführung:
Anhang 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.
Liste der Anhänge anzeigen (Anzahl: 5)
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.
Anhang 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.
Anhang 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.
Anhang 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.
Anhang 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.
Anhang 34916
Der Neigungssensor selbst ist ein fertiges Teil.
Grüße
Marcel
Liste der Anhänge anzeigen (Anzahl: 3)
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.
Anhang 35773Anhang 35772
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.
Anhang 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
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo Roboter-Netz-Comunity,
es ist wie angekündigt mit den Händen weiter gegangen.
Anhang 35801Anhang 35799
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.
Anhang 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