For some people, cooking is a family affair in which multiple people crowd the kitchen, each of them dedicated to a specific task in order to distribute the load of preparing a hearty meal. Unfortunately, some of us are sad people who live alone and own dogs that have poor knife handling skills. When we work up the motivation to cook dinner instead of ordering takeout for the fifth time that week, we find ourselves struggling to juggle all of the various cooking tasks that apparently need to be done simultaneously. That’s why Ben Cobley used a Raspberry Pi to make a robotic sous-chef named OnionBot to help him cook meals while he’s at university.
Sous means “under” in French, and so a sous-chef is an assistant to the head chef. For other Americans who are currently confused, sous vide (the cooking process) translates to “under vacuum.” With Cobley obviously acting as the head chef of his own kitchen, OnionBot is the perfect subordinate. Most robots designed for cooking are overcomplicated, as they are designed to manipulate a variety of utensils and appliances. That results in an expensive robot and usually failure. Cobley took a more pragmatic approach with this project. OnionBot is only capable of doing three things: controlling the temperature of the hot plate, visually monitoring the pan, and providing notifications.
A Raspberry Pi 4 Model B continuously monitors the pan through both a standard camera and a thermal camera. The latter is used to get a basic idea of how hot the pan is, while the former visually recognizes how cooked the food is at any given moment. With a Google Coral AI USB Accelerator module providing a little extra grunt, the Raspberry Pi uses a visual machine learning algorithm to monitor cooking progress. The model, built using Google Cloud AutoML, had to be trained using thousands of images. The training was necessary for the model to recognize the difference between cooked and uncooked onions or when a pot is about to boil over.
OnionBot is capable of using a servo motor to automatically adjust the heat if necessary, or it can sound a notification to let Cobley know if a step is completed and it is time to start the next one. A touchscreen can be used to select a meal and to provide information about the current step. But, because training a model is such a long and labor-intensive process,c OnionBot is currently only able to handle one meal. Additional meals can be added in the future, and for now Cobley can easily make the one pasta dish with help from his robotic sous-chef.