Roboter Arm (6 DOF)

Fussballroboter, Autofabrik...
Modellideas &- presentation - Soccerrobot, Carfactory...
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
davidrpf
Beiträge: 252
Registriert: 14 Jul 2015, 14:27
Kontaktdaten:

Roboter Arm (6 DOF)

Beitrag von davidrpf » 26 Apr 2020, 19:27

Hallo zusammen,

bereits seit einigen Jahren faszinieren mich mehrachsige Roboterarme und so existierte bereits seit längerem die Idee, einen solchen aus fischertechnik Teilen aufzubauen und mit einem Arduino zu steuern. Im Bilderpool findet sich eine eigene Kategorie von mehrachsigen Roboterarmen, darunter auch eine frühe Version von mir aus dem Jahr 2014.

Über die Jahre hatte ich weitere Versuche unternommen, doch irgendwie konnte ich das magisches Dreieck aus "Präzision, Stabilität und der Anzahl Freiheitsgrade" nie zufriedenstellend erfüllen. Mein bis dato bester Kompromiss war der Roboterarm aus der Autofabrik im Jahr 2017, der allerdings nur 4 Freiheitsgrade hatte.

Wie der Titel des Posts bereits verät, habe ich in den letzten Tagen an einem 6-achsigen Roboterarm gearbeitet, der somit auch 6 Freiheitsgrade im Raum bietet: Der Endeffektor kann jeden Punkt (x,y,z) in jeder Ausrichtung im Raum (alpha, beta, gamma) innerhalb seines Arbeitsbereiches erreichen und bedienen.
Alle 6 Achsen werden durch Schrittmotoren bewegt. Die ersten drei Achsen jeweils durch Nema17 bzw. Nema14 Motoren und die drei Achsen des Handgelenks durch die besonders kompakten 28BJY-48 Schrittmotoren. Letzere sind in einem 3D-gedruckten Gehäuse untergebracht, das Jan (juh) Anfang des Jahres auf Thingiverse geteilt hat. Mein besonderer Dank gilt Jan, der mir drei seiner Gehäuse zur Verfügung gestellt hat und ohne die das Handgelenk des Robots nicht so platzsparend ausgeführt hätte werden können.
Die Gelenke 3 bis 5 sind durch kugelgelagerte Miniaturdrehkränze gelagert, die präzisere und kompaktere Ausführung des Armes ermöglichen und somit auch Gewicht einsparen. All diese Maßnahmen zielen auf Verbesserungen im magischen Dreieck ab.

Folgendes Video gibt einen Überblick über die Mechanik des Roboters und zeigt einige erste Bewegungen: https://youtu.be/4Liz-WNupDA

Das Projekt ist noch nicht abgeschlossen. Als nächstes soll der Roboter an meine Python Inverse Kinematics API angebunden werden, um eine Koordinatenansteuerung zu erhalten sowie vorgegebene Trajektorien abfahren zu können. Außerdem plane ich noch einen konkreten Anwendungsfall für den Roboter.

Gruß
David
Polarkoordinaten Plotter https://youtu.be/u6XwKxZuxqk
Autofabrik: https://youtu.be/mX9JWcca6kQ

Benutzeravatar
steffalk
ft:pedia-Herausgeber
Beiträge: 1794
Registriert: 01 Nov 2010, 16:41
Wohnort: Karlsruhe
Kontaktdaten:

Re: Roboter Arm (6 DOF)

Beitrag von steffalk » 26 Apr 2020, 19:48

Tach auch!

Das ist ja auch schon kein Modell mehr, sondern ein richtiger Arm. Ich bin schwer beeindruckt. Gratuliere!

Gruß,
Stefan

tintenfisch
Beiträge: 472
Registriert: 03 Jan 2018, 22:04

Re: Roboter Arm (6 DOF)

Beitrag von tintenfisch » 26 Apr 2020, 20:27

Hallo David,

toll gemacht!

(Beim Video finde ich die "Soundeffekte" super! ;))

Viele Grüße
Lars

Benutzeravatar
MasterOfGizmo
Beiträge: 2720
Registriert: 30 Nov 2014, 07:44

Re: Roboter Arm (6 DOF)

Beitrag von MasterOfGizmo » 27 Apr 2020, 00:06

Whoa! Ja! Genau sowas suche ich schon ewig ... Wunderbar!

Ich fände es super, wenn daraus ein modulares Projekt würde. Wenn man ein stabiles Fundament mit den ersten zwei Achsen hat. Dann ein schönes Schultergelenk und eine Hand mit Aufnahme für die üblichen Greifer etc. Da könnten JUHs Servokonstruktionen ebenso zum Einsatz kommen wie irgendwelche Pneumatikgreifer.

Hach ... zu schön. Und dann kann man den mit ftDuinos steuern oder Björns Motorcontroller oder oder oder .... mit einem TXT oder TX-Pi als Gehirn. Und dann spielt er Schach gegen einen zweiten baugleichen Arm.

Also wenn Du daraus ein größeres modulares Projekt machen willst bin ich dabei. Aleine der Sound ist es wert ...

Edit: die ersten beiden Achsen schreien ja geradezu nach einem robusten Remake der Drehscheibe. Kugelgelagert und mit JUHs induktiven Winkelsensoren ausgestattet. Und die sechste Achse schreit auch nach Führung. Über die Drehscheibe denke ich mal nach ....
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

juh
Beiträge: 906
Registriert: 23 Jan 2012, 13:48

Re: Roboter Arm (6 DOF)

Beitrag von juh » 27 Apr 2020, 20:56

Hallo David,

das sieht ja schon super aus und freut mich, dass sich die kleinen Stepper bisher offenbar so gut bewähren. Danke auch für die Erlaubnis, Deinen Video zu verlinken, habe ich gerade gemacht. (Dummerweise sortiert thingiverse seit einer Weile die Videos nach ganz hinten bei den Thumbnails, statt wie frühe an zweite Stelle...) Über einen kleinen Turtle-Robot bin ich bisher nicht hinaus gekommen.

Benutzt Du die AccelStepper Library oder etwas andere auf dem Arduino Mega?

Bin in jedem Fall gespannt auf die weiteren Anwendungen. Und in der Tat, Till, einen Mini-Servo-Gripper habe ich mir da auch gleich vorgestellt.

vg
Jan

Benutzeravatar
Dirk Fox
ft:pedia-Herausgeber
Beiträge: 1833
Registriert: 01 Nov 2010, 00:49
Wohnort: Karlsruhe
Kontaktdaten:

Re: Roboter Arm (6 DOF)

Beitrag von Dirk Fox » 27 Apr 2020, 22:53

Hallo David,

wunderbar.
An ähnlichen Projekten haben sich ein paar begnadete Fans schon den einen oder anderen Zahn ausgebissen...
Sehr gelungen. Jetzt noch die volle Mathematik dahinter, und Du hast einen ausgewachsenen Teach-In-Roboterarm.

Herzlicher Gruß,
Dirk

davidrpf
Beiträge: 252
Registriert: 14 Jul 2015, 14:27
Kontaktdaten:

Re: Roboter Arm (6 DOF)

Beitrag von davidrpf » 28 Apr 2020, 18:54

Hallo zusammen,

vielen Dank für das positive Feedback :D
MasterOfGizmo hat geschrieben:
27 Apr 2020, 00:06
Edit: die ersten beiden Achsen schreien ja geradezu nach einem robusten Remake der Drehscheibe. Kugelgelagert und mit JUHs induktiven Winkelsensoren ausgestattet. Und die sechste Achse schreit auch nach Führung. Über die Drehscheibe denke ich mal nach ....
Diese Drehscheibe gibt es prinzipiell schon (nur ohne Winkelsensoren) von Andreas Tacke. In der oben verlinkten Kategorie "Roboterarme" wird sie bei dem ein oder anderen Modell eingesetzt. Prinzipiell hätte ich auch (zumindest für die zweite Achse) die kugelgelagerte Drehscheibe von Achse 3 und 4 verwenden können, nur kann ich derzeit nicht 3D-drucken weshalb ich mit der traditionellen Lösung vorlieb nehmen musste.
MasterOfGizmo hat geschrieben:
27 Apr 2020, 00:06
Ich fände es super, wenn daraus ein modulares Projekt würde. Wenn man ein stabiles Fundament mit den ersten zwei Achsen hat. Dann ein schönes Schultergelenk und eine Hand mit Aufnahme für die üblichen Greifer etc. Da könnten JUHs Servokonstruktionen ebenso zum Einsatz kommen wie irgendwelche Pneumatikgreifer.
Interessanter Gedanke, das Projekt modular auszuführen. Kurzfristig hatte ich es zumindest nicht geplant, aber ich denke mal darüber nach. Grundsätzlich finde ich es nicht sinnvoll, eine vollständige Gestaltung vorzugeben, das widerspricht m.E. dem Baukastensystem von fischertechnik... Allerdings fände ich es interessant, wenn im Community Umfeld eine kleine Bauteilsammlung entsteht, mit der sich dann Achsen sehr stabiler, präziser und reibungsärmer ausführen lassen können. Persönlich würde ich die Anforderung an solche Teile aber immer so definieren, als dass eine sinnvolle Verwendung auch in anderen Modellen möglich ist.
MasterOfGizmo hat geschrieben:
27 Apr 2020, 00:06
Hach ... zu schön. Und dann kann man den mit ftDuinos steuern oder Björns Motorcontroller oder oder oder .... mit einem TXT oder TX-Pi als Gehirn. Und dann spielt er Schach gegen einen zweiten baugleichen Arm.
Steuerungstechnisch dürfte es anspruchsvoll werden, sechs Schrittmotoren jeweils miteinander zu synchronisieren. Ich weiß nicht, ob es möglich ist, die Schrittmotorsteuerung auf mehrere Controller zu verteilen. Hast du mit den ftDuinos schon einmal derartige Versuche unternommen? Primär aus diesem Grund verwende ich auch den Arduino Mega, dessen Ausgänge jetzt aber alle belegt sind. Im Video sind die Achsen noch nicht synchronisiert, eine Synchronisierung ist für die nachfolgende Teach-In Funktion aber geplant. Ein Raspberry Pi als Gehirn wäre super cool, vorerst nutze ich aufgrund der komfortableren Programmierumgebung aber erstmal einen PC. Die in Python geschrieben Kinematik API sollte aber relativ problemlos auch auf dem PI laufen.
juh hat geschrieben:
27 Apr 2020, 20:56
Benutzt Du die AccelStepper Library oder etwas andere auf dem Arduino Mega?

Bin in jedem Fall gespannt auf die weiteren Anwendungen. Und in der Tat, Till, einen Mini-Servo-Gripper habe ich mir da auch gleich vorgestellt.
Ich habe eine eigene, etwas schlankere Schrittmotor Library geschrieben, um auch etwas mehr Freiheit bei der Ansteuerung zu bekommen. Auf Github kannst du sie dir anschauen: https://github.com/dmholtz/StepperMotor
Im Wesentlichen nutzt sie denselben Algorithmus zur Beschleunigung, der hier beschrieben wird. Prinzipiell sollte sie sich durch Vererben und überschreiben der step() methode schnell auf andere Treiber erweitern lassen.

Die Gripper wären echt cool, genauso aber auch ein Vakuumgreifer. Ich träume ja immer noch von einem Werkzeugschnellwechselsystem, das wäre das non plus ultra.... :lol:
Dirk Fox hat geschrieben:
27 Apr 2020, 22:53
Jetzt noch die volle Mathematik dahinter, und Du hast einen ausgewachsenen Teach-In-Roboterarm.
Im Wesentlichen steht die Software dafür schon. Ich habe die Kinematik API allgemein gehalten, sodass eine Anpassung auch auf Roboter mit weniger Freiheitsgraden möglich sein sollte. In den nächsten Tagen / Wochen kommt noch die Anbindung an den Roboter und dann sollte die erste continuous path Bewegung möglich sein.

Gruß
David
Polarkoordinaten Plotter https://youtu.be/u6XwKxZuxqk
Autofabrik: https://youtu.be/mX9JWcca6kQ

Antworten