Montage der Legosteine mit dem UR3-Roboter

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

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.


Berechnung der Roboterkoordinaten mithilfe der Legoplattenkoordinaten

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