Our course aims to explore the complexities of automated collaborative multi-agent systems across various environments. To achieve this, our focus lies on implementing a solution for our studio project: robotic glazing. Our objective is to address a hypothetical scenario wherein we aim to upscale the glazing process while retaining the adaptability necessary for mass customization.
We’re not just aiming for automation; we’re looking to build a smart factory capable of coordinating and making decisions involving multiple agents, ensuring smooth adaptation to various orders.
![](https://blog.iaac.net/wp-content/uploads/2024/05/Recording-2024-05-27-143127.gif)
In this hypothetical scenario, determinism is key, as the environment remains unchanged and lacks human presence except for remote supervision. Moreover, the environment is closed, with no addition of agents during operations. However, in the future, we envision opening up the system to accommodate multiple incorporations during periods of high workload.
Goal: Convert a set of unglazed pieces (of different shapes and sizes) in glazed ones, ready for packing
Order Inputs:
- Piece 3D Model (shape and color – digital paint)
- Clay type: Earthenware, Stoneware, Terracotta, Porcelain, Refractory
- Glaze type: Underglaze, Glaze, Overglaze
- Temperature: (Low) 1050ºC – 1260ºC (High)
- Duration: 2h – 24h
Agents + Brief Description
We envision a system with 13 agents. To simplify operations, we’ve designed a system where unglazed pieces are introduced via a feeder/conveyor. Following the entire process, the glazed and ready-to-pack pieces are placed into another conveyor that transports them to a packing facility.
- Human: Supervisor, oversees the smoothness of operation and acts if accidents/mistakes occur.
- Coordination Bot: Manages and allocates tasks based on order inputs.
- Color Mixing Bot: Accurately mixes a preset of glazes to get as close as possible to given digital paint.
- Glazing Bot: Accurately paints the given piece, by creating suitable toolpaths, accurately controlling the paint flow… based on order inputs and piece positioning.
- Inspection Bot: Ensures/validates painting quality before firing.
- Camera System: To enable bots to perform their tasks (on and off board).
- Color Mixer: Device (dispenser) that mixes different glaze powders (controlled by mixing bot) and water to create accurate glazes.
- Robotic Arm: Robot that glazes using airbrush end effector.
- Autonomous Mobile Robot (AMR): Transportation of pieces among different operations:
![](https://blog.iaac.net/wp-content/uploads/2024/05/Applied-Theory-III.png)
- Dryer: Dries the glaze in order to get the piece ready for the kiln.
- Kiln: Bakes/Fires the pieces once glazed and dried (duration and temperature may vary depending on glaze type).
- Conveyor (x2): Provides a controlled flow of pieces (in and out)
Agents + Roles + Actions
Each of our agents has a specific role, with defined actions they need to perform within that role. The diagram below illustrates all the agents, their roles, and the corresponding actions.
![](https://blog.iaac.net/wp-content/uploads/2024/05/applied_theory_III-agents_roles_actions-1.png)
Goals and Subgoals
This diagram outlines the goals we aim to achieve with our process, focusing on the precise manufacturing of glazed pieces as our ultimate objective. We have detailed these goals while considering the roles and responsibilities of our agents. Each agent is expected to make decisions within their respective tasks to achieve these goals.
![](https://blog.iaac.net/wp-content/uploads/2024/05/goals_and_subgoals-1024x630.png)
Norms and Rules
To enable our agents to achieve the goals efficiently and safely, we have established a set of rules and norms for them to follow:
- Respect assigned zones: Agents are required to confine their operations within designated areas or bounding boxes to prevent any potential damage to equipment or the surrounding environment.
- Ensure data updates: Agents are responsible for consistently providing updated data, including their position and task progress. This ensures prompt notification to humans in case of any anomalies or errors.
- Adhere to project deadlines: Agents are expected to accomplish tasks and meet milestones according to the predetermined timeline, all while emphasizing safety and accuracy.
Communication between Agents
The following diagram illustrates the communication between agents throughout the process and their relationships in fulfilling tasks to achieve the final goal. Note that the human interacts only with the coordination bot, camera system, and conveyors, as he/she is responsible for entering orders and supervising the overall process. Additionally, observe that the AMR connects to nearly all physical entities, acting as a bridge between them.
![](https://blog.iaac.net/wp-content/uploads/2024/05/Glazing-Smart-Factory.png)
Database Communication between Agents
In addition to communicating with each other, the agents also have access to various databases containing the information they need to fulfill their tasks. Red arrows indicate write permissions, while grey arrows indicate read permissions. Note that the conveyors do not have access to any database, as the AMR directly communicates any necessary information to bring in or take out more pieces.
![](https://blog.iaac.net/wp-content/uploads/2024/05/Glazing-Smart-Factory-3.png)
System Overview
This diagram provides a summary of our system, including the agents, database communications, and the key actions each agent performs.
![](https://blog.iaac.net/wp-content/uploads/2024/05/system_overview-1024x688.png)
Multiagent System Simulation
We decided to transition from theory to action by creating a Markov Decision Process (MDP) simulation for the AMR using value iteration in NetLogo. This process assigns values to each grid in a gridded world, iteratively updating these values by applying the Bellman equation (shown below) until they converge. It uses the maximum expected utility of future states to refine the policy.
This approach ensures that agents avoid gray areas (representing robots, color mixers, kilns, dryers, etc.) and navigate towards green areas (where the AMR is allowed to station while picking up or placing pieces).
![](https://blog.iaac.net/wp-content/uploads/2024/05/fef.gif)
Further Research
To improve this system, we have several ideas:
- Increase the Number of Agents: Expand the variety of roles and actions for robotic arms, such as painting with a brush or 3D printing.
- Explore Alternative Navigation Methods: Investigate other methods for agents to navigate a gridded world beyond Value Iteration, such as Policy Iteration, Q-Learning, A* Search Algorithm, and Reinforcement Learning.
- Improved Simulations: Further explore the capabilities of NetLogo and experiment with new tools like the Unity ML Swarm Algorithm.
![](https://blog.iaac.net/wp-content/uploads/2024/05/Recording-2024-05-27-142943-1.gif)
However, we recognize that these enhancements open up possibilities to elevate our factory to a whole new level, allowing the agents to tackle more interesting and complex goals.