Projekt 05 — Robotik · Embedded · Konstruktion

Roboterarm
Eigene Konstruktion. Eigene Steuerung.

● ROBOTER OFFLINE ● KAMERA OFFLINE
Live-Kamera des Roboters
Livebild des Roboters

Steuerung

Bewege den Roboter direkt über die Website.

Probier den Roboter selbst aus.

Drei Würfel. Sechs Positionen. Ein Roboter.

Für die Demonstration des Roboters ist eine bewusst einfache Umgebung vorgesehen. Drei unterschiedlich gefärbte Würfel dienen als Objekte, die der Roboter greifen und an fest definierten Positionen ablegen kann.

Auf einer eigenen Grundplatte werden dafür sechs markierte Positionen definiert. Dadurch ist für den Besucher direkt sichtbar, wohin sich ein Objekt bewegen soll.

Platzhalter – Roboter-Grundplatte mit drei Würfeln und sechs Positionen

Automatische Bewegung

Wähle ein Objekt und eine Zielposition.

Die Bewegungsabläufe werden nicht als absolute Winkelpositionen gespeichert. Da die verwendeten MG90S-Servos für Continuous Rotation angepasst wurden, wird die Bewegung über Richtung und Laufzeit der jeweiligen Achse definiert.

Dadurch können komplette Bewegungssequenzen aus einzelnen Bewegungen aufgebaut werden – beispielsweise das Anfahren eines Würfels, Schließen des Greifers, Transportieren zur Zielposition und anschließendes Ablegen.

Warum dieser Roboterarm?

Technik hat mich schon seit meiner Kindheit fasziniert. Wenn ich auf etwas stoße, das ich noch nicht verstehe, möchte ich nicht einfach wissen, dass es funktioniert – ich möchte verstehen, warum es funktioniert. Und noch besser: Ich möchte es irgendwann selbst bauen oder reproduzieren können.

Meine Begeisterung für Robotik wurde während meines Maschinenbaustudiums am Umwelt-Campus Birkenfeld endgültig geweckt. Im Technikum konnte ich erstmals einen industriellen Roboterarm aus nächster Nähe erleben und selbst bedienen. Zu sehen, wie aus Konstruktion, Elektronik und Software eine Maschine entsteht, die sich scheinbar selbstverständlich im Raum bewegt, hat mich nachhaltig beeindruckt.

Während meiner Semesterferien als Werkstudent bei Eberspächer bekam ich später einen weiteren Einblick in die industrielle Robotik. Dort konnte ich erleben, wie Industrieroboter im Produktionsumfeld eingesetzt und über Teach-Pendants eingerichtet und bewegt werden. Diese Erfahrungen haben meinen Wunsch verstärkt, irgendwann einen eigenen Roboterarm zu konstruieren.

Eigentlich sollte genau das bereits während meines Maschinenbaustudiums passieren. Für ein Semesterprojekt wollte ich einen eigenen Roboterarm entwickeln. Die Idee fand damals jedoch keinen passenden Rahmen und wurde nicht zu meinem Projekt.

Ganz verschwunden ist sie trotzdem nie.

Einige Jahre später bin ich inzwischen Anwendungsentwickler – die Begeisterung für Mechanik, Konstruktion und Maschinenbau ist allerdings geblieben. Also habe ich die Idee wieder aufgegriffen und mir diesen kleinen persönlichen Traum schließlich selbst erfüllt.

Der gesamte Arm wurde von mir in Siemens NX konstruiert, aus rund 32 Einzelteilen aufgebaut und anschließend aus PETG gefertigt. Elektronik, Ansteuerung und Software kommen ebenfalls aus eigener Entwicklung.

Für mich ist dieses Projekt deshalb mehr als nur ein Roboterarm. Es verbindet zwei Bereiche, die mich seit Jahren begleiten: Softwareentwicklung und Maschinenbau.

Und vielleicht ist genau das der eigentliche Grund, warum dieses Projekt für mich so besonders ist: Ich wollte nicht nur lernen, wie Robotik funktioniert. Ich wollte sie selbst in die Hand nehmen.

Konstruktion & 3D-Druck

Die komplette Konstruktion entstand in Siemens NX.

Der Roboterarm besteht aus rund 32 individuell konstruierten Einzelteilen. Die komplette Konstruktion wurde in Siemens NX entwickelt und anschließend für den additiven Fertigungsprozess vorbereitet.

Siemens NX hat dabei für mich eine besondere Bedeutung: Den Umgang mit dem System habe ich ursprünglich während meines Maschinenbaustudiums gelernt. Für dieses Projekt konnte ich diese Kenntnisse erneut einsetzen und mit meiner heutigen Tätigkeit als Anwendungsentwickler verbinden.

Die Bauteile wurden vollständig aus PETG auf einem Bambu Lab 3D-Drucker gefertigt. Als Standardkomponenten kommen unter anderem MG90S-Servos, 608-Lager und 8-mm-Aluminiumhülsen zum Einsatz.

Interaktives 3D-Modell

3D-Modell


Mechanik & Bewegungsachsen


Fünf Servos übernehmen Rotation, Armbewegung, Handgelenk und Greifer.

Die Bewegung des Roboters wird von fünf MG90S-Servos übernommen. Vier Servos dienen der Positionierung des Arms, während ein fünfter Servo ausschließlich den Greifer betätigt.

Achse 1 Rotation der Plattform
Achse 2 Schulter
Achse 3 Elle
Achse 4 Handgelenk
Achse 5 Greifer

Die MG90S-Servos wurden für dieses Projekt auf Continuous Rotation umgebaut. Dadurch entfällt die ursprüngliche Begrenzung auf einen bestimmten Stellwinkel und die einzelnen Achsen können unabhängig über Richtung und Bewegungsdauer angesteuert werden.

Hintergrund dafür war unter anderem die interne Getriebeübersetzung der Servos. Eine klassische Winkelsteuerung hätte die mechanische Umsetzung des Arms unnötig eingeschränkt und gleichzeitig zusätzliche Last auf die kleinen Servoantriebe gebracht.

Für die Lagerung kommen 608-Lager mit Kunststoffkäfig und Glaskugeln zum Einsatz. Die leichtere Ausführung reduziert die bewegte Masse und entlastet damit die Servos.

Elektronik & Versorgung

Die Steuerung übernimmt ein klassischer ESP32 mit WROOM-Modul. Die Versorgung von Controller und Servos erfolgt aus demselben 5-V-Netzteil.

Die Servos besitzen dabei eine eigene Versorgungszuleitung. Dadurch wird die Stromversorgung der Antriebe von der Versorgung des Controllers getrennt geführt.

Das eingesetzte Netzteil stellt bis zu 5 A zur Verfügung und bietet damit ausreichend Reserven für die gleichzeitig auftretenden Lasten der Servomotoren.

Die Trennung der Versorgungswege ist insbesondere bei schnellen Bewegungen und mehreren gleichzeitig belasteten Servos relevant, da die Antriebe kurzzeitig deutlich mehr Strom benötigen können als im unbelasteten Zustand.

Die Software

Die Steuerung des Roboters wird über eine Weboberfläche direkt mit dem ESP32 verbunden.

Der Roboter soll nicht ausschließlich über eine fest programmierte Firmware gesteuert werden. Stattdessen wird der ESP32 selbst zur Schnittstelle zwischen Roboter und Browser.

Die Weboberfläche ermöglicht die manuelle Steuerung der einzelnen Achsen. Für die vier Bewegungsachsen können Richtung und Geschwindigkeit beziehungsweise Bewegungsdauer vorgegeben werden. Der Greifer erhält eine eigene Steuerung zum Öffnen und Schließen.

Da die verwendeten Servos auf Continuous Rotation umgebaut wurden, werden Bewegungen nicht über absolute Winkelpositionen beschrieben. Stattdessen bestehen die Bewegungsdaten aus einzelnen Bewegungsbefehlen mit Richtung und Laufzeit.

Auf dieser Grundlage können später komplette Bewegungssequenzen aufgebaut werden. Eine Sequenz kann beispielsweise das Anfahren eines Würfels, das Schließen des Greifers, den Transport zur Zielposition und das anschließende Ablegen des Würfels enthalten.

Die Bewegungsdaten können dabei von der Weboberfläche an den ESP32 übertragen werden. Dadurch müssen nicht sämtliche Abläufe fest in der Firmware hinterlegt sein. Änderungen an den Bewegungssequenzen können somit unabhängig von der eigentlichen Robotersteuerung vorgenommen werden.

Beobachtung aus der ersten Reihe

Damit der Besucher den Roboter nicht nur steuern, sondern seine Bewegungen auch beobachten kann, wird eine ESP32-S3-CAM eingesetzt.

Die Kamera befindet sich außerhalb des eigentlichen Steuercontrollers und liefert das Livebild direkt aus dem Arbeitsbereich des Roboters.

Dadurch entsteht eine kleine, vollständig eigenständige Robotik-Demonstration: Der Besucher gibt über den Browser Bewegungsbefehle vor und kann gleichzeitig über die Kamera beobachten, wie der reale Roboter darauf reagiert.

Von der Konstruktion zur Bewegung

Eine der Herausforderungen dieses Projekts besteht darin, aus einer vollständig selbst konstruierten Mechanik reproduzierbare Bewegungsabläufe zu entwickeln.

Da die modifizierten Servos keine absolute Winkelposition liefern, werden die einzelnen Bewegungen über ihre Laufzeit kalibriert. Für jede Achse muss daher ermittelt werden, welche Bewegungsdauer benötigt wird, um eine bestimmte Position zuverlässig zu erreichen.

Die sechs Zielpositionen der Demonstrationsfläche werden entsprechend Schritt für Schritt eingemessen. Aus diesen Messwerten entstehen anschließend die Bewegungssequenzen für die automatische Objektbewegung.

Das Projekt befindet sich damit bewusst an der Schnittstelle zwischen Konstruktion und Softwareentwicklung: Die Mechanik definiert, was möglich ist – die Software sorgt dafür, dass daraus reproduzierbare Bewegungen entstehen.


Mehr als nur ein Roboterarm

Dieses Projekt verbindet mehrere Bereiche, die mich seit Jahren begleiten: Maschinenbau, Konstruktion, Elektronik, Embedded-Systeme, Softwareentwicklung und praktische Umsetzung.

Angefangen hat es mit der Faszination für einen Roboterarm im Technikum. Daraus wurde zunächst eine Idee für ein Semesterprojekt, später ein persönliches Langzeitprojekt und schließlich ein vollständig selbst entwickelter mechanischer Prototyp.

Der nächste Schritt besteht nun darin, aus der fertigen Mechanik einen wirklich interaktiven Roboter zu machen – mit eigener Steuerlogik, Webinterface, automatisierten Bewegungsabläufen und Livebild.

Genau diese Verbindung aus einer selbst konstruierten Maschine und der Möglichkeit, sie anschließend mit eigener Software zum Leben zu erwecken, macht dieses Projekt für mich zu einem besonderen Meilenstein.

Technologien ESP32 · C++ · WLAN · Webinterface
Mechanik Siemens NX · PETG · 3D-Druck · MG90S
Konstruktion ca. 32 Einzelteile · 608-Lager · 8-mm-Aluminiumhülsen
Kamera ESP32-S3-CAM
Demo 3 Objekte · 6 Zielpositionen · manuell & automatisch
Kontext Eigenprojekt
← Zurück