Find Articles in:
All
Business
Reference
Technology
News
Lifestyle

An autonomous robot playing the board game checkers

International Journal of Electrical Engineering Education, Jan 1998 by Zribi, M, Sung, E

1 INTRODUCTION

All the second year students at the school of Electrical and Electronic Engineering at Nanyang Technological University, Singapore have to go through an eight-week In-House Practical Training Program (IHPT). During this program, the students get to work on one of several different projects of their choice. By working on these projects, the students are exposed to some areas not normally included in the regular university curriculum.

The supervisors decided on the project of designing and building a system in which a robot is capable of autonomously playing checkers against a human player. The topic was chosen because it covers three areas that are of great practical value in the real world. This project was specially designed to inculcate teamwork in a multi-disciplinary framework with real-time constraints.

A checkers' player needs to use three faculties: the eyes, the hands and the brain. Thus, this project is divided accordingly into three separate modules: a vision system module (EYE), a checkers software module (BRAIN), and a robotic arm module (HAND). The students are divided into three groups; each group works on one of the modules. After the three modules are completed, the students need to integrate them to produce the desired system. In addition, some other features such as speech and graphical displays need to be added to the system.

It should be noted that the supervisors decided on the board game checkers instead of some other games, such as chess, because it was felt that it is easier to design the vision system for checkers than for some other games.

The problem was put to the students who had to figure out how to get started. The first thing that needed to be done was to identify the sequence of events in which the game is to be played.

After some discussions, it was decided that the game could be described in nine sequential states as follows.

State 1: The robot sets up the eight by eight game board.

State 2: The vision system scans the board before the human player makes a move.

State 3: The human player makes a move.

State 4: The vision system identifies the move made by the human player.

State 5: The checkers software 'gets' the move made by the human player (from the vision system).

State 6: The checkers software generates the move to be played by the robot.

State 7: The checkers software 'instructs' the robot to execute the generated move.

State 8: The robot makes the appropriate move.

State 9: States 3 to 8 are repeated until the game is finished.

The HAND module is responsible for states 1 and 8. The EYE module is responsible for states 2 and 4; and the BRAIN module is responsible for states 5, 6 and 7.

The paper is divided into eight sections. A description of the vision module is given in section 2. The checkers software module is outlined in section 3. The robotic arm module is detailed in section 4. Integration of the three modules is described in section 5. Several other features that have been added to the system are specified in section 6. Some of the acquired skills as well as some of the problems encountered during the implementation of the project are outlined in section 7. Finally, the conclusion is given in section 8.

2 THE VISION SYSTEM MODULE (EYE)

The objective of this module is for the students to develop a vision system that can identify a move made by a human player. There are several fast and reliable methods that can be used to distinguish between black and white pieces under different illumination conditions1. The method that the students decided to use is the differential method. When a move is made by a human player, the vision system will take a snapshot of the game board and then compare this snapshot to a snapshot which was taken prior to the move. By comparing the two snapshots, the move made by the human player can be identified.

The hardware used to implement this module includes a 486-DX33 personal computer, a monitor set, a DT3851 flexible frame processor board and a camera. The C language2,3 is used for programming purposes.

The tasks to be accomplished in this module are: to set up the camera, to initialise the vision card, to take snapshots of the game board before and after a move is made by the player, to identify the move made by the player, and to send the gathered information to the BRAIN. Please refer to the flowchart in Fig. 1.

The steps taken in this module are:

(i) The image of the board is captured and stored in the buffer of the DT3851 board.

(ii) The information contained in the buffer of the DT3851 board is transferred to the memory of the host computer.

(iii) Contrast enhancement is performed on each square of the board. This enhancement is done to prepare the pixel values for image analysis.

(iv) Each individual square of the board is analysed to identify whether it is empty, contains a black seed, or contains a white seed.

(v) The results obtained from the analysis of the different squares are saved into arrays. These arrays are then transferred to the BRAIN so that the next move can be generated by the checkers' software.

 

BNET TalkbackShare your ideas and expertise on this topic

The following tags are supported in BNET comments:
<b></b> <i></i> <u></u> <pre></pre>

Leave a Reply

  1. You are currently a guest | Login?
advertisement
CIO SessionsVision Series on ZDNet

See and hear what CIOs the world over thinks about the business of technology and how it's changing the way we live and work.

Go
advertisement
  • Click Here
  • Click Here
advertisement