# Enabling End-Users in Designing and Executing of Complex, Collaborative Robotic Processes
## 3 Use Cases
### Use Case Industry (UCI)  
The conceptualized industrial use case application targets the domain of manufacturing, specifically the pre-sorting, commissioning and delivery of finished parts or raw materials. Similarly, as for the healthcare domain, the primary focus is on applying the ROBxTASK programming approach to implement the required system behavior. Highly optimized primitives for, e.g., precise handling of parts, or visual perception are beyond the scope of this use case implementation. The following actors and sensors are integrated and coordinated within an OPC UA-based environment:  
* UR10 CB3 ([[https://www.universal-robots.com/products/ur10-robot](https://www.universal-robots.com/products/ur10-robot)]([https://www.universal-robots.com/products/ur10-robot](https://www.universal-robots.com/products/ur10-robot)), accessed on 8 May 2023) (collaborative 6-DOF robot manipulator by Universal Robots). Implements the following skills: GrabObject (ObjectType, ObjectPosition), PutObject (TargetPosition), GetData (VariableName). * MiR100 ([[https://www.mobile-industrial-robots.com/solutions/robots/mir100](https://www.mobile-industrial-robots.com/solutions/robots/mir100)]([https://www.mobile-industrial-robots.com/solutions/robots/mir100](https://www.mobile-industrial-robots.com/solutions/robots/mir100)), accessed on 8 May 2023) (industrial mobile platform by Mobile Industrial Robots A/S). Implements the following skills: MoveToLocation (TargetLocation), GetData (VariableName). * Peripherals including an electric gripper, a Sensorat VISOR ([[https://www.universal-robots.com/plus/products/sensorat/visor-robotic](https://www.universal-robots.com/plus/products/sensorat/visor-robotic)]([https://www.universal-robots.com/plus/products/sensorat/visor-robotic](https://www.universal-robots.com/plus/products/sensorat/visor-robotic)), accessed on 8 May 2023) camera system, and inductive/capacitive/light-barrier sensors. Figure 11: RViz tool layout-used for testing movement before execution. Figure 12: [PERSON] driving-visualized with RViz tool. Note that the mentioned peripherals (sensors and camera system) are physically linked and managed by the robot systems UR10 and MiR100. This is because of practical reasons, e.g., a robot controller usually comes with digital/analog I/O ports, and simplicity reason, i.e., to reduce system complexity. The system layout considered for the industrial use case is depicted in Figure 13. The stationary UR10 robot system ('UCIIr10'), equipped with an electric gripper and a camera system, is configured to (a) grab objects of type 'Part_Cube' and 'Part_Cylinder' and (b) to put the same type of objects to predefined target locations. Those target locations include a 'Box', two slides (gravity chutes 'Slide.Part_Cube' and 'Slide.Part_Cylinder') are used as storage for sorted parts, and a tray to hold pre-commissioned parts of both types. The tray is mounted on an autonomously guided vehicle (AGV) of type MiR100 ('UCIMir'), which enables transport of parts to the required storage or production cell. Both slides include sensors at the entrance and bottom of the slides to enable interpretation of the storage level. As an application use case, a three-step process shall be considered: (a) Bin-picking of parts (both types) out of the 'Box' and placing them onto the slide storage in a sorted fashion. (b) Picking sorted parts (both types) from the slide storage and commissioning them onto the tray at the designated tray-sections. (c) Transportation of the commissioned parts to the target destination. The skills for UCI conform with the ROBxTASK skill definitions according to Table 1. To reduce implementation complexity for the task designer, the 'GrabObject' skill also includes the object localization process required to retrieve unordered parts from the 'Box'. Moreover, vision systems are tightly linked to the robot system as extrinsic calibration is often inevitable to achieve reasonable accuracy during part manipulation.