iGoBot - a GO game playing robot ... using a raspberry pi, opencv and gnugo


The primary facts of iGoBot

Design the base and the mechanics

Shortening of the Ikea "Lack" table legs:

Mounting the X and Y axes at the base:

Training the image recognition

IGoBot uses OpenCV and Hair Cascades to detect the Go stones placed on the board.

I had to take several hundred individual photos of black and white Go stones for reference.

Some of the black stone training images:

Some of the white stone training images:

After training, the system reliably detects black and white Go stones.

Here is an example of white stone detection:

The recognition on the Raspberry Pi in Python:

 A first test for the "stones on board" recognition and translation into coordinates:

The stone dispenser

The stone dispenser is driven by a servo. The two primary parts are 3D printed. The CAD files can be found here.

The electronics

The first arrangement of the electronic components

A first, very wild test of the wiring

The illuminated button for interaction with the player

The way iGoBot plays: