Let's Make Robots!

DIY Robot Arm to Play Chinese chess game with computer vision

Play Chinese chess game

This is my first robot project.

I choose to DIY almost all the components of this project because I live in Hong Kong. The robot community in Hong Kong is small and it is hard to find suppliers at reasonable price. Shipping cost from US to Hong Kong is expensive, if available at all. Also, I would have much better control of the overall design if it is DIY.

The robot arm is made from windows frame material. It costs about $8. You can visit my blog to check on how to make it and I will post more later.



The robot arm base is more complicated, it is a rotational base and it is hard to DIY without suitable bearings or turn-table components. It is not possible to get it in Hong Kong with limited budget. Luckily I found a very old second hand flat bed scanner, http://hk.myblog.yahoo.com/jw!afd6dGGRHBRkp2laqwk198fg/article?mid=342 it costs only $1.2 to get a very powerful step motor base for the robot.

The robot arm's servos are MG995/MG945, they are well known cheap servos, powerful and unstable. So I convert them to digial servo with openservo software. I will talk about it later also.

The robot gripper is a bit complicated, so I have a simple simulation and a paper prototype before I build it:


To control a robot arm, you need some mathematics to plan how to move the gripper to destination, it is called Inverse Kinematics. http://hk.myblog.yahoo.com/jw!afd6dGGRHBRkp2laqwk198fg/article?mid=405

All the PC side software is developed in Python, a very good OO script language. 


The robot arm has computer vision.  I use opencv, it is a very powerful open source software created by Intel originally. I use it for preprocessing of the image captured by a camera mounted on top of the chess board:



The project is not yet finished. Now the arm can only recognize, move to grip and release the chess pieces. I am working on the AI engine to play the chess game by rule.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Wow, very nice work!!
Very impressive indeed. Please keep us updated.

Excellent work clcheunghk! I have been experimenting in robot vision too, although most of my interest has been in the ability to range the distance of objects.  

Keep up the great work !


my robots
my garden 

Hi GroG

The robot arm uses only 1 camera and assume the camera is on the top of the chessboard. This post a limitation that I can't use the vision for a precision loop back to correct the arm position. I am also very interested to use stereo cam to do distance measurement, and more complicated / precise robot movement.