Schachspiel mittels kollaborierendem UR-Roboter unter ROS
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.
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
Der funktionaler Systementwurf[3], zeigt in einem Programmablaufplan den schematischen Ablauf des zu programmierenden Programms.
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.
Komponenten | Beschreibung | Bild |
---|---|---|
UR3 | Herzstück des Projektes ist der Arduino Uno. (Die aktuellste Version ist der Arduino UNO R3) Dieser besitzt einen Mikrocontroller von ATMEL, der ATMEGA 328P. Außerdem hat der Arduino UNO 14 digitale I/O Pins, davon können sechs Pins als PWM Kanäle genutzt werden. Darüber hinaus sind sechs analoge Input Pins verfügbar. Die I/O Pins können maximal mit einem Strom von 20mA belastet werden. Der Arduino benötigt eine Betriebsspannung von 5V. Weitere Informationen sind dem Datenblatt[6] zu entnehmen. | |
DGT Smart Board | Die Real Time Clock ermöglicht das Auslesen und Setzen der aktuellen Urzeit und Datum. Dieses Modul dient dazu, die Uhrzeit und das Datum beizubehalten. Im Falle einer Spannungsfreiheit (z.B. Hauptstecker gezogen) muss somit die Uhr-/Datumseingabe nicht neu eingegeben werden. Mit einer 3V-Knopfzelle ist diese Echtzeituhr in der Lage, die Zeit bis zu 5 Jahre mitzuführen. | |
DGT 3000 Schachuhr | Der DHT11 ist ein Sensor zum ermitteln von Temperatur und Luftfeuchtigkeit. Der Sensor kann sowohl mit 3,3V als auch 5V betrieben werden, er eignet sich sehr gut zum Anschluss an alle gängigen Boards von Arduino. Die Ausgabe der Daten erfolgt seriell als digitale Bitfolge. Somit eignet sich der Sensor ideal um das Raum-/ und Außenklima (Temperatur und Luftfeuchtigkeit) zu überwachen. | |
ROS | Das Matrix Panel ist die Ausgabeeinheit des Projektes und gibt alle Werte, wie Temperatur, Datum, Uhrzeit, ect. aus. Die 512 hellen RGB-LEDs sind in einem 16x32-Raster auf der Vorderseite angeordnet. Auf der Rückseite befindet sich ein PCB mit zwei IDC-Anschlüssen (1x Input, 1x Output) und 12 16-bit-Schieberegister, die es ermöglichen das Panel mit einer 1:8 Abtastrate zu steuern. Es lassen sich auch mehrere Panels in Reihe schalten, dazu wird der Output des ersten Panels an den nächsten Input angeschlossen. Das Panel benötigen 8 digitale, 3 analoge Pins und eine 5V Spannungsversorgung.[7] | |
RViz | Der Lüfter wird mit 5V betrieben. Die Betriebsspannung kann zwischen 3 V und 12 V variiert werden. Je nach Höhe der Spannung ist die Umdrehungsgeschwindigkeit des Lüfters schneller oder langsamer. Beim Einbau wurde der Lüfter an die Spannungsquelle des Arduinos angeschlossen. Der Lüfter ist im Boden des Gehäuses eingebaut und sorgt dafür, dass ein kontinuierlicher Luftaustausch stattfindet. Die durch die Komponenten erwärmte Luft wird durch kühle Außenluft ausgetauscht, so kommt es nicht zu Ungenauigkeiten des Temperatursensors. |
Programmierung/Entwicklung
In Schritt Entwicklung[8] wird die notwendige Software programmiert.
Komponententest
Integrationstest
Systemtest
Abnahmetest
Literatur
weitere nützliche sonstige Literatur[9] ist unter diesem Punkt zu finden.
Zusammenfassung
Ausblick
Probleme und Lösungen
Literaturverzeichnis
- ↑ TortoiseSVN Client
- ↑ Anforderungsdefinition
- ↑ funktionaler Systementwurf
- ↑ technischer Systementwurf
- ↑ Komponentenspezifikation
- ↑ Arduino: Arduino- ArduinoBoardUno. 2021. Online im Internet: https://www.arduino.cc/en/Main/arduinoBoardUno> Abruf: 05.01.2021
- ↑ STMikroelektronics: STP16NF06L/FP. 2004. Online im Internet: https://cdn-reichelt.de/documents/datenblatt/A200/TXSTM-POWERMOSFET-STX-16NF06L_EN.pdf; Abruf: 05.01.2021
- ↑ Entwicklung
- ↑ sonstige Literatur