DIY Robot Arm to Play Chinese chess game with computer vision

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.

http://hk.myblog.yahoo.com/jw!afd6dGGRHBRkp2laqwk198fg/article?mid=374

http://hk.myblog.yahoo.com/jw!afd6dGGRHBRkp2laqwk198fg/article?mid=390

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:

http://hk.myblog.yahoo.com/jw!afd6dGGRHBRkp2laqwk198fg/article?mid=422

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:

http://hk.myblog.yahoo.com/jw!afd6dGGRHBRkp2laqwk198fg/article?mid=462

 

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.

 

 

Play Chinese chess game

  • Actuators / output devices: Servos, step motor
  • Control method: Artificial Intelligence
  • CPU: atmega88/168 8MHz
  • Operating system: Linux, Windows
  • Power source: 7.5 V
  • Programming language: C, Python
  • Sensors / input devices: camera
  • Target environment: indoor

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/diy-robot-arm-to-play-chinese-chess-game-with-computer-vision

Excellent work clcheunghk! I

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 !

GroG.

my robots
my garden

Hi GroG The robot arm uses

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.

impressive!
Very impressive indeed. Please keep us updated.

Wow, very nice work!!
Wow, very nice work!!