System Architecture - RoBorregos/smart-factory GitHub Wiki
The system architecture focused on the implementation of interactions between the factory robots and humans through the Factory Task Manager using ROS's action servers, topics, and services.
A complete modular architecture was implemented, defining data flow, message types, contextualization, and interactions.
Different types of agents inside the factory’s process were categorized according to their functionality:
- Factory Task Manager (FTM): Receives tasks from static robots and delegate them to transport robots according to the type.
- Mobile robots: Robots that can move from one place to another and transport goods
- Static robots: Robots that perform specific tasks over materials, have input and output points.
- Humans: Bring initial raw materials to storages
- Tasks get triggered by static robots
- FTM Outputs action command to transport robot
- Transport robot reaches the destination and tells FTM
- FTM sends start_process to static robot
- Static robot starts the process
- Static robot triggers output ready

Each robot resides in an individual namespace, where it interacts according to its type.
Agent | Interaction type |
---|---|
FTM | robot action servers: action servers of each individual robot connected to the system. |
Static robots | static_robot_requests: topic where i/o requests are published (ready to receive input, ready for output retrieval). |
Mobile robots | mobile_robot_requests: topic where mobile robots publish if they've retrieved or delivered material succesfully. |

All state machines were defined inside the Factory Robot's folder, inside dashgo_ws/src as action servers.
For contextualization the system must have information about:
Mobile robots | Static robots | Process list |
---|---|---|
|
|
|
The next steps would be integrating this simulated system to the real-world robots, including:
- Define the communication and network system
- Adding the corresponding actions as services and calling them through the action servers for each robot type.
- Connecting the robots to the FTM.
- Design and develop HRI security and privacy systems