The chess playing robot is the name of a robot which I constructed it between 2006 to 2007, the robot can play chess with human physically.
This robot has the ability to recognize opponent’s movements, decision about next moves, picking up the pieces, move them and displaying results on the LCD. The main core of this robot is a low cost, 8 bit avr microcontroller, its an atmega128 which has 128 Kbyte of flash program memory and 4 Kbyte of ram, the high capacity of atmega128 is very suitable for this robot with lot’s of functions. About 6500 lines of program written in C language and compiled under AVR-GCC (WinAVR pack) compiler.
The robot has a movable hook and this hook can pickup chess pieces and move them to another cell, also it ha special chess board with 64 magnetic sensors installed in the back of the board used for tracking opponent’s movement. The magnetic sensors are small formed reed-relay switches which will close in the presence of a magnetic field.
The procedure of game play in this robot is separated into 3 main tasks, movement recognition & verification, making a decision for next movement based on chess game, performing the movement with physical arm and hook.
Unlike other similar robots, the expensive image processing techniques are not used, I used an innovative method based on magnetic effect of chess pieces and matrix of sensors.
A small permanent magnet piece is installed in the bottom of every chess piece, by this chess pieces are converted to permanent magnets. On the other side, an 8×8 matrix of magnetic reed-relay sensors are used in the back of chess board, by scanning the sensor matrix the robot could track the chess piece movements on the chess board.
At the game start up each piece is located in its default chess game location, so scanning the chess piece movements via sensor matrix and comparing the results with last known board state and piece locations will tell the robot current chess piece locations. Movement detection is done by comparing last know piece locations with the new ones, after finding the opponent’s movement, a chess game verification algorithm will verify the movement for opponent mistakes or even cheats, if the verification fails, a warning message is shown in the LCD and the robot will put back the piece into its last location automatically.
Making a decision for next move :
After the opposition movement, it’s time for robot movement, the robot movement is determined by small and compact chess algorithm, the algorithm used in this robot is compact min-max chess, the algorithm automatically extracts all of the possible legal movements which can be performed by the robot, then all of the movements are checked for its success or failure based on risk of opponents capture ability and opponent piece capture. The algorithm automatically checks the results and rate each movement and finally selects highest rated move and send it to the next stage.
The chess software is compact rewriting of min-max chess algorithm. in this algorithm after a opponent move, the software will extract all legal movements can be performed by robot and will inspect the results and will rate each movements with factor of success. after all the most highest rated movement will be selected as next movement by robot.
Perform a Move :
This is one of the most complex part of robot playing procedure, after finding next robot movement by chess algorithm, it must be performed mechanically. There is two possible movements are piece relocation or throwing out a chess piece from chess board. at First the robot determines current position of its hook, after finding current hook location, an x-y hook traveling will begin. with help of motor-gearbox and strong piece of string, the hook and entire hook crane could be traveled in x-y coordinates.
Hook position finding will done by two Infrared sensors. the sensors placed on the top of a special paper layer with black and white pattern. The paper layer contains a pattern of black and white lines each spaced 1mm from another. The Infrared TX RX sensor installed at the top of paper layer and attached to moving crane rails. the sensor rx output will differ in two situations, when the sensor is on the top of black or white lines. With crane movement the IR sensor will travel on the top of paper, layer and produces a stream of pulses, by counting the number of pulses produced by IR RX Sensor the current position of the hook and crane itself could be determined.
After traveling to a specified destination, the hook will open and going down above the chess piece and pick it up, then the crane will travel to the piece destination and put it back down on the chess board.
The hardware is small and simple. An atmeg128 microcontroller is used for all of the things, chess game, movement tracking and mechanical control. The hardware consists of two boards, one host microcontroller and other host power supply and motor control and its drivers.
64 reed-relay magnetic sensors are installed in 8×8 matrix form on the back of chess board, the sensors are connected together in special form, the output of sensor matrix is two 8 bit bus, one used for row access and one for column access.
Infrared RX Sensors are connected to simple, non-inverting op-amp, actually I have used an Schmit trigger instead of op-amp.
Reviews & Link-Backs :
Science Fiction – DIY Robochess Robot
Robotliving.com – Chess Playing Robot
Embedds.com – It’s Time to Have a Chess Game With Robochess!
Walyou – Need A Chess Partner? Get Robochess
Expert Chess Strategies – Robo Chess – An amazing Chess Player
Robot world News – Robochess the chess-playing robot competes with compact simplicity
USAToday – DIY Robochess Robot From Iran
Chesslodge – Chess Playing Robot
Botropolis.com – DIY Chess Playing Robot