# A Cryptography-Powered Infrastructure to Ensure the Integrity of Robot Workflows
## 4 Application and Evaluation in a Real Robot System
### Application in an Industrial Robot System
#### 4.1.2 Use-Case Workflow  
The workflow queue is depicted in Table 1, Figure 6 shows to exemplary steps as recorded in the final application. The material is stored in material holders which are provided on a rack. The rack has a known geometry and an Aruco tag [41] attached to it. By scanning the tag with its wrist cam, the robot can deduct the poses at which items can be picked up. This process compensates for the inherent position inaccuracy of the mobile base and provides extra flexibility in the placement of material. The robot first moves to a dedicated pickup location. There it scans the tag and picks up items. After placing them on its cargo bay, the robot drives to the placement location, again scans a tag to calculate the placement position and places material. From Table 1 it can also be seen that we combine various re-usable workflows into the final queue to achieve this goal.  
Figure 5: The CHIMERA mobile manipulator.  
Using our client implementation described in Section 4.2.2, we evaluate the execution of the workflow sequence. We first conduct a test without using our verification infrastructure and second test it with the workflow verification active to compare both scenarios. This gives an indication on the overhead introduced by our approach.  
\begin{table}
\begin{tabular}{l l l l} \hline \hline
**Wf No.** & **Wf Description** & **StepId** & **Action** \\ \hline
1 & Initialize robot & 1.1 & Move arm to safe transport pose, activate gripper \\ \hline
2 & Move to pickup & 2.1 & Move to pickup location (mobile base) \\ \hline
3 & Find target pose & 3.1 & Move arm to scan pose \\  & & 3.2 & Scan for Aruco Tags (wrist camera) \\  & & 3.3 & Calculate target position \\  & & 3.4 & Move arm above target position \\ \hline
4 & Pick up & 4.1 & Move arm vertically down \\  & & 4.2 & Grip \\  & & 4.3 & Move arm vertically up \\ \hline
5 & Move to robot cargo pose & 5.1 & Move arm above cargo position \\ \hline
6 & Place & 6.1 & Move arm above placement position \\  & & 6.2 & Move arm vertically down \\  & & 6.3 & Open gripper \\ \hline
7 & Move to transport pose & 7.1 & Move arm to safe transport pose \\ \hline
2 & Move to target location & 2.1 & Move to target location, same as above, parameters vary \\ \hline
5 & Move to robot cargo pose & 5.1 & Move arm above cargo position \\ \hline
4 & Pick up & 4.1–4.3 & As above, parameters vary \\ \hline
3 & Find target pose & 3.1–3.4 & Move arm to scan pose \\ \hline
6 & Place & 6.1–6.3 & Place item, as above, parameters vary \\ \hline
7 & Move to transport pose & 7.1 & Move arm to safe transport pose \\ \hline \hline \end{tabular}
\end{table}
Table 1: The use-case workflow. Workflows can be re-used with different parameters.  
Figure 6: Steps from the use-case workflow. Scanning the tag **(a)** The arm is an a position where the wrist cam can scan for the Aruco tag that is fastened of the material rack (workflow step 3.1/3.2 in Table 1). and moving to the according picking position **(b)** From the tag pose, the robot calculates the pose of the pickup positions and moves the arm there (workflow step 3.4 in Table 1).