Chess

Robot

January / March 2018

Group Project with Ben Greenberg, Josephine Latrielle, Sanish Mistry, Leah Pattison, Paolo Ruegg and Sylvia Zhang

Coding a 7 degree of freedom robotic arm to play chess with a human.

PROJECT STRUCTURE

On a basic level, the project can be broken down into 3 parts; each sends information to the next over the course of a single chess move.

1. PERCEPTION

Open Computer Vision (OpenCV) was used with an RGB-D camera to provide the robot with vision.

The algorithm was able to detect where the board was, by searching for squares, and could then identify the different cells using the same method.

When a move has been made by the human, the robot could tell what move that was by comparing an image taken before the move, to one taken after, showing a clear difference.

2. CHESS ENGINE

A pre-existing Chess AI was used to generate the move the robot wanted to make. We selected sunfish by thomasahle.

3. MOTION

The motion algorithm would collect the move information from the chess engine and then plot a trajectory in space for the arm to follow. This was made up of  a start and goal, as well as sometimes a deadzone for 'killed' pieces.

A trapezoidal velocity profile was applied to the path, ensuring smooth acceleration and deceleration.

Custom compliant grippers were made such that they could pick up every chess piece, despite size differences.

MY CONTRIBUTION

I worked on developing the motion algorithm and manufacturing the custom grippers.

© Anna Bernbaum