UR3 Roboter spielt Schach: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 47: Zeile 47:
</gallery>
</gallery>


= Komponentenspezifikation =
=Komponentenspezifikation=
'''Hardware:'''
'''UR3-Roboter:''' Ein kollaborativer Roboterarm von Universal Robots, geeignet für präzise Bewegungen.


'''Greifer:''' Der RG2 Gripper von OnRobot.
Die '''Komponentenspezifikation''' definiert, welche einzelnen Komponenten für die Umsetzung der Aufgaben genutzt werden. Dabei werden die Komponenten klar in die Bereiche Hardware und Software gegliedert.
=Hardware=


'''Schachbrett und Figuren:''' Das Elektronische Schachbrett von Digital Games Technology (DGT)"
{| class="mw-datatable"
! style="font-weight: bold;" | Komponenten
! style="font-weight: bold;" | Beschreibung
! style="font-weight: bold;" | Preis
! style="font-weight: bold;" | Bild
|-
|UR3
|
Das zentrale Element des Projekts ist der Roboterarm UR3 der Firma Universal Robots (UR). Der UR3 ist das kleinste Modell der kollaborativen Roboterreihe von UR. Mit einem Eigengewicht von 11 kg kann er Lasten von bis zu 3 kg heben. Die maximale Reichweite des Arms beträgt 500 mm, wenn dieser vollständig ausgefahren ist. Jedes Gelenk des UR3 kann sich um +/- 360° drehen. Für den Betrieb benötigt der Roboter eine Spannung von 24 V im Schaltschrank sowie 12 V an der Werkzeugschnittstelle. Die Kommunikation zwischen dem Roboter und einem PC erfolgt über eine Ethernet-Schnittstelle. Weitere technische Details können dem entsprechenden Datenblatt entnommen werden<ref name='Datenblatt UR3'> UR3: ''UniversalRobots- UR3Roboter''. 2025. Online: https://www.i-botics.de/wp-content/uploads/2016/08/ur3_de.pdf; Abruf: 27.01.2025</ref>.
|Kostenlos, da bereits vorhanden.
|[[Datei:UR3Roboter.jpg|126px|mini|zentriert|UR3Roboter]]
|-
|DGT Smart Board und Schachfiguren
|Das freundlicherweise vom Hersteller Digital Game Technology (DGT) bereitgestellte "DGT Smart Board" wird üblicherweise zur Übertragung von Turnierspielen ins Internet verwendet. Das bedeutet, dass dieses Smart Board die Möglichkeit zum Auslesen der einzelnen Figuren auf den bestimmten Feldern bietet. Die Datenübertragung wird durch ein USB-Kabel sichergestellt. Gleichzeitig kann eine von DGT hergestellte Schachuhr an das Schachbrett angeschlossen werden. Weitere Informationen sind unter der Quelle <ref name = 'DGT Smart Board' > DGT: ''DGT - DGT Smart Board''. 2025. Online: https://digitalgametechnology.com/products/home-use-e-boards/smart-board-with-indices; Abruf: 27.01.2025</ref> zu finden.
|0 €, Gesponsort vom Hersteller Digital Game Technology (DGT). Bei Chessware: 260€
|[[Datei:DGT Smartboard.png|126px|mini|zentriert|DGT Smartboard]]
|-
|RG2 Gripper
|
Der RG2 Greifer von OnRobot ist ein vielseitiger und anpassungsfähiger Endeffektor, der für den Einsatz mit kollaborativen Robotern konzipiert wurde. Er wiegt 0,78 kg und kann Objekte mit einem maximalen Gewicht von 5 kg  handhaben. Der Greifer verfügt über einen verstellbaren Hub von bis zu 110 mm  und bietet eine hohe Präzision mit einer Wiederholgenauigkeit von ±0,1 mm . Die Greifkraft ist zwischen 3 und 40 N einstellbar, wobei die Greifgeschwindigkeit zwischen 38 und 127 mm/s variiert. Der Greifer benötigt eine Betriebsspannung von 24 V und hat einen Stromverbrauch, der je nach Einsatz zwischen 70 mA und 600 mA liegt.
 
Für den Betrieb ist eine Umgebungstemperatur zwischen 5 °C und 50 °C erforderlich, und der Greifer kann einer relativen Luftfeuchtigkeit von 0–95 % (nicht kondensierend) standhalten. Die Lebensdauer des Greifers wird auf etwa 30.000 Betriebsstunden geschätzt. Der RG2 Greifer ist mit einer IP54-Schutzart ausgestattet, die ihn vor Staub und Spritzwasser schützt.
 
Der Greifer wird durch einen integrierten elektrischen BLDC-Motor betrieben und bietet zahlreiche Anpassungsmöglichkeiten, wie etwa die Verwendung von Standard-, X-förmigen oder verlängerten Fingertippen, um unterschiedlichste Arbeitsstücke zu greifen. Die standardmäßigen Fingertipps bestehen aus EPDM-Gummi, der den Grip erhöht und gleichzeitig die Wahrscheinlichkeit verringert, dass Abdrücke auf den Objekten hinterlassen werden.
 
Weitere technische Details und Informationen zu den verfügbaren Zubehörteilen, wie Fingertip-Erweiterungen, können im offiziellen Datenblatt eingesehen werden.<ref name='Datenblatt RG2'> RG2Gripper: ''UniversalRobots- RG2 Gripper''. 2025. Online:https://onrobot.com/sites/default/files/documents/Datasheet_RG2_EN_0.pdf; Abruf: 27.01.2025</ref>.
|Kostenlos, da bereits vorhanden.
|[[Datei: RG2 Gripper.png|126px|mini|zentriert]]
|}
 
 
 
=Software - Robodk & Python Integration=
'''RoboDK''' ist eine vielseitige Software zur Programmierung und Simulation von Industrierobotern. Sie ermöglicht die Entwicklung von Roboteranwendungen mit einer grafischen Benutzeroberfläche und ist vollständig kompatibel mit Python, um flexible, automatisierte Lösungen zu erstellen. Robodk bietet eine Vielzahl von Funktionen, die für die Programmierung und Simulation von Roboterbewegungen und -aufgaben genutzt werden können.
'''Installation und Einrichtung'''
'''Robodk Installation:'''
* Robodk steht für verschiedene Betriebssysteme zur Verfügung, darunter Windows, macOS und Linux. Auf den jeweiligen Plattformen kann Robodk durch gängige Installationsmethoden eingerichtet werden. Die genaue Vorgehensweise für die Installation ist auf der offiziellen Robodk-Website<ref name='RoboDK'> RoboDK: ''RoboDK''. 2025. Online: https://robodk.com/de/; Abruf: 27.01.2025</ref>. verfügbar.
'''Python Installation:'''
Python kann über die offizielle Webseite<ref name='Python'> Python: ''Python''. 2025. Online: https://www.python.org/downloads/; Abruf: 27.01.2025</ref> heruntergeladen und installiert werden.
Für das Projekt wurde ursprünglich die Version 3.10 verwendet. Die funktionalität kann nur für diese Version gewährleistet werden.
 
Für die Nutzung von Python mit RoboDK wird die RoboDK Python-API benötigt. Diese lässt sich einfach über den Python Package Index (PyPI) mit folgendem Befehl Installieren:
<div style="width:1200px; height:50px; solid #088">
<pre>
''pip install robodk''
</pre>
</div>
<br clear = all>
'''Verwendung von Python mit Robodk'''
'''Verbindung zwischen Robodk und Python:'''
* Nach der Installation von Robodk und der Python-API können Python-Skripte genutzt werden, um Roboterbewegungen zu steuern, Berechnungen anzustellen und Simulationen durchzuführen. Robodk bietet hierfür ein einfach zu bedienendes API, das es ermöglicht, Roboter zu programmieren und Bewegungsabläufe zu simulieren. Dazu muss ein Modell des UR3 in RoboDK geladen werden. Dieses kann hier <ref name='RoboDK_UR3'> Universal Robots: ''UR3''. 2025. Online: https://robodk.com/robot/de/Universal-Robots/UR3#:~:text=Der%20Roboter%20UR3%20ist%20ein,Collaborative%2C%20Auftragen%2C%20Remote%20TCP.; Abruf: 27.01.2025</ref> heruntergeladen werden.

Version vom 27. Januar 2025, 16:42 Uhr

Autor: Jörn-Hendrik Beleke
Betreuer: Prof. Dr. Mirek Göbel & Marc Ebmeyer → zurück zur Übersicht: Praktikum Produktionstechnik

Einleitung

Das Projekt "UR3 spielt Schach" wurde entwickelt, um die Fähigkeiten eines UR3-Roboters in der präzisen Handhabung und Steuerung zu demonstrieren. Ziel war es, den Roboter zu programmieren, um eigenständig Schachzüge auszuführen, basierend auf vorgegebenen Befehlen. Obwohl das Projekt nicht vollständig abgeschlossen wurde, bietet es wertvolle Erkenntnisse und eine solide Basis für zukünftige Arbeiten. Es wurden unter anderem Erkenntnisse des Projekts Schachspiel mittels kollaborierendem UR-Roboter unter ROS genutzt.


Ziel des Projekts

  • Primäres Ziel: Programmierung eines UR3-Roboters, der Schachfiguren greift und bewegt.
  • Sekundäre Ziele:
    • Verstehen und Implementieren der RoboDK-Software in Kombination mit Python.
    • Entwicklung von Algorithmen zur Steuerung des "RG2 Gripper" Greifers.
    • Simulation und Optimierung der Roboterbewegungen.

V-Modell

Zur systematischen Umsetzung des Projekts wird das V-Modell als Vorgehensweise herangezogen (Abb. 1). Dieses Modell stellt sicher, dass sämtliche erforderlichen Schritte, die für die erfolgreiche Durchführung eines Projekts notwendig sind, konsequent umgesetzt werden.

Die Organisation und Verwaltung der erstellten Dokumente erfolgt mithilfe der Software TortoiseSVN. Im Folgenden werden die jeweiligen Dokumente, passend zu den einzelnen Phasen des V-Modells, als Download-Links bereitgestellt.

Anforderungsdefinition

Die Anforderungsdefinition wurde in zwei Teile getrennt.

Funktionale Anforderungen

  1. Präzision: Der Roboter muss die Schachfiguren sicher, ohne Kollisionen greifen und bewegen können.
  2. Reaktionszeit: Der Roboter muss innerhalb von 5 Sekunden auf einen neuen Schachzug reagieren.
  3. Sicherheit: Der Roboter muss sicher betrieben werden und darf keine gefährlichen Bewegungen durchführen, die Benutzer gefährden könnten.
  4. Benutzerfreundlichkeit: Die Interaktion mit dem System muss einfach und intuitiv sein, ohne dass umfangreiche Programmierkenntnisse erforderlich sind.

Nicht-Funktionale Anforderungen

  1. Zuverlässigkeit: Der Roboter und die Software müssen stabil arbeiten und auch bei längeren Schachpartien ohne Unterbrechungen funktionieren.
  1. Wartbarkeit: Der Code und die Hardware sollten so gestaltet sein, dass sie leicht aktualisiert, erweitert oder repariert werden können.

Fuktionaler Systementwurf

Der Funktionale Systementwurf wurde in Powerpoint mit Piktogrammen und einem Foto erstellt (siehe Abbildung 1.).

Technischer Systementwurf

Der Technische Systementwurf wurde über den „PAP Designer“ erstellt (siehe Abbildung 2.).

Komponentenspezifikation

Die Komponentenspezifikation definiert, welche einzelnen Komponenten für die Umsetzung der Aufgaben genutzt werden. Dabei werden die Komponenten klar in die Bereiche Hardware und Software gegliedert.

Hardware

Komponenten Beschreibung Preis Bild
UR3

Das zentrale Element des Projekts ist der Roboterarm UR3 der Firma Universal Robots (UR). Der UR3 ist das kleinste Modell der kollaborativen Roboterreihe von UR. Mit einem Eigengewicht von 11 kg kann er Lasten von bis zu 3 kg heben. Die maximale Reichweite des Arms beträgt 500 mm, wenn dieser vollständig ausgefahren ist. Jedes Gelenk des UR3 kann sich um +/- 360° drehen. Für den Betrieb benötigt der Roboter eine Spannung von 24 V im Schaltschrank sowie 12 V an der Werkzeugschnittstelle. Die Kommunikation zwischen dem Roboter und einem PC erfolgt über eine Ethernet-Schnittstelle. Weitere technische Details können dem entsprechenden Datenblatt entnommen werden[1].

Kostenlos, da bereits vorhanden.
UR3Roboter
DGT Smart Board und Schachfiguren Das freundlicherweise vom Hersteller Digital Game Technology (DGT) bereitgestellte "DGT Smart Board" wird üblicherweise zur Übertragung von Turnierspielen ins Internet verwendet. Das bedeutet, dass dieses Smart Board die Möglichkeit zum Auslesen der einzelnen Figuren auf den bestimmten Feldern bietet. Die Datenübertragung wird durch ein USB-Kabel sichergestellt. Gleichzeitig kann eine von DGT hergestellte Schachuhr an das Schachbrett angeschlossen werden. Weitere Informationen sind unter der Quelle [2] zu finden. 0 €, Gesponsort vom Hersteller Digital Game Technology (DGT). Bei Chessware: 260€
DGT Smartboard
RG2 Gripper

Der RG2 Greifer von OnRobot ist ein vielseitiger und anpassungsfähiger Endeffektor, der für den Einsatz mit kollaborativen Robotern konzipiert wurde. Er wiegt 0,78 kg und kann Objekte mit einem maximalen Gewicht von 5 kg handhaben. Der Greifer verfügt über einen verstellbaren Hub von bis zu 110 mm und bietet eine hohe Präzision mit einer Wiederholgenauigkeit von ±0,1 mm . Die Greifkraft ist zwischen 3 und 40 N einstellbar, wobei die Greifgeschwindigkeit zwischen 38 und 127 mm/s variiert. Der Greifer benötigt eine Betriebsspannung von 24 V und hat einen Stromverbrauch, der je nach Einsatz zwischen 70 mA und 600 mA liegt.

Für den Betrieb ist eine Umgebungstemperatur zwischen 5 °C und 50 °C erforderlich, und der Greifer kann einer relativen Luftfeuchtigkeit von 0–95 % (nicht kondensierend) standhalten. Die Lebensdauer des Greifers wird auf etwa 30.000 Betriebsstunden geschätzt. Der RG2 Greifer ist mit einer IP54-Schutzart ausgestattet, die ihn vor Staub und Spritzwasser schützt.

Der Greifer wird durch einen integrierten elektrischen BLDC-Motor betrieben und bietet zahlreiche Anpassungsmöglichkeiten, wie etwa die Verwendung von Standard-, X-förmigen oder verlängerten Fingertippen, um unterschiedlichste Arbeitsstücke zu greifen. Die standardmäßigen Fingertipps bestehen aus EPDM-Gummi, der den Grip erhöht und gleichzeitig die Wahrscheinlichkeit verringert, dass Abdrücke auf den Objekten hinterlassen werden.

Weitere technische Details und Informationen zu den verfügbaren Zubehörteilen, wie Fingertip-Erweiterungen, können im offiziellen Datenblatt eingesehen werden.[3].

Kostenlos, da bereits vorhanden.


Software - Robodk & Python Integration

RoboDK ist eine vielseitige Software zur Programmierung und Simulation von Industrierobotern. Sie ermöglicht die Entwicklung von Roboteranwendungen mit einer grafischen Benutzeroberfläche und ist vollständig kompatibel mit Python, um flexible, automatisierte Lösungen zu erstellen. Robodk bietet eine Vielzahl von Funktionen, die für die Programmierung und Simulation von Roboterbewegungen und -aufgaben genutzt werden können. Installation und Einrichtung Robodk Installation:

  • Robodk steht für verschiedene Betriebssysteme zur Verfügung, darunter Windows, macOS und Linux. Auf den jeweiligen Plattformen kann Robodk durch gängige Installationsmethoden eingerichtet werden. Die genaue Vorgehensweise für die Installation ist auf der offiziellen Robodk-Website[4]. verfügbar.

Python Installation: Python kann über die offizielle Webseite[5] heruntergeladen und installiert werden. Für das Projekt wurde ursprünglich die Version 3.10 verwendet. Die funktionalität kann nur für diese Version gewährleistet werden.

Für die Nutzung von Python mit RoboDK wird die RoboDK Python-API benötigt. Diese lässt sich einfach über den Python Package Index (PyPI) mit folgendem Befehl Installieren:

''pip install robodk''


Verwendung von Python mit Robodk Verbindung zwischen Robodk und Python:

  • Nach der Installation von Robodk und der Python-API können Python-Skripte genutzt werden, um Roboterbewegungen zu steuern, Berechnungen anzustellen und Simulationen durchzuführen. Robodk bietet hierfür ein einfach zu bedienendes API, das es ermöglicht, Roboter zu programmieren und Bewegungsabläufe zu simulieren. Dazu muss ein Modell des UR3 in RoboDK geladen werden. Dieses kann hier [6] heruntergeladen werden.
  1. UR3: UniversalRobots- UR3Roboter. 2025. Online: https://www.i-botics.de/wp-content/uploads/2016/08/ur3_de.pdf; Abruf: 27.01.2025
  2. DGT: DGT - DGT Smart Board. 2025. Online: https://digitalgametechnology.com/products/home-use-e-boards/smart-board-with-indices; Abruf: 27.01.2025
  3. RG2Gripper: UniversalRobots- RG2 Gripper. 2025. Online:https://onrobot.com/sites/default/files/documents/Datasheet_RG2_EN_0.pdf; Abruf: 27.01.2025
  4. RoboDK: RoboDK. 2025. Online: https://robodk.com/de/; Abruf: 27.01.2025
  5. Python: Python. 2025. Online: https://www.python.org/downloads/; Abruf: 27.01.2025
  6. Universal Robots: UR3. 2025. Online: https://robodk.com/robot/de/Universal-Robots/UR3#:~:text=Der%20Roboter%20UR3%20ist%20ein,Collaborative%2C%20Auftragen%2C%20Remote%20TCP.; Abruf: 27.01.2025