Rosie Hattersley erfährt, dass ein absichtlich übertechnisierter Zeitmesser eine befriedigende Ablenkung für einen vielbeschäftigten Software-Ingenieur darstellt.
undefined

Wie viele von uns kombiniert der 33-jährige Software-Ingenieur Hendrik Ohrens gerne die technischen Fähigkeiten, die er bei der Arbeit einsetzt, mit denen, die er bei seinen Hobbys erworben hat, um etwas Kreatives zu schaffen. "Ich liebe es, an Projekten zu arbeiten, die mit Elektronik, Mechanik und Software zu tun haben", sagt er über seinen Enthusiasmus, selbst etwas zu bauen. Mit einem Hintergrund in wissenschaftlicher Forschung und Maschinenbau an der Universität Hannover sowie einigen Raspberry Pi-Bauten in der Tasche beschloss er, dass es an der Zeit war, sich der Herausforderung zu stellen, seinen ersten Roboter zu entwickeln. Er entschied sich für einen Roboterarm, da dieser relativ einfach zu konstruieren war und dennoch ein gewisses „Flexibilität bittet“. Als Hendriks alte Uhr nicht mehr funktionierte, kam ihm sofort die Idee, einen Roboterarm einzusetzen, um die Zeiger in die richtige Position zu bringen. Sehen Sie sich die Roboterarm-Uhr in Aktion auf Instagram an:

 magpi.cc/robotarminsta.
 

Überwachung aller Bewegungen

Hendrik begann mit inverser Kinematik, um herauszufinden, wie er die Bewegung seines Roboterarms steuern kann - ein Szenario, bei dem Formeln verwendet werden, um zu bestimmen, wohin die Position des Arms schwingt -, merkte aber, dass dies nicht der beste Ansatz war. Stattdessen stieg er auf den Raspberry Pi 3B+ um, mit der Absicht, die inverse Kinematik und die ikpy-Bibliothek zusammen mit KI und Computer Vision weiter zu erforschen. Letztendlich stellte er fest, dass das Trainieren des Roboters, um bestimmte Positionen einzunehmen, der nützlichste Ansatz für seine Bedürfnisse war. "Die Funktion zum Anlernen von Positionen ermöglicht es mir, den Arm (mit meinen Händen) in eine bestimmte Position zu bringen und diese Position dann zur weiteren Verwendung zu speichern. Diese Funktion stellte sich als sehr nützlich für die Aufgaben heraus, die der Roboterarm danach ausführte", erklärt Hendrik.
"Der Raspberry Pi ist für mich das perfekte Entwicklungswerkzeug. Er ist leistungsstark, vielseitig und bietet alles, was ich für die Entwicklung meiner Projekte brauche", sagt er. Hendrik hat nicht nur an anderen Raspberry Pi-Projekten gearbeitet, sondern im Laufe der Jahre so viele davon angesammelt, dass er eine eigene Pi-Box besitzt, in der er sie alle aufbewahrt. "Die Tatsache, dass ich moderne Full-Stack-Anwendungen ausführen und direkt mit der angeschlossenen Hardware verbinden kann, macht ihn zu meiner ersten Wahl, wenn ich einen Prototyp entwickle."


 
undefined
Durch das Hinzufügen von aufgeklebten Kulleraugen konnte dem Roboterarm sofort eine Persönlichkeit verliehen werden


Er entschied sich für einen Arduino, um mit den Servos über die Bibliothek des Herstellers zu kommunizieren, und einen Raspberry Pi, um die gesamte Logik zu steuern, sowie den über eine serielle Schnittstelle und ein USB-Kabel angeschlossenen Arduino zu kontrollieren. Dazu entwickelte er einen eigenen Code, der im Laufe der Zeit verfeinert wurde (und immer noch wird), um den Arm zu steuern.

 
devdrik-3.jpg
Der Roboterarm bewegt den Minutenzeiger der Uhr, um die aktuelle Zeit zu aktualisieren


Die Entwurfsphase

Hendrik zieht es vor, Pläne zu skizzieren und sie bei Bedarf anzupassen, anstatt mit einem starren Entwurf zu beginnen. Für seinen Roboterarm begann er mit einigen Servos und einem grundlegenden CAD-Modell, das sich leicht in 3D drucken und mit Kleinteilen versehen ließ. Als er mit dem Grunddesign zufrieden war, duplizierte er es einfach, um zusätzliche bewegliche Teile herzustellen, und verknüpfte die Servos mit einem Kabel.

 
teach-thumbs-up.jpg
Um dem Roboterarm beizubringen, welche Position er einnehmen soll, musste jede Pose demonstriert werden.


Der Arm des Roboters musste befestigt werden, damit er nicht umkippt. Hendrik druckte also 3D-Klammern, die er auf Thingiverse gefunden hatte, und befestigte den Arm am Tisch. Dann klebte er die kaputte Uhr (deren Zifferblätter der Roboterarm bewegen würde) auf eine Holzkiste, die er ebenfalls auf den Tisch klebte, damit sie sich nicht bewegt. Nach einigen Anpassungen an die Bewegung des Arms, der wegen der leichten Überlappung an einigen Stellen quietschte, begann Hendrik mit dem weitaus langwierigeren Prozess, dem Roboter anzutrainieren, welche Position er wann einnehmen sollte. Nachdem er den etwas erweiterten Code für die Bewegungssteuerung erstellt hat, sagt er, dass der Roboterarm für jede Art von Raspberry Pi-Projekt verwendet werden kann, das ihm gerade Spaß macht.
 

Arm selbst bauen
 

01 Laden Sie die Teile des Roboterarms herunter und drucken Sie sie in 3D aus, einschließlich einer Klemme für den Tisch, falls erforderlich. Hendrik hat für seine Version fünf Dynamixel XL330-M288-T-Servos zusammen mit einem Arduino-Board und einem Raspberry Pi 3B+ verwendet.
 
devdrik-build-1.jpg



02 Befestigen und installieren Sie ein Dynamixel Shield und einen Arduino MKR und flashen Sie dann dynamixel_api aus dem Ordner code/arduino auf Ihren Arduino. Außerdem musst du Python 3 und die ikpy lib auf deinem Raspberry Pi einrichten und installieren und ein Netzteil anschließen.
 
build2.jpg



03 Bauen Sie den Roboterarm, indem Sie ein Servo in die Basis einbauen; schrauben Sie das Basis_Element darauf, gefolgt von den Arm_Elementen. Befestige die Basis an einem Tisch oder etwas anderem Festem, sonst fällt der Arm herunter.

 
build3.jpg


Vollständige Details zum Aufbau und den Code findest du unter: github.com/devdrik/robo-arm.


Maker - Hendrik OhrensHendrik-Ohrens.jpg
Hendrik ist Full-Stack-Softwareentwickler, spielt in seiner Freizeit gerne Lacrosse und bastelt.