Over lockdown, we played a board games together. One of our surprise favorites was Robo Rally, a game where players "program" robots to navigate to check points and avoid each other. We wanted to see if there was a way to bring that same level of fun into a safe, real-world environment, and allow for huddling around the table with friends from the comfort and safety of one's own home.
What it does
Our project allows a player to use our website to play a game about robots with real robots! Watch your robot navigate the gameboard on the screen and then watch your robot follow those same commands in real life as they drive about our ultra-sized playing area, competing against each other. Control your robot via a handy web application for remote play possibilities.
How I built it
We broke our project into three key components. The website, the host micro-controller, and the mini-bots playing the game. For both our host and the bots we used an ESP-32 as the microcontroller since it has inbuilt WiFi and connectivity capabilities. For the connectivity side of things, the ESP-32s have a mesh networking feature built-in that allow them to pass data between themselves, which we used for a master/slave set-up to act as an interface between the robots and the Internet.
Challenges I ran into
Accomplishments that I'm proud of
Creating two miniature, self-contained robots ready for anything is pretty cool. Being able to control them from the web is even cooler. Plus, this project contained a little bit of everything. Product development, app development, web development, manufacturing, iterative design, circuit design, all these things were learned and/or honed over this hackathon, which we find pretty impressive.
What I learned
Setting up mesh networks for data transfer is pretty easy once you know what you're doing. Never underestimate the awesome power of cable management and a thoroughly though-out design. Always stop and ask yourself if what you're working on is crucial to the development of the project.
What's next for Robot Rumble
Ideally, Robot Rumble was designed as a framework for games with robots instead of people. We got most of the way there during GrizzHacks, but there is still a ways to go. Developing more robust robots, strengthening the communication protocol, and enriching the web app experience are all things on our to-do lists.