Schachspiel mittels kollaborierendem UR-Roboter unter ROS

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen


Autoren: Manfred Listner, Benjamin Reuter

Betreuer: Prof. Dr. Mirek Göbel & Marc Ebmeyer

Wintersemester: 2021/2022

Fachsemester: 7

zurück zum Hauptartikel: Praktikum Produktionstechnik


Einleitung

Als Teil des Bachelorstudiengangs Mechatronik an der HSHL, wird im siebten Semester das Fach Produktiontechnik VII unterrichtet. Semesterbegleitend wird dieses Fach als Praktikum durchgeführt. In diesem Praktikum sollen die Studierenden ein mechatronisches Projekt in kleinen Gruppen selbstständig bearbeiten. Das hier beschriebene Projekt handelt vom Schachspiel eines Roboterarms (UR3) unter ROS.

Aufgabenstellung

Aufgabe ist es, dem von der HSHL bereitgestellten Roboterarm UR3 das Schachspielen beizubringen. Dazu soll die Software "Robot Operation System" (ROS) verwendet werden. Das System soll letzten Endes dazu in der Lage sein gegen einen menschlichen Gegenspieler anzutreten. Dazu benötigt das System eine Möglichkeit zur Erkennung des Spielfelds und eine Positionserkennung der einzelnen Spielfiguren. Zusätzlich muss das System dazu in der Lage sein, das Spielfeld auswerten und korrekte Spielzüge ausführen zu können.

Vorgehensweise nach V-Modell

Zur strukturierten Bearbeitung des Projektes wird nach dem V-Modell vorgegangen. Durch dieses vorgehen kann sichergestellt werden, dass alle notwendigen Schritte die zur erfolgreichen Bearbeitung eines Projektes benötigt werden auch durchgeführt werden.
Die Verwaltung der verschiedenen erstellten Dokumente wird über das Programm TortoiseSVN[1] gewährleistet. Nachfolgend werden die Dokumente unter den jeweiligen Punkten des V-Modells als Link zum Download bereitgestellt.

Abbildung 1: V-Modell2020.png


Anforderungsdefinition

Die an das Projekt gestellten Anforderungen werden im ersten Schritt, der Anforderungsdefinition[2], des V-Modelles in der Anforderungsliste definiert. Dabei wird die Anforderungsliste in verschiedene Kategorien unterteilt:

  • Anforderungen an das System
  • Sicherheit
  • Schnittstellen
  • Software / Werkzeuge
  • Dokumentation

Funktionaler Systementwurf

Abbildung 2: Nodestruktur.JPG

Der funktionaler Systementwurf[3], zeigt in einer schematischen Darstellung die Struktur und Verknüpfung der einzelnen in ROS zu programmierenden Nodes (vgl. Abbildung 2). Der Aufbau der vier geplanten Nodes lässt sich wie folgt beschreiben:

  • Node 1: Sendet einen Befehl an das Smart Board um die Spielfeldinformationen anzufordern
  • Node 1: Sendet die erhalten Spielfeldinformationen über ein Topic an Node 2.
  • Node 2: Wertet über die Einbindung der Stockfish-Schachengine die Spielfeldinformationen aus und ermittelt den Zug den der Roboter ausführen muss.
  • Node 2: Sendet den ermittelten Spielzug (Figur, von Feld XY, nach Feld YZ) an Node 3.
  • Node 3: Ermittelt die Koordinaten die dem Roboter zur Bewegungsausführung bereitgestellt werden müssen.
  • Node 3: Sendet die Befehle über Topc an Node 4.
  • Node 4: Verantwortlich für die auszuführenden UR_Befehle

Zusätzlich findet sich unter dem o.g. Link ein Programmablaufplan der Auskunft über den generellen Ablauf und Rahmenbedingungen die bei der Zugdurchführung zu beachten sind.

Technischer Systementwurf

Im technischer Systementwurf[4] werden die verwendeten Komponenten und deren Schnittstellen übersichtlich dargestellt. Gleichzeitig wird hier gezeigt, wie die Komponenten untereinander verbunden sind.

Komponentenspezifikation

In der Komponentenspezifikation[5] wird definiert, welche Komponenten konkret für die erfüllen der Aufgaben verwendet werden sollen. Dabei haben wir die Komponenten in Hardware und Software unterteilt.

Hardware

Komponenten Beschreibung Bild
UR3 Hauptakteur des Projektes ist der UR3 Roboterarm der Firma Universal Robots (UR). Der UR3 ist der kleinste der von UR angebotenen kollaborierenden Roboter. Dabei hat der UR3 ein Gewicht von 11 kg mit einer maximalen Traglast von 3 kg. Die Reichweite des Roboters beträgt bei voll ausgestrecktem Arm 500 mm. Alle Gelenke des UR3 lassen sich um +/- 360° drehen. Der Roboter benötigt eine Betriebspanung von 24 V im Schaltschrank und 12 V an der Werkzeugschnittstelle. Die Kommunikation des Roboters zu PC findet über einen Ethernet-Anschluss statt. Weitere Informationen sind dem Datenblatt[6] zu entnehmen.
UR3Roboter
DGT Smart Board Durch das freundlicherweise vom Hersteller Digital Game Technology (DGT) bereitgestellte "DGT Smart Board" wird üblicherweise zur Übertragung von Turnierspielen ins Internet verwendet. Das bedeutet das 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 [7] zu finden.
DGT Smartboard
DGT 3000 Schachuhr Die Schachuhr DGT 3000 kann über ein AUX Kabel mit dem DGT Smart Board verbunden werden. Diese Verbindung ermöglich eine Zeit- und Spielererkennung beim auslesen des Boards. Weitere Informationen zur Schachuhr sind unter der Quelle [8]
DGT3000 Schachuhr

Software

Als Programmierumgebung wird das Robot Operating System (ROS) verwendet. Dieses Programm ist eigens für die Programmierung von Mehraschsrobotern entwickelt worden und bietet durch die Simulationsumgebung, RViz, eine Möglichkeit um eine Bewegungsplanung durchführen zu können. Um ROS in vollem Umfang nutzen zu können, wird eine Nutzung unter einem Linux Betriebssystem empfohlen. Unter Linux gibt es eine Vielzahl von bereits vorhandenen Softwarebibliotheken die dann durch Installation mit verwendet werden können.

Programmierung/Entwicklung

In Schritt Entwicklung[9] wird die notwendige Software programmiert.




Komponententest

Integrationstest

Systemtest

Abnahmetest

Literatur

weitere nützliche sonstige Literatur[10] ist unter diesem Punkt zu finden.

Zusammenfassung

Ausblick

Probleme und Lösungen

Literaturverzeichnis