Inhaltsverzeichnis:

USStepper Roboterarm 4: 5 Schritte
USStepper Roboterarm 4: 5 Schritte

Video: USStepper Roboterarm 4: 5 Schritte

Video: USStepper Roboterarm 4: 5 Schritte
Video: Robot Arm 5 axis use arduino 2024, November
Anonim
USStepper Roboterarm 4
USStepper Roboterarm 4
USStepper Roboterarm 4
USStepper Roboterarm 4
USStepper Roboterarm 4
USStepper Roboterarm 4
USStepper Roboterarm 4
USStepper Roboterarm 4

Dies ist die 4. Iteration meines Roboterarms, den ich als Anwendung für unser uStepper Stepper Control Board entwickelt habe. Da der Roboter über 3 Schrittmotoren und ein Servo zur Betätigung verfügt (in seiner Grundkonfiguration) ist er nicht auf uStepper beschränkt, sondern kann mit jeder Schrittmotortreiberplatine verwendet werden.

Der Aufbau basiert auf einem industriellen Palettierroboter – und ist relativ einfach. Vor diesem Hintergrund habe ich unzählige Stunden damit verbracht, das Design zu entwickeln und es sowohl für die einfache Montage als auch für das einfache Drucken der Teile zu optimieren.

Ich habe das Design mit Blick auf einfaches Drucken und einfache Montage im Hinterkopf gemacht. Nicht, dass es keine Möglichkeit gäbe, diese beiden Parameter zu verbessern, aber ich denke, ich habe einen langen Weg zurückgelegt. Darüber hinaus möchte ich die Industrierobotik auf ein Niveau bringen, auf dem der Bastler sie verfolgen kann, indem ich zeige, dass sie relativ einfach gemacht werden kann - auch die Mathematik, um sie zu steuern!

Fühlen Sie sich frei, einen Kommentar mit konstruktivem Feedback zum Design zu hinterlassen, aber vor allem dazu, wie ich es für alle zugänglich mache (insbesondere die Mathematik).

Schritt 1: Erforderliche Teile, 3D-Druck und Montage

Erforderliche Teile, 3D-Druck und Montage
Erforderliche Teile, 3D-Druck und Montage
Erforderliche Teile, 3D-Druck und Montage
Erforderliche Teile, 3D-Druck und Montage
Erforderliche Teile, 3D-Druck und Montage
Erforderliche Teile, 3D-Druck und Montage
Erforderliche Teile, 3D-Druck und Montage
Erforderliche Teile, 3D-Druck und Montage

Im Grunde steht alles was man wissen muss in der Montageanleitung. Es gibt eine detaillierte Stückliste mit gekauften und gedruckten Teilen und eine detaillierte Montageanleitung.

Der 3D-Druck erfolgt auf einem 3D-Drucker (FDM) angemessener Qualität mit einer Schichthöhe von 0,2 mm und 30 % Infill. Die neueste Version von Teilen und Anweisungen finden Sie hier:

Schritt 2: Kinematik

Kinematik
Kinematik
Kinematik
Kinematik

Um den Arm auf vorhersehbare Weise bewegen zu lassen, müssen Sie rechnen: O Ich habe an vielen Stellen nach einer relativ einfachen Beschreibung der Kinematik dieses Robotertyps gesucht, aber ich habe keine gefunden, von der ich glaube, dass sie aktiv war eine Ebene, auf der die meisten Leute es verstehen konnten. Ich habe meine eigene Version der Kinematik erstellt, die ausschließlich auf Trigonometrie basiert und nicht auf Matrixtransformationen, die ziemlich beängstigend erscheinen können, wenn Sie noch nie an diesem Zeug gearbeitet haben - sie sind jedoch für diesen speziellen Roboter recht einfach, da er nur 3 DOF hat.

Trotzdem denke ich, dass mein Ansatz im beigefügten Dokument relativ leicht verständlich geschrieben ist. Aber schau mal, ob es für dich Sinn macht!

Schritt 3: Kinematik codieren

Die Kinematik kann selbst mit den Berechnungen, die ich in ersterem bereitgestellt habe, schwer zu verstehen sein. Hier ist also zunächst eine Octave-Implementierung - Octave ist ein kostenloses Tool mit vielen der gleichen Funktionen wie in Matlab.

L1o = 40;Zo = -70; L_2 = 73,0; Au = 188,0; Al = 182,0; Lo = 47,0; OBERARMLÄNGE = Au; UNTERARMLEN = Al; XOFFSET = Lo; ZOFFSET = L_2; AZOFFSET = Zo; AXOFFSET = L1o; disp('Codeimplementierung') disp('Eingabewinkel:') rot = deg2rad(30); rechts = Grad2rad(142,5); links = deg2rad(50); rad2deg(rot) rad2deg(right) rad2deg(left) T1 = rot;#base T2 = right;#shoulder T3 = left;#elbow #FW Kinematik um XYZ aus Winkeln zu erhalten: disp('Berechnete X, Y, Z:') z = ZOFFSET + sin(rechts)*UNTERARMLEN - cos(links - (pi/2 - rechts))*UPPERARMLEN + AZOFFSET k1 = sin(links - (pi/2 - rechts))*UPPERARMLEN + cos(rechts)* UNTERARMLEN + XOFFSET + AXOFFSET; x = cos(rot)*k1 y = sin(rot)*k1 ##inverse Kinematik um Winkel von XYZ zu erhalten: rot = atan2(y, x); x = x - cos(rot)*AXOFFSET; y = y - sin(rot)*AXOFFSET; z = z - AZOFFSET-ZOFFSET; L1 = Quadrat (x*x + y*y) – XOFFSET; L2 = Quadrat ((L1)*(L1) + (z)*(z)); a = (z)/L2; b = (L2*L2 + UNTERE ARME * UNTERE ARME – OBERE ARME * OBERARME)/(2*L2*UNTERE ARME); c = (UNTERE ARME * UNTERE ARME + OBERE ARME * OBERARMLE - L2 * L2)/(2 * UNTERE ARME * OBERARME); rechts = (atan2(a, sqrt(1-a*a)) + atan2(sqrt(1-b*b), b)); links = atan2(sqrt(1-c*c), c); ##Ausgabe berechneter Winkel disp('Ausgabewinkel:') rot = rad2deg(rot) right = rad2deg(right) left = rad2deg(left)

Mit dem obigen Skript haben Sie im Grunde den implementierungsfertigen Code für Vorwärts- und Rückwärtskinematiken.

Vorwärtskinematik, die Sie verwenden, um zu berechnen, wo Sie mit einem bestimmten Satz von Motorwinkeln landen. Die inverse Kinematik berechnet dann (umgekehrt) welche Motorwinkel Sie benötigen, um an einer gewünschten x-, y-, z-Position zu landen. Es müssen dann Einschränkungen der motorischen Bewegung eingefügt werden, wie z. B. Rotationsbasis kann nur von 0 bis 359 Grad gehen. Auf diese Weise stellen Sie sicher, dass Sie keine Positionen einnehmen, die nicht machbar sind.

Schritt 4: Das Ding ausführen

Image
Image

Wir sind mit der Implementierung der Kinematikbibliothek noch nicht ganz am Ziel, so dass ich sie noch nicht bereitstellen kann. Aber ich kann Ihnen ein Video zeigen, wie es läuft. Es ist aufgrund der Verwendung von Lagern und Riemenantrieb ziemlich stabil und laufruhig, neben einer angemessenen Antriebsqualität, die hier die uStepper S-Boards bieten.

Schritt 5: Zusätzliche Endeffektoren

Zusätzliche Endeffektoren
Zusätzliche Endeffektoren
Zusätzliche Endeffektoren
Zusätzliche Endeffektoren

Ich habe 3 zusätzliche Endeffektoren entworfen. Einer ist ganz einfach ein horizontaler Greifer, ein anderer passt auf eine normale europäische Bier- oder Getränkedose und schließlich gibt es ein Vakuum-Greifersystem, mit dem Sie einen Vakuumsauger, eine Pumpe und ein Ventil anbringen können.

Alle werden oder sind hier verfügbar (3D STL-Dateien und Anweisungen):

Empfohlen: