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.
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.