The goal of this project is to create a robotic arm that can play games, whether locally or against a remote opponent. You can either play against Dave or against a remote player, whose movements will then be applied to your board. This way, you and your friend can play a physical game like chess anywhere across the world! This project is a work in progress, meaning that I am updating this repo as I go. If you have any questions or comments, feel free to contact me from my website!
- daGHIZmo's wonderful EEZYbotARM MK2
- 3D printed in Hatchbox PLA using a modified ANET A8 printer
- Raspberry Pi 3 for processing
- Adafruit Servo Hat for easy servo controls
- Adafruit CircuitPython ServoKit
- Adafruit Servo Hat requirements
- OpenCV 4 and related requirements (following these instructions [does not require patented algorithms])
- ZBar for QR code detection (instructions available here)
- Implemented ability to set servo angles via Raspberry Pi and Adafruit Servo Hat
- As of July 1st, implemented cartesian coordinate system which allows me to use standard x and y coordinates to accurately move the arm to within 1 mm accuracy
- Implement game piece detection using OpenCV in a lightweight manner
- Most likely going to be based off of color detection and simple outline detection rather than complex image recognition, as the goal is to be as lightweight as possible
- To play chess using a custom built curved vertical chess board
- Ability to play against the computer or against a remote opponent who also has a Dave robot, allowing each player's move to be physically synced on their respective board
Because I can! And because the idea of playing a physical game with my friend from Purdue all the way here at UNC is pretty cool in my opinion. Plus this project allows me to get involved in Python, robotics, and computer vision, which is always a plus!
Why use the EEZYbotARM MK2 for this project?
Mostly because it is a popular, open source design for a 3D printable robot. The benefits of 3D printing the robot as opposed to just getting a kit is that I can customize the bot however I wish, including changing the claw to better grip the game pieces and adding a mount for the sensors. Plus it is cheap, and I needed a justification for spending all that time and money making my 3D printer.
Well it was either that or Steve