Wie funktioniert KiRo ?
KiRo durchläuft 50 Mal in der Sekunde einen Zyklus, in dem er Informationen der Sensoren auswertet, entscheidet, welche Aktion auf welche Weise ausgeführt werden soll und die entsprechenden Kommandos an die Antriebe der Stangen sendet.
Bildverarbeitung
Die Kamera überblickt den Tischkicker und sendet alle 20 Millisekunden ein Bild an den PC. Dort wird zunächst die Position und der Radius des Mittelkreises sowie die Orientierung der Mittellinie festgestellt. Mit diesen Informationen kann im folgenden für jeden Bildpunkt dessen Position im Spielfeldkoordinatensystem bestimmt werden.

Aus dem Bild werden nun Regionen der zuvor definierten Ball- und Spielerfarben extrahiert und in Positionen auf dem Spielfeld umgerechnet. Zur Bestimmung der Orientierung der Figuren wird zudem die Größe der Regionen betrachtet. Für den Ball wird ermittelt, ob er von einer Figur oder Stange verdeckt wird und die Schätzung seiner Position gegebenenfalls entsprechend korrigiert.
Weltmodellierung
Das Weltmodell verwaltet die Positionsinformationen der Spielerfiguren und des Balls und berechnet aus einer Serie von Positionsinformationen die Bewegungsrichtung und -geschwindigkeit der Objekte.

Weiterhin wird eine Figur in unmittelbarer Ballnähe als "im Ballbesitz" markiert. Anhand dieser Information sowie anhand der zuletzt ermittelten Richtung und Geschwindigkeit des Balls kann auf dessen Position geschlossen werden, auch wenn dieser vollständig durch eine Figur verdeckt wird und somit für die Kamera nicht sichtbar ist.
Aktionen und Aktionsauswahl
KiRo verfügt über eine Reihe von Aktionen, mit denen er auf verschiedene Spielsituationen reagieren kann. Eine recht einfache Taktik umfaßt für eine Stange folgende Aktionen:
  • DefaultAction: nimm Standardposition ein
  • KickBall: schieße den Ball nach vorne
  • BlockBall: positioniere eine Figur so, daß der Ball nicht passieren kann
  • BlockAtPos: positioniere eine Figur so, daß eine bestimmte Position gedeckt ist
  • ClearBall: lasse Ball passieren und positioniere eine Figur an der erwarteten "Passierposition"
  • ClearAtPos: lasse Ball passieren und positioniere eine Figur an einer bestimmten Position

Aufgrund der aktuellen Spielsituation entscheidet KiRo, welche Aktion ausgeführt werden soll.

Stangenantrieb
Die Antriebe für die Spielerstangen können an einen beliebigen Kickertisch montiert werden.

Ein Stange ist an einem Schlitten befestigt, der auf eine Keilwelle entlang gleitet und dessen Zahnräder durch Drehen der Keilwelle gedreht werden. Ein Motor kontrolliert über zwei Zahnräder die Drehbewegung der Keilwelle bzw. der Zahnräder des Schlittens. Ein zweiter Motor positioniert über einen Zahnriemen den Schlitten.
Literatur

  • B. Nebel and T. Weigel and J. Koschikowski, Tischfußball, Hockey oder dergleichen und Verfahren zur automatischen Ansteuerung der an Stangen angeordneten Spielfiguren eines Tischspielgeräts für Fußball-, Hockey- oder dergleichen, Deutsches Patent- und Markenamt, Patent DE 102 12 475, Januar, 2005. (pdf file)

  • T. Weigel, KiRo - A Table Soccer Robot Ready for the Market, Künstliche Intelligenz, Heft 01/05, 2005. (gzip'ed postscript file) (pdf file)

  • T. Weigel and B. Nebel, KiRo - An Autonomous Table Soccer Player, in: G.A. Kaminka, P.U. Lima, R. Rojas, RoboCup 2002: Robot Soccer World Cup VI, 384-392, Springer-Verlag, 2002. (gzip'ed postscript file) (pdf file)
    Poster Version (gzip'ed postscript file) (pdf file)