What's the most important thing at a party? That's right... staying hydrated. You need to make sure you are easily able to portion your liquids, water and juice obviously, into nice 1.5oz servings.
What it does
ShotBot is an autonomous cup filling robot that drives on a table. We use vision processing to track small red party cups and fill them using a water gun. ShotBot will search for a cup if it can't see one, or persue the closest option.
How I built it
We used mostly toys and recycled plastic waste as our structural materials, this included bottlecaps, bottle, plastice silverware, and cheap toys that were going to be thrown out. We then used an Android phone as a camera that relayed the information to a raspberry pi and then to an arduino to power the motors.
Challenges I ran into
In two words: Raspberry. Pi.
We chose to develop most of our control in Processing, because it has nice builtin computer vision support AND can interface nicely with the Arduino. It sounds too good to be true. That's because it was. Processing doesn't run on ARM. After replacing the incuded JVM with openjdk Processing would launch.
That was when we had issues with the Pi having inadequate performance to process the frames in time. We then used the Pi as a relay from a laptop to the Arduino's serial.
It was almost working when the Pi died altogether.
The robot now runs tethered to a laptop for the time being.
Accomplishments that I'm proud of
We managed to do our vision processing even after learning that the Processing library lacks a lot of the fancy features something like OpenCV has readily available. This lead us to write our own methods in order to identify the cups. Despite having to create our own methods, we were able to achieve a 90% success rate of finding and filling the cups.
What's next for ShotBot
The next step is to use a small, more powerful co-processor for the vision processing such as a DragonBoard. This will allow the robot to work fully autonomously without the need for a laptop or supervisor holding a long USB cable.
As well as general accuracy tuning and a better quality watergun, this one has a noticeable amont of spray out to the sides.