Main Content

With an ordering system and a database, the robot is designed to automatically deliver dishs to their corresponding tables.

In today’s modern society automation has become an integral part of our daily life. We are increasingly noticing that more and more mondane tasks are given to robots. For this purpose, we propose to automate the task of waitering tables at a restaurant. More specifically, we will design a robot and an automated solution to ensure that all customers on the same table of a restaurant are served at the same time.

To do so, we will design on the one hand a system to automate putting in orders, estimating cooking time and getting instructions from the kitchen to serve each table. And on the other hand, we will put in place a robot that can receives these instructions, find its way to the corresponding table, serve the customers’ dishes and send feedback.

Solution considered and functionalities
We therefore propose to design a connected, autonomous and autopilot robot.

On the one hand, we need to build a program or a solution to:

● Make the decision of which table should be served next
● Send the instruction to the robot

On the other hand, the robot must be able to:

● Deliver three dishes to a table

For this purpose, the robot must be able to:

○ Follow a predefined path
○ Arrive at / find the right table
○ Avoid obstacles in its way
● Communicate with the restaurant as well as with the customer:
○ Receive the number of the serving table
○ Send / Receive the status of each table: Served or not
○ Send customer feedback
○ Send / update status in real time: Battery, availability, etc.

In addition and for security reasons, it is preferable to set up a solution to control the robot remotely.

Possible technologies
In order to ensure proper navigation of the robot, a certain number of sensors are to be considered. But due to the complexity of the sensors and the huge amount of data to be processed in the context of a restaurant, the robot needs a certain amount of computing power and very low data transmission time.

Namely, there are two possible processing modes; edge computing and cloud computing. Edge computing involves processing data at the edge of the network, near the source of the data. However, cloud computing consists of using remote computer servers via a network, generally the Internet, to store or exploit data.

Given the above problems, we propose to develop a robot combining both mothodes of edge computing and cloud computing (in this case we will opt for the mqtt protocol). Edge computing processes data in real time to take care of the driving decisions. Cloud computing performs more user-oriented work such as decision-making, the formulation of instructions for the robot and receiveing or analyzing data from both the robot and the users.”

Link to article