System Overview

Walter the WaiterBot is a modular waiter robot designed for use in restaurants. With the press of a button, he can autonomously navigate to tables, deliver food, and return to the kitchen. He uses a ROS2 node network to manage tasks like localization and actuation, which also communicates with Arduinos to send motor commands and receive sensor data. He has a modular mechanical output that seamlessly powers different modules, all of which are capable of being swapped out by hand – no rewiring or wrenches required!

Why a Modular System?
A human waiter performs various different roles in a restaurant, from delivering dishes to taking orders. While a human can switch between tasks seamlessly, a robot has to be intentionally designed with each desired function in mind. Rather than try to create an all-purpose design that could handle any desired task with a single mechanical system, we opted to create an interchangeable module system, where modules for different tasks could be easily interchanged by a user. If a new function is desired, a new module could be created and swapped in. We decided to develop a tray module for this project because it is one of the most basic requirements of a waiter, and one of the most versatile.