Inhaltsverzeichnis:

SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!): 5 Schritte (m
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!): 5 Schritte (m

Video: SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!): 5 Schritte (m

Video: SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!): 5 Schritte (m
Video: 15: Übung 4: Einführung in die Robotics Toolbox & Regelung 2024, November
Anonim
Image
Image
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!)
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!)
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!)
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!)

Ein SCARA-Roboter ist in der Industrie eine sehr beliebte Maschine. Der Name steht sowohl für Selective Compliant Assembly Robot Arm als auch für Selective Compliant Articulated Robot Arm. Es ist im Grunde ein Roboter mit drei Freiheitsgraden, wobei die ersten beiden Verschiebungen in der XY-Ebene rotieren und die letzte Bewegung durch einen Schieber in der Z-Achse am Ende des Arms ausgeführt wird. Die zwei Freiheitsgrade wurden geplant, um mehr Präzision zu bieten; dennoch hatte der verbaute Arm aufgrund der Qualität der uns zur Verfügung stehenden Servos nicht so viel Beweglichkeit, wie man aufgrund seiner zwei Freiheitsgrade erwarten würde. Der elektronische Teil ist leicht verständlich. Allerdings ist es schwer zu bauen. Da der Arm drei Aktoren benötigt, haben wir drei Kanäle. Anstatt mit der üblichen Arduino-Schnittstelle zu programmieren, haben wir uns für Processing entschieden, eine dem Arduino sehr ähnliche Software.

Lieferungen

Stücklisten: Um das Prototyping zu bauen, wurden verschiedene Materialien verwendet, in der folgenden Liste sind alle diese Materialien aufgeführt:

  • 3 Servomotoren MG 996R
  • 1 Arduino Uno
  • MDF (3 mm Dicke)
  • Zahnriemen GT2 Profil (6 mm Teilung)
  • Epoxid
  • Schrauben und Muttern
  • 3 Lager

Schritt 1: Der Prototyp

der Prototyp
der Prototyp
der Prototyp
der Prototyp

Der erste Schritt bestand darin, das Modell in einer CAD-Software zu erstellen. In diesem Fall ist Solid Works eine ziemlich gute Software dafür, eine andere Option kann Fusion 360 oder eine andere CAD-Software Ihrer Wahl sein. Die in Schritt 1 angehängten Bilder waren der erste Prototyp aufgrund eines verschiedenen Fehlers, den wir ändern müssen, und wir landen bei der Modellshow im Video und in der Einführung.

Laser Cut wurde verwendet, um den Prototyp zu machen, ich habe kein Video des Herstellungsprozesses, aber ich habe die Dateien, die ich verwendet habe. Der wichtigste Teil dieses Projekts ist die Codierung der Schnittstelle, damit Sie Ihr eigenes Modell erstellen und unseren Code in Ihrem eigenen SCARA-Roboter verwenden können

Schritt 2: Motoranschlüsse

Anschlüsse für Motoren
Anschlüsse für Motoren

Die Elektronik ist so einfach wie Müsli kochen. Schließen Sie einfach alles wie auf dem Bild gezeigt an (Im Hauptcode kommt das an die Servos gesendete Signal von den Pins (11, 10 und 11))

Schritt 3: Vorwärts- und Umkehrkinematik verstehen

Verstehen der Vorwärts- und Umkehrkinematik
Verstehen der Vorwärts- und Umkehrkinematik
Verstehen der Vorwärts- und Umkehrkinematik
Verstehen der Vorwärts- und Umkehrkinematik
Verstehen der Vorwärts- und Umkehrkinematik
Verstehen der Vorwärts- und Umkehrkinematik
Verstehen der Vorwärts- und Umkehrkinematik
Verstehen der Vorwärts- und Umkehrkinematik

Vorwärtskinematik

Der Code funktioniert für die Trajektorien wie folgt: Nachdem Sie diesen Modus ausgewählt haben, müssen Sie eine zu zeichnende Form auswählen. Sie können zwischen Linie, Dreieck, Quadrat und Ellipse wählen. Je nach Auswahl wird eine Variable geändert, die dann als 'case'-Argument für einen später in der Sequenz programmierten Select-Typ fungiert. Dank der Flexibilität der Verarbeitung können wir mit der Schnittstelle mit Befehlen interagieren, die von Windows und anderen Betriebssystemen bekannt sind, wodurch die Position des Cursors (Maus) einer Variablen innerhalb des Programms zugewiesen werden kann, die durch die Verbindung mit Arduino-Befehlen die Servomotoren welche Winkel in welcher Reihenfolge zu fahren.

Der Algorithmus zum Zeichnen kann im Pseudocode reduziert werden: Wert x1 zuweisen, y1 Wert x2 zuweisen, y2 Differenz zwischen x1 und x2 berechnen Differenz zwischen y1 und y2 berechnen Punkte berechnen, durch die das Down geht (Dreieck, Quadrat, Kreis) (Geometrie wird mit diesen beiden Punkten verwendet) if (botondibujar == true) vollständige Sequenz Im Falle der Aufzeichnung werden die an den Servomotor gesendeten Variablen in einem Array von 60 Einheiten gespeichert, die uns durch Drücken der Schaltfläche "Aufzeichnen" ermöglichen, Speichern Sie die erhaltenen Daten mit einem beliebigen Modus (Manuell, Vorwärts, Invers, Trajektorien) und replizieren Sie sie dann, wenn Sie die Starttaste mit einer einfachen Änderung der Variablen drücken.

Inverse Kinematik

Das Problem der inversen Kinematik besteht darin, die notwendigen Eingaben zu finden, damit der Roboter einen Punkt auf seinem Arbeitsraum erreicht. Angesichts des Mechanismus kann die Anzahl der möglichen Lösungen für eine gewünschte Position unendlich sein. Der von uns gebaute Roboter ist ein serieller Mechanismus mit zwei Freiheitsgraden. Nach einer geometrischen Analyse wurden zwei Lösungen für diesen speziellen Mechanismus gefunden. Abbildung 13. Beispiel für inverse Kinematik Wobei: θ1 und θ2 die Eingangswinkel der beiden DoF-Roboter mit seriellem Mechanismus sind und X1 und X2 die Position in der Ebene des Werkzeugs im letzten Arm sind. Aus dem Bild oben:

Es existiert auch eine Ellenbogen-UP-Konfiguration, aber für den Zweck des geschriebenen Programms wurde nur die Ellbogen-DOWN-Konfiguration verwendet. Sind die Eingabewinkel gefunden, laufen diese Informationen über das direkte Kinematikprogramm und die gewünschte Position wird mit einem Fehler von weniger als einem Zentimeter durch die Servos und die Riemen erreicht.

Schritt 4: Manuell, Flugbahn und Lernmodus

Manueller, Trajektorie- und Lernmodus
Manueller, Trajektorie- und Lernmodus
Manueller, Trajektorie- und Lernmodus
Manueller, Trajektorie- und Lernmodus
Manueller, Trajektorie- und Lernmodus
Manueller, Trajektorie- und Lernmodus

Handbuch

Für diesen Modus müssen Sie nur die Maus in der Benutzeroberfläche bewegen und der Roboter folgt dem Zeiger der Benutzeroberfläche. Sie können dies in der Programmierung programmieren, die eine tolle Plattform ist

Trajektorien Für dieses Modell verwenden wir die Ressourcen der inversen Kinematik und erstellen die vom Kunden angeforderten Figuren: Gerade Linie Quadrat Dreieck Kreis Die Figuren können auf der Schnittstelle mit den gewünschten Formen gezeichnet werden. Die Flugbahn verwendet den inversen Modus, um jeden Punkt der Linien jeder der Figuren zu berechnen

Lernmodus

Der Lernmodus berücksichtigt alle anderen Modi, die manuell, vorwärts, invers und Flugbahnen sind, so dass Sie jede gewünschte Bewegung in der Benutzeroberfläche ausführen und dann durch dieselbe Bewegung wie zuvor ersetzen können, aber langsamer reproduzieren und versuchen, es mehr zu tun Exakt.

Schritt 5: Der Code

Der Code
Der Code

Tatsächlich ist der Code etwas schwer zu erklären, daher habe ich den Code hinterlassen, damit Sie ihn lesen können der Code sei geduldig) für den Moment können Sie mir im Zweifelsfall eine E-Mail senden: [email protected]

Empfohlen: