ChessBots - Autonomous Chess Robots

What is your project about?

We are Comet Robotics, the leading robotics club at the University of Texas at Dallas with over 90 active members. We have teams working on various projects and competitions, including, VEXU, combat robots, autonomous robotics, and ChessBots, a project involving the revival of a decade-old senior design project.


We have 32 2ft tall autonomous robots that can move around on a life-size chess board.


Why did you decide to make it?

Chess has always been an important part of UT Dallas’ history and DNA, so much so that the Chess Plaza was constructed, consisting of 4 human-size chess boards.


The Chess Bots project originally began in 2008 as a senior design project, culminating in the design and construction of 32 robots, which were designed for people to be able to play chess with human-sized, robotic chess pieces on the Chess Plaza. However, the robots were abandoned and left to sit in storage for years. This year, Comet Robotics decided to revive the project.


This has been a challenging but rewarding experience so far, as we navigate through old and sparse documentation, code that doesn’t compile, and missing parts. To get all the bots working again, we’re overhauling the software control system, fixing damaged/missing hardware on each bot, and making other upgrades to make the bots more capable than they previously were!


With the revamped chess bots, we plan to hold events on campus. We want to allow students to be able to walk up and play chess together, just as the original sponsors of the project intended over 10 years ago.




How does it work? 


Usage:

Players would join a game by connecting to our Wi-Fi network and accessing our web-based control interface, where they are presented with a screen with an interactive chess board. When a player makes a move on the digital board, the physical bot that represents that piece will move in real life, so the physical robot positions on the chess plaza will reflect the same game state that is on the user’s device. Each bot will be individually controllable, so we have a server that coordinates all the shuffling and movement needed to get the board into the correct state after each move. 


Currently, we don't have many bots that are fully functioning, and those that we do have are almost hacked together. With new PCB’s, we will be able to get all the bots up and running, and vastly reduce the hardware clutter and cost.


Software:

We plan to use a Raspberry Pi serving as a Wi-Fi access point, exposing one protected SSID for robots to connect to, and another public SSID for users to control the robots. The Raspberry Pi also runs our backend web server, written in Typescript_ with Express.js. We have a frontend built with React which is intended for administrative and end user use, allowing a user to begin a game of chess. See the diagram for an overview.


Microcontroller:

The robots will have ESP32s to run our control software written in C++, which manages all the robot operations, sensing, communication, and motion. We chose the ESP32 because they are compact, low-power, and include Wi-Fi, making them a convenient alternative to the Arduino Megas used on previous iterations of the project. The ESP32 model we’ve our line sensor, compass sensor, and wheel encoders.


PCB:

The original chessBot had a custom PCB design, but since we are moving away from the Arduino Mega and Xbee used previously in the project, we need to redesign the PCB. Thanks to the use of the ESP32, our new board can be smaller and pack more features. The PCB provides connections to the battery, motor controller, and simple access to all sensors on the bot. The PCB also exposes all pins on the microcontroller, allowing future flexibility and expansion in the future. 

Old PCB Design

Updated PCB Design


Sensors:

The bot has 3 main sensors: line sensors, compass, and encoders. With these 3 sensors, each bot can reliably navigate on the board. On the chess plaza, tiles alternate between 2 different colors, so IR line sensors are used to detect differences in color between tiles, allowing us to determine each robot’s heading, and detect if/when a bot has actually moved on to a new tile. When combined with the encoders, we are able to reliably and consistently localize each bot on the board. The compass is used as a secondary input source for localization.


Apply for sponsorship >>
13800+ Projects Sponsored
Nov 28,2023
747 viewsReport item
  • Comments(0)
  • Likes(1)
Upload photo
You can only upload 5 files in total. Each file cannot exceed 2MB. Supports JPG, JPEG, GIF, PNG, BMP
0 / 10000