Inspiration

We wanted to automate the process of bartending.

What it does

Delivers fresh drinks (kind of) directly and wirelessly mostly to a drinker's cup but also their surroundings. Like 5G, but for beer (or non-alcoholic beverage of your choosing)! Cheers

How we built it

We designed and freehanded a two-axis robot (gimbal) that carries a hose-nozzle. Our computer vision pipeline identifies and locks onto Aruco markers. The gimbal tracks these markers with a simple "bang-bang" control loop (with a deadzone).

The vision pipeline (running on the laptop) sends instructions to the robot's embedded system. We bought a low-end ($30) power drill and replaced the power-transistor-based-switch with a relay. We simply nailed the drill to our project platform.

Challenges we ran into

  • Stores sharing speciality the pumps we wanted were all closed this weekend
  • Common hardware stores didn't have it in stock
  • A bad stepper motor led to hours of wasted time debugging our wiring, code, and debating alternatives
  • Careful debugging, carefully placed breaks and meals helped us find and fix all major hurdles

Accomplishments that we're proud of

This was a LOT of fun. We're proud we had fun. Tons of video and media taken (forthcoming)

But also:

  • Aruco vision pipeline mostly complete overnight
  • Seamless embedded + CPU integration (normally a pain point)
  • In spite of not having a nozzle to give the pressurized stream extra distance, we repurposed a soldering iron to take our house into a sealed tight tip that maintains mostly laminar flow. This performed better than our more aggressive nozzle shape that blocked off the flow

What we learned

  • Designing a nozzle is hard
  • Cutting scope is a necessary part of the process

What's next for Fluid Flicker

  • Food safety
  • Vision pipeline that identifies cups instead of ARUCO tags, and is still able to provide comparable pose estimation and reliability
  • A more rigid frame for our robot, and a better "optimum" controller

Built With

Share this project:

Updates