Inhaltsverzeichnis:
- Schritt 1: Erforderliche Teile, 3D-Druck und Montage
- Schritt 2: Kinematik
- Schritt 3: Kinematik codieren
- Schritt 4: Das Ding ausführen
- Schritt 5: Zusätzliche Endeffektoren
Video: USStepper Roboterarm 4: 5 Schritte
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
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
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
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
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
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:
Roboterarm mit Greifer - Gunook
Roboterarm mit Greifer: Das Ernten von Zitronenbäumen gilt aufgrund der Größe der Bäume und auch aufgrund des heißen Klimas der Regionen, in denen Zitronenbäume gepflanzt werden, als harte Arbeit. Deshalb brauchen wir etwas anderes, um Landarbeitern zu helfen, ihre Arbeit besser zu erledigen
Roboterarm mit Zio-Modulen Teil 3: 4 Schritte
Roboterarm mit Zio-Modulen Teil 3: Dieser Blogbeitrag ist Teil der Zio Robotics-Serie. Einführung In unserem vorherigen Blog haben wir die Tutorials Teil 1 und 2 zur Steuerung eines Roboterarms mit Zio-Modulen veröffentlicht. Teil 1 konzentrierte sich hauptsächlich auf die automatische Steuerung der Klaue Ihres Roboterarms
Roboterarm mit Zio-Modulen Teil 2: 11 Schritte
Roboterarm mit Zio-Modulen Teil 2: Im heutigen Tutorial werden wir alle 4 Servos und einen PS2-Wireless-Controller verwenden, um den Roboterarm zu steuern. Dieser Blogbeitrag ist Teil der Zio Robotics Series. Einführung In unserem vorherigen Blog haben wir Teil 1 gepostet Tutorial zur Steuerung eines Robotic Ar
Steuern Sie einen Roboterarm mit Zio-Modulen Teil 1: 8 Schritte
Steuern Sie einen Roboterarm mit Zio-Modulen Teil 1: Dieser Blogbeitrag ist Teil der Zio Robotics Series.EinführungIn diesem Tutorial werden wir ein Projekt erstellen, in dem wir Zio-Module verwenden, um den Roboterarm zu steuern. In diesem Projekt lernen Sie, wie Sie Ihre Roboterarmkralle öffnen und schließen. Diese n
WIE MAN EINEN BEEINDRUCKENDEN HOLZ-ROBOTERARM ZUSAMMENBAUT (TEIL 3: ROBOTERARM) - BASIERT AUF DEM MIKRO: BITN - Gunook
WIE MAN EINEN BEEINDRUCKENDEN ROBOTERARM AUS HOLZ MONTIERT (TEIL3: ROBOTERARM) -- BASIEREND AUF DEM MIKRO: BITN: Der nächste Installationsvorgang basiert auf dem Abschluss des Hindernisvermeidungsmodus. Der Installationsprozess im vorherigen Abschnitt ist der gleiche wie der Installationsprozess im Linienverfolgungsmodus. Dann werfen wir einen Blick auf die endgültige Form von A