Montage der Legosteine mit dem UR3-Roboter: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 83: Zeile 83:
Diese Matrix kann durch das Lösen eines linearen Gleichungssystems bestimmt werden.
Diese Matrix kann durch das Lösen eines linearen Gleichungssystems bestimmt werden.
Hierfür müssen mindestens zwei Punkte aufgenommen werden.
Hierfür müssen mindestens zwei Punkte aufgenommen werden.
Es bietet sich an, einen Stein so zu platzieren, dass sein Mittelpunkt im Mittelpunkt des 2x2 Feldes der unteren linken Ecke ist.
Zur Kalibrierung wird der Stein im Greifer des UR3-Roboters platziert und dieser so auf die Legoplatte geführt, dass sich der Stein an der gewünschten Position befindet.
Zur Kalibrierung wird der Stein im Greifer des UR3-Roboters platziert und dieser so auf die Legoplatte geführt, dass sich der Stein an der gewünschten Position befindet.
Anschließend können die Koordinaten von der Polyscope Oberfläche des UR3-Benutzerterminals abgelesen werden.
Anschließend können die Koordinaten von der Polyscope Oberfläche des UR3-Benutzerterminals abgelesen werden.
Zeile 89: Zeile 88:
WICHTIG: Im Vorfeld muss das Terminal auf das richtige Koordinatensystem konfiguriert werden. Dieses muss von "Ansicht" auf "Fuß" gestellt werden. Andernfalls werden nicht die gewünschten Koordinaten angezeigt.
WICHTIG: Im Vorfeld muss das Terminal auf das richtige Koordinatensystem konfiguriert werden. Dieses muss von "Ansicht" auf "Fuß" gestellt werden. Andernfalls werden nicht die gewünschten Koordinaten angezeigt.


Das Gleichungssystem mit welchem die Transformationsmatrix ermittelt werden kann
Um den Roboter zu kalibrieren müssen zwei Punkte des Legofeldes "eingeteacht" werden.
Es bietet sich an, einen Stein so zu platzieren, dass sein Mittelpunkt im Mittelpunkt des 2x2 Feldes der unteren linken Ecke ist.
In diesem Fall ist auch der Translationsvektor der homogenen Transformation bekannt.
Um die Transformationsmatrix möglichst einfach bestimmen zu können, wird als zweiter einzulernender Punkt ein Punkt gewählt, welcher vom ersten aufgenommenen Punkt aus gesehen, eine feste Distanz nach rechts verschoben ist.


=== Bilder ===
=== Bilder ===

Version vom 11. Februar 2018, 16:20 Uhr

Autor: Alexander Rips und Tim Kolem

In Bearbeitung!


Einleitung

Dies ist der Wiki Artikel zur Dokumentation der Arbeitsergebnisse der Gruppe "Montage der Legosteine mit dem UR3-Roboter". Innerhalb dieses Artikels wird erläutert, wie der UR3 Roboter mithilfe von MATLAB angesteuert werden kann, und wie die Kooridinaten der zu platzierenden Legosteine errechnet werden können.



-Kategorie ergänzen!


Inhalt

Ansteuerung des Roboters mithilfe von MATLAB

Innerhalb dieses Unterabschnittes wird erläutert, wie der UR3-Roboter über MATLAB angesteuert werden kann. Die Ansteuerung des UR3 Greifarmroboters erfolgt über das TCP/IP-Protokoll mithilfe der "tcpip"-Klasse der MATLAB-Standardbibliothek. Es muss beachtet werden, dass der verwendete Computer mit einem Ethernet-Kabel mit dem UR3-Greifarmroboter verbunden werde muss und MATLAB einen Zugriff auf das Netzwerk erhalten muss. Im Falle von Windows 10 können die Netzwerkeinstellungen der einzelnen Anwendungen unter (Systemsteuerung -> System und Sicherheit -> Windows Defender Firewall -> Zugelassene Apps) festgelegt werden. Für diese Operation werden Administratorrechte benötigt.


Umrechnung der logischen Koordinaten in Koordinaten des Roboters

In diesem Unterabschnitt wird thematisiert wie die Koordinaten, welche in der Excel Tabelle hinterlegt werden, zu den realen Koordinaten des Roboters umgerechnet werden können. Dabei erfolgen genau genommen zwei einzelne Transformationen. Zum einen eine Transformation von den in der Excel-Tabelle angegebenen Koordinaten in Legonoppen zu den realen Koordinaten des "Legoplattensystems". Und zum Anderen eine Transformation der Koordinaten des "Legoplattensystems" in das Koordinatensystem des Roboters.


Auslesen der Excel Tabelle

Zunächst einmal muss die hinterlegte Excel-Tabelle ausgelesen werden. Dieser Auslesevorgang wird mithilfe Funktion "xlsread" der MATLAB-Standardbibliothek realisiert. Der genaue Befehl zum Auslesen der xlsx-Datei lautet wie folgt: "xlsread('Robokoords.xlsx',,,'basic');". Dabei ist "Robokoords.xlsx" der Name der hinterlegten xlsx-Tabelle. Der Rückgabewert dieser Funktion ist bei einer fehlerfreien Ausführung der Funktion eine Matrix mit den Tabelleninhalten der mit "Robokoords.xlsx" spezifizierten Excel-Tabelle. Eine genauere Dokumentation des "xlsread"-Befehls befindet sich in der MATLAB-Dokumentation unter [1]. Nachdem die Excel-Tabelle in eine Matrix geladen worden ist, kann durch diese zeilenweise iteriert werden, da jeder zu platzierende Stein eine Zeile in der Tabelle repräsentiert.


Errechnung der realen Koordinaten auf der Legoplatte

Die Koordinaten der einzelnen Legosteine innerhalb der Excel-Tabelle werden in "Legonoppen" ausgehend von der linken unteren Ecke referenziert. Dies bedeutet das ein Stein mit den Koordinaten (0;0) mit seiner linken unteren Noppe auf der ersten Noppe links unten auf der Legoplatte platziert werden soll. Ein Stein mit den Koordinaten (1;0) wird mit seiner unteren linken Noppe eine Noppe weiter rechts von dem (0;0) Stein platziert. Der Stein mit den Koordinaten (0;1) wir eine Noppe über dem (0;0)-Stein platziert.

Die realen Koordinaten bezeichnen den Punkt im Raum, den der TCP des UR3-Roboters einnehmen muss um den Legostein zu platzieren. Selbstverständlich müssen diese Koordinaten später von oben angefahren werden.

Die Koordinaten auf der Legoplatte werden wie folgt berechnet:

Anzahl der Noppen * Abstand zweier Noppen + Länge des Steins

Dies gilt analog für die x-Koordinate und die y-Koordinate.


Es muss zusätzlich noch ein Noppenabstand von der x-Koordinate als auch von der y-Koordinate abgezogen werden. Der Grund für diese Subtraktion ist darin begründet, dass nur Punkte innerhalb eines 2x2 Noppenfeldes exakt mit dem Roboter ermittelt werden können und bei der Kalibrierung unter anderem dieser Punkt aufgenommen werden soll.

-hier mit Bild zeigen


Berechnung der Roboterkoordinaten mithilfe der Legoplattenkoordinaten

In diesem Unterabschnitt wird erläutert, wie die Koordinaten der Legoplatte zu Koordinaten des Roboterkoordinatensystems umgerechnet werden können. Um die Koordinaten zu Transformieren wird die homogene Transformation angewendet.

Damit die Tranformation durchgeführt werden kann, muss zunächst einmal die Transformationsmatrix ermittelt werden. Vereinfachend wird angenommen, dass nur eine Drehung um die z-Achse durchgeführt wird.

-hier Bild mit Matrix von der homogenen Transformation A * x_ut = x_t

Diese Matrix kann durch das Lösen eines linearen Gleichungssystems bestimmt werden. Hierfür müssen mindestens zwei Punkte aufgenommen werden. Zur Kalibrierung wird der Stein im Greifer des UR3-Roboters platziert und dieser so auf die Legoplatte geführt, dass sich der Stein an der gewünschten Position befindet. Anschließend können die Koordinaten von der Polyscope Oberfläche des UR3-Benutzerterminals abgelesen werden.

WICHTIG: Im Vorfeld muss das Terminal auf das richtige Koordinatensystem konfiguriert werden. Dieses muss von "Ansicht" auf "Fuß" gestellt werden. Andernfalls werden nicht die gewünschten Koordinaten angezeigt.

Das Gleichungssystem mit welchem die Transformationsmatrix ermittelt werden kann

Um den Roboter zu kalibrieren müssen zwei Punkte des Legofeldes "eingeteacht" werden. Es bietet sich an, einen Stein so zu platzieren, dass sein Mittelpunkt im Mittelpunkt des 2x2 Feldes der unteren linken Ecke ist. In diesem Fall ist auch der Translationsvektor der homogenen Transformation bekannt. Um die Transformationsmatrix möglichst einfach bestimmen zu können, wird als zweiter einzulernender Punkt ein Punkt gewählt, welcher vom ersten aufgenommenen Punkt aus gesehen, eine feste Distanz nach rechts verschoben ist.

Bilder

Bauen Sie Bilder ein, am besten mit darin gekennzeichneten Stellen, die Sie dann im Text erklären.

Beispielbild mit Quelle [1]

Tabellen

Eine tolle Tabelle ist hier dargestellt.

Spalte 1 Spalte 2 Spalte 3
blabla sowieso sowieso
test sowieso test1

Formatierung

Nutzen Sie zur Formatierung Beispiele, z. B. aus dem weltbekannten Wikipedia selbst (das ist die gleiche Syntax!) oder anderer Hilfeseiten wie z. B. [2].

Zusammenfassung

Was ist das Ergbnis? Das Ergebnis dieses Artikels ist eine Vorlage, mit der Nutzer des Wikis schnell und leicht eigene Artikel verwirklichen können. Diese Vorlage ist Bestandteil der Anleitungen aus den How-To's.


Ausblick

Was kann/muss noch verbessert werden?


Literaturverzeichnis

[1] https://de.mathworks.com/help/matlab/ref/xlsread.html?s_tid=doc_ta