1. Project overview
This week, with the proposal made last week in mind, the team set some goals for the project, which are presented bellow, with the secondary goals being grouped by subject.
Primary Goal
Develop an AI system capable of simulating and automating the tasks performed by waiters in a restaurant floor, taking advantage of the communication and collaboration between agents to result in more adaptability to the surroundings and a more efficient workflow, while also assessing how a more competitive behaviour from the agents affects the performance of the restaurant.
Secondary Goals
Multi-Agent System
Implement Waiter agents, capable of simulating the behaviour and accomplishing the tasks performed by a human waiter. Although the bigger goal, the performance of the restaurant, is common to every waiter, the waiters may also have personal goals and, as such, can be both collaborative and competitive. How collaborative or competitive they are should be configurable, allowing for a more interesting benchmark and analysis of each trait's impact.
Implement Client agents, capable of simulating the behaviour of a human client, although at a much higher level of abstraction and simplicity when compared to the waiters. The behaviour and characteristics of these agents should be configurable (e.g. patience, generosity, food preference), in order to enrich the simulation.
Robotics
Configure a virtual environment/simulation where a restaurant can be simulated, complete with the robots and clients, using the Gazebo software;
Configure the robot-waiters, based on TurtleBot3, with the necessary sensors and implement the ROS code in order to make them move and interact around the restaurant in an autonomous manner, adapting to the events happening around them.
IoT
Configure a IoT device (e.g. Arduino) to perform a simple task (e.g. count the number of people entering and exiting the restaurant) and communicate the results to a middleware (e.g. Mosquitto), which are then consumed by the agents.
2. State of the art
Having settled on the goals for this project, it was now time to start researching similar projects developed by researchers around the world, while also understanding how multi-agent systems, robotics and IoT are being applied in restaurants, in order to improve the client experience.
The team found, on the one hand, that multi-agent systems are being applied in restaurants mostly as decision-making tools, with the team wanting to extend their integration to robots, helping them make smart and efficient decisions when managing the restaurant floor.
On the other hand, the team found that robotics and IoT are already being adopted and integrated in many restaurants around the world in order to facilitate the work done by the employees and automate tasks that don't have to be done by humans, freeing them for other more critical tasks.
More details on the state of the art can be found in the scientific article written by the team. Please, stay tuned for that!
3. Project roadmap
Like in every other challenge, the team decided to establish a set of milestones to be reached in each week of the challenge's development, although it is worth noting that the plan is prone to changes in the future:
Week #4 (30/05 - 03/06)
Implement a base multi-agent system, with simple interactions being simulated between the Clients, Waiters and the Kitchen agents;
Implement a base simulation on Gazebo, based on the autonomous driving TurtleBot3 simulation, with a few robots autonomously wandering around a restaurant environment;
Write the State Of The Art chapter of the scientific article.
Week #5 (06/06 - 10/06)
Implement collaboration and competition mechanisms on the agents, including how the world is represented in the multi-agent system;
Configure the simulation environment in order to more closely resemble a restaurant (e.g. with an entrance, tables and a kitchen section) and have people there as well (ideally walking around autonomously, like the robots);
Configure an IoT device for clients to ask a table for a given number of people, which is published to a middleware and then consumed by the agents;
Week #6 (13/06 - 17/06)
Implement ways to easily configure the agents' properties and how they are added to the simulation;
Integrate the JADE code with ROS and Arduino code;
Implement path-finding algorithms in ROS, allowing the waiters and clients to go from point A to B in an autonomous and intelligent manner, adapting to their surroundings;
Implement a base multi-agent system, with simple interactions being simulated between the Clients, Waiters and the Kitchen agents;
Configure an IoT device to measure meal temperature, which is published to a middleware and then consumed by the agents;
Finish writing the Proposal chapter of the scientific article.
Week #7 (20/06 - 24/06)
Fine-tune the implementation and run benchmarks with different scenarios and agent characteristics;
Write the Results and Conclusion chapters of the scientific article.
Naturally, in the following weeks' posts, the team will check on the plan and verify if everything is on track, by confronting the obtained results with the goals set in the challenge roadmap. Stay tuned!
Comments