ChessRoberta: Absolvent der Technomathematik an der FHWS lässt Roberterarm Schach spielen
Patt oder Matt im Spiel gegen einen schachspielenden Roboterarm – mit diesem Projekt befasste sich der Technomathematik-Absolvent und Student im Masterstudiengang Angewandte Mathematik und Physik Tim Selig. „Wenn ich gefragt werde, was ich studiere und sage, Mathematik, ist es still; wenn ich hingegen gefragt werde, woran ich arbeite und ich dann vom Projekt ChessRoberta erzähle mit dem Roboter Roberta, gegen den ich Schach spiele, kommt plötzlich großes Interesse auf.“ Gegen einer Roboter Schach zu spielen, finden viele spannend. Und sobald Technik einen emotionalen Bezug bekommt, einen Namen erhält, „menschlich“ wird, haben viele Menschen kaum noch Berührungsängste zur Mathematik: Das Spielen schafft zudem eine Nähe zur Technik.
Für Tim Selig, der an der Hochschule für angewandte Wissenschaften Würzburg-Schweinfurt studiert, war das praxisorientierte Projektthema perfekt, da es zwei seiner Interessengebiete, die Robotik und das Schachspielen, kombiniert. In einem Interview schildert er - neben seiner wissenschaftlichen Motivation - den Prozess der Programmierung und Realisation von „ChessRoberta“.
Wer kam auf die Idee zu einem schachspielenden Roboterarm?
„Die Idee des schachspielenden Roboters hatte Professor Dr. Bletz-Siebert als Betreuer des Projekts in Schweinfurt. Der vorhandene Leichtbauroboterarm von Kuka, genannt Roberta, sollte über eine Software-Schnittstelle das Ziehen von übertragenen Spielzügen realisieren und die Rolle des Gegenspielers übernehmen.“
Welche Entwicklungsschritte waren notwendig, welche gelangen hierbei gut, welche weniger?
„Die Entwicklungsschritte bestanden aus dem Implementieren der gesamten Schachlogik, dem Übersetzen von Schachzügen in eine Koordinatenfolge für den Roboter, das Ausführen der Bewegungen durch den Roboter sowie eine Client-Server-Architektur, damit der Spieler die Züge über einen externen PC an den Roboter senden kann. Die größte Schwierigkeit bestand in der Client-Server-Verbindung, da das nicht zu meinen Vorkenntnissen zählte. Die Schachlogik zu implementieren, hatte mir den größten Spaß gemacht, sodass ich trotz kleinerer Probleme stundenlang daran arbeiten konnte.“
Kann man die Entwicklungen am Roboterarm transferieren auf weitere Einsatzgebiete wie z.B. Alten- und Behindertenpflege, Fertigungsstraßen?
„Allgemein lässt sich das Projekt auf folgendes transferieren: Es ist möglich, Eingaben über einen externen PC zu machen, diese durch definierte Logik auszuwerten sowie in einen Bewegungsablauf für den Roboter zu übersetzen und mit dem Roboter auszuführen.
Dabei würden mir spontan Fließbandarbeiten mit spezifischen Fallunterscheidungen und mehr als einem vordefinierten Bewegungsablauf, einfallen. Im Prinzip könnten damit natürlich auch andere Brettspiele realisiert werden. Durch Hinzunahme einer Kamera und Methoden der Bildverarbeitung könnte beispielsweise auch die Erkennung von Spielfeldern oder Spielkarten realisiert werden; aber das wäre ein neues Projekt.
In der Alten- und Behindertenpflege wäre ich aus Sicherheitsgründen noch etwas skeptisch, auch wenn der Roboterarm mit einer Kollisionserkennung sowie Kraft- und Momentensensoren zur Ausführung verschiedener kraftgesteuerter Bewegungen ausgestattet ist. Falls noch eine Kamera hinzugenommen wird, sodass Menschen erkannt werden und sich der Roboter entsprechend verhalten kann, dann wäre das zusammen mit einem Sicherheitskonzept und der Auswertung der Sensoren durchaus eine denkbare Entwicklungsrichtung, wenn auch noch einmal ein sehr viel größeres Projekt.“
Inwiefern waren Fachkenntnisse erforderlich für die Realisation des Projektes?
„Durch das Studium der Technomathematik in Schweinfurt war ich bzgl. der Voraussetzungen zur Mathematik, für die Realisierung der Logik, zu Programmierkenntnissen und zum technischem Grundverständnis sehr gut vorbereitet. Insbesondere Vorkenntnisse in objektorientierter Programmierung waren durchaus hilfreich, aber kein Muss (das Programmieren an sich jedoch schon). Zusätzliches Vorwissen über die Arbeit mit einem Industrieroboterarm wäre nützlich gewesen; durch die hilfreiche Einführung des technischen Mitarbeiters Jürgen Schwittek war die Einarbeitung jedoch sehr schnell und einfach. Natürlich hat es zusätzlich geholfen, die Schachregeln bereits zu kennen.“
Gibt es Folgeprojekte, die auf den Erfahrungen des jetzigen aufbauen?
„Es sind vielfältige Projekte für Studierende denkbar. Einerseits können natürlich weitere Applikation für Roberta entwickelt werden. Andererseits bieten der erwähnte Einsatz von Kameras und Bilderkennung die Möglichkeit, Roberta Augen zu geben und durch die Verarbeitung der visuellen Daten weitere Anwendungsmöglichkeiten zu entwickeln.
Mit einer Kamera könnte Roberta beispielsweise die Züge des Gegenspielers direkt visuell erkennen. Außerdem spielt Roberta momentan mit einer Schachsoftware namens Stockfish; diese ist auch auf der schwächsten Stufe schon zu stark für die meisten menschlichen Gegenspieler. Daher bietet es sich an, eine eigene Schach-KI bzw. Schach-Engine zu schreiben, um mit dem Roboter in verschiedenen Schwierigkeitsstufen spielen zu können. Ein Projekt im Rahmen des maschinellen Lernens könnte hier sinnvoll sein.“
In einem Ausblick könnte Tim Selig sich vorstellen, den Roboterarm zum einen mit einer Kamera zur Zugerkennung zu erweitern, um die Spielfiguren bei genauer Erkennung seines Aufenthaltsortes exakt setzen zu können. Darüber hinaus könnte ein Zeitstempel für die Spielzüge eingeführt werden, um z.B. zeitbegrenzte Varianten des Blitz- oder Bullet-Schachs testen zu können.
Auch wäre es aus seiner Sicht spannend, eine eigene Maschine oder Künstliche Intelligenz zu entwickeln, um über ein neuronales Netz mit unterschiedlich großen Trainingsdaten verschiedene Schwierigkeitsstufen des Schachspiels bereitstellen zu können.
Zum Hintergrund
„ChessRoberta“ ist ein Projekt, in dem ein Kuka-Roboter mit einem menschlichen Gegner Schach spielt. Der Roboterarm ist fähig zu einer sogenannten Mensch-Roboter-Kollaboration und wird häufig eingesetzt in Montage- und Klebe-Prozessen.
Das Konzept umfasst zwei Bereiche: Während „ChessRoberta“ das Programm für den Roboter beinhaltet, ist das zweite, der „ChessRobertaClient“, ein Programm, das auf einem PC ausgeführt wird und Bewegungen über Ethernet an den Roboterarm sendet.
Zum Ablauf des Schachspiels: Der Roboter stellt einen Server für die Kommunikation bereit. Dieser Server empfängt die Verschiebungsbefehle des ChessRobertaClients. Das Programm prüft nun, ob die Bewegung mit Chesspresso legal und möglich ist, berechnet die Position der zu bewegenden Teile und berechnet und befiehlt die Bewegung des Roboters. Anschließend wird die neue Position der Teile an den Kunden zurückgesendet, oder es erfolgt eine Nachricht wie „Spiel vorbei", „illegaler Zug".
Weitere Informationen: Filmbeitrag, Projektdaten unter ChessRoberta
Kontakt: Hochschule Würzburg-Schweinfurt
Fakultät Angewandte Natur- und Geisteswissenschaften
Studiengangleiter Technomathematik Angewandte Mathematik und Physik
Prof. Dr. Oliver Bletz-Siebert
Ignaz-Schön-Straße 11
97421 Schweinfurt
09721 940-8712
Oliver.Bletz-Siebert@fhws.de