Inspiration
We all love a fresh bowl of fruit yogurt, especially in the summer — quick, simple, and satisfying. That love for something fresh and fast got us thinking: what if a robot could make it for us? So we built FROYO, a robot that makes fresh fruit yogurt bowls.
But honestly, the yogurt was just the excuse. We're a team of five robotics geeks — three from Northeastern, one from Penn State, one from Tufts, and one full-time robotics engineer on the team — who jumped at the chance to work with a real robot arm for two days. None of us had trained a vision-language-action model before. None of us had teleoperated a leader-follower arm setup before. We came together because we wanted to learn something new, build something we'd never built, and have fun doing it — the yogurt bowl was just the most delicious way to do that.
What it does
FROYO autonomously makes a fresh fruit yogurt bowl — scooping Greek yogurt, then adding blueberries and strawberries — end to end, with no scripted motion path. It's built around a leader-follower arm setup with two cameras (overhead and wrist-mounted) feeding into a vision-language-action (VLA) model: the model sees the yogurt and berries in front of it, and outputs the actual motor commands needed to plate the bowl.
Along the way, it taught all of us a lot: how to teleoperate a robot arm to collect demonstrations, how VLA models are trained and fine-tuned, how to structure and clean demonstration data, and — maybe most importantly — how five people with different backgrounds actually work together under a two-day deadline.
(Note: fill in the specific VLA model/base checkpoint you fine-tuned, and roughly how many demonstrations you collected — judges will likely ask this directly.)
How we built it
We started with the hardware Seeed Studio provided: a reBot Arm B601 RS, a leader arm for teleoperation, a reComputer Jetson Orin Nano for edge inference, and two USB cameras. We connected the arm over CAN and defined fixed reference positions for the yogurt cup and the bowl.
From there, our workflow was:
- Teleoperate the follower arm using the leader arm to demonstrate scooping yogurt and placing berries.
- Collect data — synchronized camera frames and arm trajectories — across many repetitions with slightly different bowl and berry positions.
- Fine-tune a VLA policy on those demonstrations so the arm could go from raw camera input straight to motor commands.
- Run autonomously — swap teleoperation for the trained policy and let FROYO plate the bowl on its own.
(Note: add specifics here — e.g. how many demo runs you collected, what the reference frame/coordinate setup looked like, any tools used for data collection/training.)
Challenges we ran into
Our first real obstacle was getting both cameras running reliably at once — we ran into bandwidth issues depending on how each camera was connected. We solved it by connecting both cameras directly to a single laptop instead of splitting them across different compute, which stabilized the feed enough to collect clean data.
Beyond that, working with real hardware meant real hardware problems: recalibrating after connection drops, re-running demonstrations when trajectories didn't fully capture the motion we wanted, and iterating quickly since we only had two days.
Accomplishments that we're proud of
We're proud of FROYO itself — a robot that went from an idea to a working, autonomous, VLA-powered arm in two days — but we're just as proud of the team behind it. Five people from three different schools plus an industry robotics engineer, most of us meeting for the first time this weekend, pulled together a full teleoperation-to-autonomy pipeline from scratch. We learned a ton, we had fun doing it, and at the end of it, FROYO can actually make you a bowl of yogurt.
(Note: if there's a specific demo moment you're proud of — e.g. first time it ran fully autonomously, or a specific success rate — add it here, it'll stand out to judges.)
What we learned
We learned to be ready for things not to work the first time — or the fifth time. Having one team member dedicated to keeping the settings, configs, and repo consistent across the laptop saved us more than once when something broke mid-run. We also learned just how much of a "simple" robotics task like scooping yogurt and placing berries actually depends on clean data collection and a solid teleoperation setup — the model is only as good as the demonstrations you feed it.
What's next for FROYO
This is just the beginning. We started with two fruits — blueberries and strawberries — but there's a lot more FROYO could learn to serve: mangoes, bananas, granola, honey drizzles, you name it. Longer term, we'd love to expand FROYO's language understanding so it can handle more open-ended requests ("add honey," "extra fruit today"), and generalize beyond yogurt bowls to other simple, repetitive food prep tasks where precise, gentle manipulation matters.
Built With
- arm
- camera
- jetson
- powersupply
Log in or sign up for Devpost to join the conversation.