![]() |
![]() |
|
|
|
|
Chess Playing Robot ( Robochess ) > Projects
This is the name of robot ( In Farsi : روبات شطرنج باز ) thats can play chess game with human, Directly and physically. this robot have ability to recognize opponent's movements, decision about next move, picking up pieces, move them and displaying results in LCD. main core of this robot is a low cost 8 bit avr microcontroller, its an atmega128 which have 128 kbyte of flash program memory and 4 kbyte of ram , because we want high program memory for fitting chess game and control software in one microcontroller atmega128 is suitable device for us . About 6500 Lines of program written in C Language and Compiled Under AVR-GCC (WinAVR Pack) Compiler. this robot has a moveable hook and this hook can pickup chess pieces and move them to another cell. also it has special chess board with 64 Reed Relay (Magnetic Sensor) Placed in the bottom of board. every chess pieces have a small magnet in the bottom thats not visible so with magnetic sensitive board, we can track piece movements. Software : main software written in C Language. this program written under WinAVR and Compiled with AVR-GCC Compiler. in this robot procedure of game separated in 3 main parts. movement recognition and verification, Making a decision for next move, Perform a Move. movement recognition: in this robot unlike other similar robots, we doesn't use recondite methods such as image processing for recognizing piece movements in chess board. we used innovative method based on magnetic force. in bottom of every chess piece we placed a small magnet and in bottom of every cell on the board we placed a magnetic sensor. so we can lend existence or non-existence of chess prices on the board. at game starts all of pieces placed in Distinct Cell, So if a piece moved, we can find out movement, moved piece and move type by scanning of board sensors. after finding movement, we must verify the move. at first software inspecting the move is legal or illegal, if its a illegal move robot effort to move back piece to its origin cell. Making a decision for next move : after opponent makes a move and robot verified it, robot must decision about next move and making it. software of chess game is the rewriting of minimix chess algorithm in c language and for using in embedded applications. in this algorithm after a opponent move, a similar procedure performed for all of robot's pieces. in the procedure, all legal moves for robot's pieces collected, then another procedure rate each move by prosperity or failure ratio. then software selecting top rated move and try to perform it. Perform a Move : this is a most recondite part of the software, after selecting top rate move this part of software must perform it, this behavior can be moving a piece or taking out a piece from the chess board. at first robot determines current position of its hook, therefore robot tries to send it to specified destination. for positioning in this robot, we used two Reflective Optical Sensors thats placed upon layer of paper. on the paper we drew black and white lines with one millimeter distance. so with those sensors we can count the black and white lines and determine the current position of sensors by accuracy of one millimeter. after the hook arrived to specified destination, it will open and going down and after picking the piece, the hook will go back up. after all, when hook reaches to its final destination, it will put down the piece on the cell. of course real software is very larger than this short brief, it sizes about 1/2 Main Software of Robot . Hardware : this robot has small and simple hardware. main core of deciding and controlling is a 8 bit atmega128 microcontroller. this robot have 2 board, control board and power board. control board consist of microcontroller, LCD, Connectors. and power board consist of power section, motor controls and relays . 64 sensors placed at bottom of chess board and connected together by matrices. this sensors connected to control board with a 16 lines flat cable. also 64 rectifier diodes used for protecting matrix from inverse voltages. one 8 pin connector and some 2 pin connectors used for connecting other sensors to control board. one 12 mhz crystal used as oscillator for microcontroller. we used a schmitt trigger 7414 for converting very low voltage came from sensors to TTL Levels. Click Here to View Second Version Schematic ( Very Similar to V1 ) Mechanic : mechanical section of this robot separated into three part : Moving Mechanism, Hook Mechanism And Lifter Mechanism. in moving mechanism we used three rails, one for X axis and two of them for Y Axis. in this mechanism we doesn't use sprockets or halters, we used string based mechanism. a string fixed at two sides, string twisted around plastic shift. According To Newton 2nd Law every action has a reaction so when motor is running and send its power to gearbox and plastic shift, pressure on string has reaction which is moving rails. we need small and simple lifter with good response for picking up pieces. this lifter uses a 12v DC Motor Connected to tall screw and vertebrate. in this case when motor is running and screw is spinning, pressure on vertebrate cause to lifter going up and down. Video : Reviews & Trackings : Science Fiction - DIY Robochess Robot Robotliving.com - Chess Playing Robot Embedds.com - It’s Time to Have a Chess Game With Robochess! USAToday - DIY Robochess Robot From Iran Chesslodge - Chess Playing Robot Botropolis.com - DIY Chess Playing Robot Pictures :
|
|

