Paolo Falco Rüegg

Chess Robot

A robot arm that beats every chess master

Robotics Machine Vision University

Note: The GitHub repository is available here.

The objective of this project was to teach a FRANKA robot arm how to play chess. We taught it to determine the state of the board, query a chess engine for the best next move, and then physically execute that move. This was a team project in which I worked on the perception module.

The perception module was concerned with sensing the chess moves that were made by the person and the robot. I used a RBG-D camera for the visual information and OpenCV, a Python library for signal processing. Check out the demonstration of the chess robot below, where I am playing a game that I am doomed to lose.

The project is well documented on a ‘Read The Docs’ page, which describes all the different modules, videos and, of course, the source code. We stuck to current Python standards such as PEP257 and would very much like to see someone else pick this up (EDIT: Several people have done so in the meantime!).