FINAL YEAR CAPSTONE - CHESSMATE
My team attempted to create a motorized chess board to physically play a game of chess against an opponent. Although the final system was non-functional, I was able to learn a lot about robotic design and team management.
ABOUT THIS PROJECT
Our task was to create a mechatronic system using the learnings from the rest of our undergraduate degree. My group decided to create an automated chess board that plays a physical game of chess against a human opponent; we named it ChessMate.
​
We determined goals for our system:
Could reach across the chess board similar to a human
see opponent’s moves automatically
be able to respond with strategy
​
To do this, we separated ChessMate into subsystems: Robotic Piece Manipulator, Image Recognition, Logic & Game State Handling, and AI Server Communication. My work focused on the robotics of this system.
FEATURES
MANIPULATOR DESIGN
ChessMate used a SCARA design for its manipulator. Three linkages are used to move in 3D space. A vertical, prismatic Z axis is the base, using a lead screw to move the rest of the arm up and down. The X and Y plane is covered by two rotating linkages. This design was chosen to mimic a human arm and to simplify calculations compared to a fully revolute arm.
IMAGE RECOGNITION
Image recognition was accomplished with a stationary raspberry pi camera over the board which sent image data to OpenCV. Since chess is has extremely specific rules on movements, just sensing the presence or disappearance of a piece in a square each turn is enough to determine which piece has moved.
CHESS AI BACKEND
The chess moves were provided by open source chess AI Stockfish. Training an AI to play chess was not within the scope of our project, so we integrated a ready-made system into our backend.
SUCCESSES AND FAILURES
Ultimately, this machine was not functional after the project was finished. The areas that were weaker provided clear insight on what we overlooked, and guidance on what to do next time. Here I will explore this projects highlights and places to improve.
Success:
FULLY CUSTOM DESIGN
The robotic arm was fully designed and built by myself and my subproject partner. We incorporated laser cut wood and 3D printed parts (which I printed on my Ender 3).
Success:
IMAGE RECOGNITION
Our image recognition system could determine which piece moved and could find a responding move very quickly. We were able to translate each chess move into a set of robot moves, including capturing and promoting pieces.
Find number of pieces to be moved
Move to a piece, grab it, move it to its second location
Move a second piece if needed
Success:
RESOURCEFULNESS
Many of the team member's hobbies were used to improve the project. From my experience with D&D miniatures, I knew to add baking soda to super glue to create a strong plastic bond. We used gym weights from another member as a counterweight. Overall, our interdisciplinary knowledge helped our project.
Failure:
MOTOR SELECTION
We decided to use stepper motors for this machine, when we should have used servos. Because I was comfortable with working with 3D printers, I suggested using steppers with Marlin firmware. In the end, it would have been easier to control servos to go to specific angles and would have simplified the software for the machine.
Failure:
PROJECT MANAGEMENT
In our group, there was no specific project manager. It was difficult to keep track of dates and each person's tasks. I realized the importance of good management and its role in engineering projects.
Failure:
SUNK COSTS & ITERATION
As this was a student project, there was an emphasis on keeping the budget minimal. This affected our willingness to try different options after buying something and may not have given us the best solutions. Faster iteration would have shown us if our ideas worked and we could have spent more time on better options.
MORE DETAILS AND IMAGES
GRABBER PROTOTYPE
A video of the chess piece grabber.
I designed this with Adobe Illustrator and laser cut the design into plywood. An Arduino controls a servo motor with a push button.
This was the first prototype of the grabber picking up different sized chess pieces; future iterations used springs to extend the fingers.