## 3 Approach
### Digital Twin Module  
The digital world model, or digital twin, aims to enable the digital representation of the real-time shopfloor status by enhancing the static layout information with the real-time feedback coming from the resources and the shopfloor/resource on board sensors. Thus, the world model's functionalities have been classified into two main categories:  
* Virtual representation of the collaborative environment combining multiple sensor data and the geometrical knowledge of the workplace.
* Semantic representation of the shopfloor status through a unified data model, including the geometrical state as well as the workload state.  
The components of the digital world model are:  
* The graphical user interfaces for easy configuration of resources and sensors, which allow the user to view information about the status of the system, as well as to insert information and reconfigure the digital world.
* The resource manager, which is responsible for registering in the system any new resource introduced on the shopfloor, and has two primary responsibilities: the proper registration of each resource on the shopfloor and the provision of semantic information related to it based on a unified data model that can serve multiple resource types (humans, and mobile and stationary robots).
* The sensor manager, similar to the resource manager, is responsible for the configuration all the sensors inside the shopfloor (stationery and resource onboard sensors). Thus, a respective registration procedure takes place for setting the launch files, and similar to the resources, each sensor needs to have a ROS driver for providing its data into the ROS network and to define its position inside the global TF-tree.  
* The ROS driver for both cameras has been already developed using ROBO-CEPTION. At the registration of these sensors, the manager takes care of the naming convention for every topic and service that is published in order to follow world model conventions. For the position of the cameras, the hand-eye calibration method is used for generating the precise coordinates, which also are provided from ROBOCEPTION. This method gives the position of camera's frame related to the MRP's base link. The resource manager of the MRP takes this position alongside the camera's Unified Robot Description Format (URDF) file and creates a fixed joint. Figure 4a shows the Rviz representation of the URDF that was generated using the aforementioned procedure, while  
Figure 3: Shopfloor and process perception system architecture—overall approach.  
Figure 4b visualizes the TF-tree transformation for taking into consideration the rc_visard camera frame.  
The ROS community provides drivers for the RealSense camera, in a ROS Wrapper for Intel RealSense Devices [48]. The camera has a static relationship with the frames of the torso of the MRP, so its position is known, and the resource manager of the MRP takes this position alongside the camera's URDF file and creates a fixed joint, similar to the RC (ROBOCEPITION) cameras.  
* The layout manager, which handles the introduction of essential parts and objects on the shopfloor and introduces them to the digital world model.
* The 3D environment constructor, which retrieves the locations of all parts, fixtures, sensors and resources in order to construct the shopfloor with a global world frame. Apart from the static parts, the position of which is defined at the configuration phase from the resource, sensor or layout manager, there are also moving objects and obstacles whose position is not well fixed and need to be identified during the execution. For this reason, a 3D environment constructor provides an interface with ROS services and topics to track and update the position of all parts on the shopfloor.