How KiRo works
50 times a second KiRo completes a cycle in which it evaluates information coming from the sensors and then decides how to act. It then sends the appropriate commands to the motor controllers.
Image Processing
The camera overlooks the soccer table and sends an image to the PC every 20 milliseconds. The image is processed by first determining the position and radius of the center circle and then the orientation of the center line. Using this information every image pixel can be transformed into an actual point on the playing field.

Then, regions of previously defined ball and players' colors are located in the image and transformed into positions on the playing field. For determining the angle of a figure the size of the corresponding region is alos considered. For the ball it is checked, if it is partially obscured by a rod or a figure. In this case its position estimate is corrected accordingly.
World Modelling
The world model stores information relating to the position of the ball and the player's figures. Additionally, from a series of position estimates the direction and velocity of the objects' movements are calculated.

Furthermore, a figure is marked as the "ball owner" if the ball is within its reach. Using this information and the previously determined direction and velocity of the ball, its position can be estimated - even if it is completely obscured by a figure and therefore not visible to the camera.
Actions and Action Selection
KiRo has at its command a set of actions which allow it to react to changing game situations. Rather simple tactics consist of the follwing actions:
  • DefaultAction: take a standard position
  • KickBall: kick the ball forward
  • BlockBall: position a figure so that the ball can't pass
  • BlockAtPos: position a figure so that the ball can't pass at a specific position
  • ClearBall: let the ball pass and position a figure where the ball is expected to pass
  • ClearAtPos: let the ball pass and position a figure at a certain position

Taking the current game situation into consideration KiRo decides how to act follwing the scheme as shown at right.

Drive For Controlling The Rods
The drives for controlling the rods of a player can be mounted on most soccer tables.

A rod is attached to a slide which slides on a spline shaft. By turning the spline shaft the cog wheels of the slide and thus the rod is turned. This is accomplished by a motor driving two cog wheels. A second motor positions the slide via two cog wheels and a drive belt.
Literature

  • 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)