Project Synopsis

Our goal with Project Joseph Hoane is to remove the need for a human medium to complete the actions of a chess engine. Named after the software engineer who moved pieces for Deep Blue in the famous match against Garry Kasparov, this project aims to use computer vision and control of a Universal Robotics arm to bridge the gap between physical piece movement and the output of the Stockfish chess engine.

Our project has 3 main components, which we will aim to complete for each demo, respectively. 

The first step in our project is to develop or find an open-source chess engine, which we will use to decide on the machine's moves. We chose to use the Stockfish chess engine based on its extraordinary strength and popularity compared to other engines. 

The second step is board recognition. We used DroidCam as a camera to take pictures of the board, which are transformed to a square chessboard using a homographic projection and chessboard corner detection. These images are split into 64 subsquares, and analyzed using edge detection to see piece presence. Using this image and a stored board state, we can know what moves are made by the human player. 

The last step of Project Joseph Hoane is to use a Robotic UR10e manipulator to pick-and-place the chess pieces based on the chosen move by Stockfish. Using an ROS driver, we can send commands to the arm and gripper to set joint angles to specific positions over the chessboard.