Chess Robot

Chess Robot

April 22, 2021

Overview

The Chess Robot was the culmination of our Mechanical Engineering capstone project at the University of Michigan. Together with my teammates—Andrew Kwolek, Jack Zender, Kenji Otani, Ian Ross, and Sam Goldman—we embarked on the ambitious journey of designing, manufacturing, assembling, and programming a fully autonomous chess-playing robot. Over the course of a semester, we navigated countless design reviews, product iterations, and rigorous testing cycles.

This project was a true multidisciplinary effort, combining skills in CAD design, machining, Arduino programming in C, and Raspberry Pi programming in Python. We also integrated hardware components, carefully selected parts, and ensured smooth collaboration across various engineering domains. Despite the challenges posed by COVID-19 restrictions, which limited lab access and in-person resources, we were able to successfully assemble the robot. Although it was not able to play a complete game of chess, the project marked a significant step forward in autonomous robotics, showcasing our ability to innovate and adapt under challenging circumstances.

Project Summary

Chess is perhaps the most standardized board game on the market consisting of only 2 players, an 8x8 square board, and 32 total pieces. There is no hidden information, and the game is reduced to pure skill and strategy with minimal luck factoring in. Although standardized, Chess is extremely complex. With over 10120 potential games of chess, nearly each game is novel. Chess is still thriving and is more popular than ever, despite being over 1,500 years old. Perhaps the most beneficial aspect of Chess is its application in child development. Chess is a game that develops children’s (and adults’) problem-solving skills, concentration, decision making, creativity, and memory. A plethora of studies have been conducted to prove these benefits. In recent years, technology and mobile applications have transitioned the game of chess from a board to our phones and computers. This increase of accessibility has further popularized the game. The virtual chess applications allow kids to play the computer (or even other humans) when they don’t have a physical opponent around them to play. This shift to online chess has become even more relevant amidst the COVID pandemic as playing over-the-board (in person chess) has turned impossible. This shift, although benefiting children in certain ways, has increased screen times and decreased the relative benefits of over-the-board chess. This project aims to connect the benefits of online chess with a reduction of screen time to help with chess education.

The Chess Robot is designed to be an autonomous robotic arm that is able to compete in a chess match against a human. The robot moves their own pieces and captures the opponent’s pieces in efforts to win a standard game of chess. Robotic arms that play chess have been created before, but are either industrial grade and expensive or very cheap/homemade and slow. This project aimed to create a functional chess robot that maximizes speed at a relatively low cost. It was also designed with potential for mass manufacturing in mind. With additional design and development, the skill of the robot should be easily changed, since the software is easily customized; thus, as the player improves, so will the robot. There will also be an opportunity to play chess against other humans through two intermediary robots or for one player to play while making use of an online chess platform. This feature, if fully developed, will enable chess instructors to play with children and not be limited by geographical proximity, further expanding the reach of chess education.

With a clear project objective and developed list of requirements and engineering specifications determined, a series of solution concepts were ideated, developed, and evaluated such that an initial prototype design began to emerge. First, the project was broken into key mechanical and software subsystems, and functional decompositions were developed. With these in mind, several potential subsystems were brainstormed with an emphasis on design heuristics and consideration of our functional requirements. These ideas were initially generated independently of their function in the larger project, but then developed based on the feasibility of integrating all the subsystems. This development resulted in a few emergent design categories for each 2 subsystem, with a focus on the mechanical movement of the robot between board squares, the gripping of different chess pieces, securing the robot to a given surface or table, and the best software and controller system to use. These more thought out solutions were then evaluated against one another using pugh matrices and final subsystem design decisions were reached.

Following a complete and thorough concept generation process, a parallel development of a mechanical systems model in CAD and a software base for our robot was initiated. The CAD model was developed in SolidWorks and went through multiple design iterations with the help of staff and peer feedback, as well as rapid physical prototyping. With the development of a physical prototype, design problems related to the system kinematics that could not be seen in SolidWorks were identified. In conjunction with this process, a software base was developed to actuate the robot, as well as manage the status of an ongoing chess match. To achieve this, software from a similar project that integrated a chess engine with a robotic system was adopted to our mechanical design. With a finalized CAD design, the appropriate actuators and controllers were determined via engineering analysis. A bill of materials and list of parts for procurement that would fit within our budget was also compiled. The parts were acquired, and an initial prototype was built.

Once the mechanical prototype was fully assembled, all mechatronic components were wired together and programming was completed such that testing could commence. Initially, all subsystems were tested independently to ensure each of the components was functioning as desired. There were a few critical errors encountered during this testing phase, which required extensive revisions and retesting. Most notably, one of the system actuators became permanently unresponsive and required the removal of a controllable ‘wrist’ joint from the system. After redesigning the mechanical system to accommodate this, testing continued on the independent subsystems. The robotic arm was able to lift pieces and move them to directed squares, and the slider mechanism was able to move back and forth between columns of the chess board. Overall, additional testing and redesign is necessary to achieve the full, cohesive functionality prescribed in the requirements and specifications. A plan for this development is outlined in the report.

Project Documentation