Testing & Evaluation
We tested the accuracy and the robustness of our arm by using the arm to grab various pieces (from Pawn to King) from various sets of locations on the board. Specifically, we commanded the robot arm to grab the piece, move it diagonally (from location (a,1) to (h,8)), along a column (for example from (a,1) to (a,8)) or along a row (for example from (a,1) to (h,1)), and then place it in a cell. We validated that the arm can move and grab the piece from cell to cell with a locational accuracy error of within 30%. This error allows the computer vision to function properly and detect the correct piece at each cell without the use of much human correction. Besides the horizontal location accuracy, we have also tested the accuracy of the grabbing and releasing along the vertical direction and validate that the end link can grab and release the pieces with a success rate of above 95%.
Computer Vision Testing & Evaluation
To test the computer vision, we first used sets of prerecorded images with known moves to quickly evaluate the accuracy. Once the computer vision was working on our test set, we set up real boards and did live testing just having human move pieces, making sure to include kingside and queenside castling, en passants, captures, and poorly placed (relatively off-center) pieces in each test run. The computer vision was 100% accurate using the yellow and blue tape, after we fixed poor taping on the pieces and made sure to set the lighting correctly since our webcam has very poor dynamic range.
To integrate the computer vision with the rest of the system, we first had to set up the camera and frame, and get everything connected to one computer. After this, we modified the main arm program, which had previously been using human input, to take input from the computer vision’s detection instead and programmed the arm to move away when the camera was taking images. We agreed in advance about how to pass messages between the computer vision and the arm, so the integration itself went fairly well. We evaluated the system by playing multiple games on it against ourselves, and the system was mostly successful, with only very minor issues. Our final and successful full round of the whole game with the fully-integrated robot took about 20 minutes to complete, with the winner being the robot.