4RowBot

4RowBot ist ein automatisierter 4-Gewinnt Gegenspieler auf Basis der LEGO MINDSTORMS NXT Technologie. 4RowBot entstand im Rahmen des Fachpraktikums "Praktische Übungen im Labor - Robotik" am IITS der Universität Stuttgart. Er ist in der Lage autonom "4-Gewinnt" gegen einen menschlichen Gegenspieler zu spielen. Dabei erkennt 4RowBot die Spielsteine des Gegners und ist in der Lage seine Chips selbstständig einzuwerfen.

Features

  • Selbstständiges Spielen einer vollständigen 4-Gewinnt-Runde gegen einen menschlichen Spieler
  • Autonomes Spielen durch Softwarebetrieb direkt auf dem NXT-Brick mit max. 3 Spielzügen Berechnungstiefe bzw. bis zu 10 Spielzügen bei Nutzung der Implementierung auf einem PC
  • Benutzung des MiniMax Algorithmus mit Alpha-Beta Pruning für die Berechnung der künstlichen Intelligenz
  • Anzeige der aktuellen Spielsituation durch eine GUI (PC-Software)
  • Verschiedene Schwierigkeitsgrade
  • Statistisches Tracking der Spielergebnisse
  • 3 Schrittmotoren mit einer Positionierungsgenauigkeit von bis zu 1°
  • 3 Tastsensoren zur Positionsbestimmung und Spielzugübergabe sowie einem Lichtsensor zum Spielfeldscan

 

 Entwicklung

4RowBot entstand im Wintersemester 2009/2010 an der Universität Stuttgart als Projekt vierer Studenten. In unserem Entwicklerblog ist der Projektfortschritt dokumentiert.

 

Videos (auf Youtube)

Youtube-Channel
Spielsteineinwurfmodul
Erster Spielsteineinwurf (HD)
Komplettes Spiel, autonom, KI-Stärke: Mittel (HD)

 

Dokumentation

Die 4RowBot Dokumentation teilt sich in verschiedene entsprechenden Zielgruppen zugeordnete Dokumente auf:


Hard- und Softwaredokumentation [PDF]
Die Hard- und Softwaredokumentation beschreibt den Aufbau und die Architektur von 4RowBot und seiner Software. Zusätzlich sind das Testfallprotokoll und nicht erfüllte Wunschkriterien enthalten.

Bedienungsanleitung [PDF]
In der Bedienungsanleitung wird die Benutzung von 4RowBot erklärt. Dabei wird sowohl das autonome Spielen, als auch das Spielen bei angeschlossenem PC, ausführlich erklärt.

Bau- und Installationsanleitung [PDF]
Die Bau- und Installationsanleitung enthält eine Beschreibung wie der Roboter aufgebaut und die Software auf ihm installiert wird. Unterstützt wird das Dokument durch das CAD-Modell, welches eine Schritt-für-Schritt Anleitung für den Aufbau des Roboters enthält. Zusätzlich enthält die Bauanleitung eine komplette Teileliste für 4RowBot. Aus dem CAD-Modell generierte Schritt-für-Schritt Anleitungen werden zudem online abrufbar bereitgestellt.

Schritt-für-Schritt Anleitung 4RowBot-Basis
Schritt-für-Schritt Anleitung Spielfeldscanner
Schritt-für-Schritt Anleitung Schienen

 

Quellcodedokumentation

Die Quellcodedokumentation ist via Javadoc-Kommentaren direkt in den Quellcode geschrieben worden. Die daraus erstellte Javadoc-Dokumentation kann online abgerufen werden. Sie enthält alle, auch die als private deklarierten, Klassen und ist sowohl für die PC-Software als auch für die NXT/Brick Software verfügbar:

Code-Dokumentation PC-Software (Download ZIP)
Code-Dokumentation NXT/Brick-Software (Download ZIP)

 

Aufbau

 

Präsentation

Abschlusspräsentation [.PPT] [.PDF]
Die finale Präsentation stellt alle Features und Komponenten von 4RowBot vor und zeigt noch einmal die Probleme und deren Lösungsansätze während des Projektablaufs auf.

Zwischenpräsentation [.PPT] [.PDF]
In der Zwischenpräsentation wird der Stand im Dezember 2009 aufgezeigt und aktuelle Probleme und Lösungen werden präsentiert.

 

4RowBot Software

NXT/Brick Software
Die NXT/Brick Software läuft direkt auf dem Brick und ermöglicht das selbstständige Spielen des Roboters. Die Software benötigt eine installierte leJOS Virtual Machine auf dem Brick. Anschließend müssen alle Dateien aus dem Archiv auf den Brick geladen werden.

PC-Software
Die PC-Software, mit der eine Verbindung zwischen PC und 4RowBot hergestellt werden kann. Die Software ist plattformunabhängig. Sie benötigt eine installierte Java Virtual Machine. Zur Verbindung mit 4RowBot muss der NXT-Treiber von Lego installiert und der NXT mit einem USB Kabel mit dem PC verbunden sein.

 

4RowBot CAD Modell

Der Download für das 4RowBot CAD-Modell enthält das Modell als Lego Digital Designer Modell und als LDraw Modell. Das LDraw Modell ist komplett, das Lego Digital Designer Modell leichter zugänglich. Es gibt ein komplettes Modell, sowie einzelne Modelle der einzelnen Module. Das CAD-Modell darf frei verwendet und modifiziert werden.

Impressionen

Fotos von 4RowBot und dessen Entwicklung in der Borschd-Gallery


Schiene auf der sich 4RowBot horizontal bewegt


Das Robotik-Labor

      gehostet mit 100% Ökostrom von all-inkl.com