Inspiration The food and hospitality industry constantly faces high-stress environments and staffing shortages. We realized that human staff should focus on what they do best—providing excellent customer service and human interaction—while repetitive, point-to-point logistics can be automated. Inspired by the RoboCup @Home and industrial logistics challenges, we created Kitchen-Buds: an autonomous robotic solution designed to bridge the gap between the kitchen and the dining area, ensuring food is delivered quickly and safely.
What it does Kitchen-Buds is a fully autonomous delivery robot simulated in Webots. Instead of acting as a traditional waiter that takes orders, our robot specializes in backend logistics. Once a meal is ready at the kitchen counter, the robot is dispatched with a target table number. It calculates the shortest, most efficient route through the restaurant, avoiding static obstacles like tables and walls, and safely delivers the food to the customers' table entirely on its own.
How we built it We built the 3D environment and simulation using Webots to ensure accurate physics and sensor behavior. The "brain" of the robot was developed in Python. To make the robot truly autonomous, we translated our 3D restaurant environment into a 2D grid matrix. We then implemented Dijkstra's Pathfinding Algorithm to allow the robot to calculate the optimal route from the kitchen to any random table in the grid. The Python controller reads this calculated path and translates it into motor speed commands (differential drive kinematics) to move the robot step-by-step to its destination.
Challenges we ran into Building a fully autonomous system in just 8 hours is tough! Our main challenges included:
Learning a new tool on the fly: Neither of us had prior experience with Webots. We had to figure out scene trees, nodes, and how to link Python controllers to 3D models while the clock was ticking.
The "Black Screen" rendering issue: We spent valuable time troubleshooting our camera and environment rendering before realizing we just needed to adjust the lighting nodes and forcefully step the simulation.
Continuous to Discrete Translation: Bridging the gap between the continuous physics of the Webots 3D world and the discrete grid required by Dijkstra’s algorithm was a heavy mathematical challenge. We had to calibrate the robot's physical movement to match the theoretical grid perfectly.
Accomplishments that we're proud of We are incredibly proud of delivering a 100% autonomous and functional simulation within the tight 8-hour limit. While it's tempting to build a teleoperated robot quickly, we committed to the harder path of true autonomy. Successfully integrating a theoretical pathfinding algorithm like Dijkstra into a physics-based simulation and watching the robot navigate the maze of tables flawlessly without getting stuck was our biggest victory.
What we learned Scope management is everything: We learned the importance of pivoting and narrowing down our initial ideas into a robust, achievable project. Functionality beats over-complexity in a hackathon.
Rapid Prototyping: We learned how to use Webots PROTO nodes to build realistic 3D environments in minutes rather than hours.
Robotics Integration: We gained hands-on experience bridging high-level pathfinding logic with low-level robotic control (motor velocities).
What's next for Kitchen-Buds Right now, Kitchen-Buds is a master of static environments. The next big step is integrating Dynamic Obstacle Avoidance. We want to implement SLAM (Simultaneous Localization and Mapping) and an algorithm like D* Lite or A* so the robot can recalculate its path in real-time if a human (or a chair) suddenly blocks its way. Eventually, we'd love to take the code from Webots and deploy it onto a physical ROS 2-based robot base!
Log in or sign up for Devpost to join the conversation.