# Implementation and Evaluation of Dynamic Task Allocation for Human-Robot Collaboration in Assembly
## 2 Materials and Methods
### Study Design and Evaluation Methodology
#### 2.3.1 Experimental Setup and Task Allocation Modes
gripper without the possibility of hardware reconfiguration, screwing tasks were classified as only executable by human workers. The same applies to the inspection process step, as the robot is not equipped with a vision system for optical inspection. Figure 13: Assembly component for user study: (**a**) exploded view; (**b**) assembled real components; (**c**) assembly precedence graph for one assembly component. Next, we created the sub-processes with the respective task sequences for the human and the robot (cf. Figure 8). For the robot tasks, the required waypoints to pick-and-place each block and each top plate onto the bottom plate were taught by guiding the robot in free drive mode physically into the desired position. Then, a name was defined, and the waypoint was saved in the robot system dashboard of the _ConvFlow_ process flow editor. After all HRC sub-process nodes were created, the assembly processes for one component, three components, and for the different task allocation modes, respectively, to be investigated in the study were created and saved (see, e.g., Figure 10 for the created assembly process of one component in dynamic task allocation mode). We defined the following four different task allocation modes that are investigated in the study:  
* **Manual assembly** Execution of the assembly process exclusively by humans. For this purpose, all HRC process nodes are classified as \"human\" and thus the corresponding worker assembly instructions are displayed on the screen for all steps. * **Collaborative assembly--static task allocation with asymmetric planning** Execution of the assembly in human-robot collaboration, with an intuitive distribution of the tasks between the resources. Here, the human takes over all assembly operations of the bottom plate and the robot executes all assembly operations of the top plate. Since the bottom plate requires additional screwing tasks, parallel sequences of different lengths are created, which is why the mode is referred to as static-asymmetric in the following for simplicity. The individual HRC nodes of the assembly process are each classified as either human or robot during process creation to allow no flexibility in task assignment. Additionally, the order in which the tasks are performed is fixed. * **Collaborative assembly--static task allocation with time-optimized planning and iterative, experimental fine-tuning** Execution of assembly in human-robot collaboration, with planning of task assignment based on the estimated task times, followed by testing and experimental fine tuning of the order of the sub-processes by the first three authors. Here, the robot additionally takes over the placement of the blocks on the right bottom plate, thus the estimated times of the parallel assembly sequences are harmonized. This task allocation mode requires a higher planning effort and is called static in the following. * **Collaborative assembly--dynamic task allocation** Execution of the assembly in human-robot collaboration, where the task allocation decision is made dynamically according to the approach for dynamic task allocation described in Section 2.2.2. The sub-processes, which can be executed in any order, are therefore not defined with a fixed sequence, but are created in parallel in accordance with the assembly precedence graph in Figure 13c. The decision about the task sequence, i.e., the selection of the sub-process to be executed next in each case, is therefore also made automatically following the logic of the explained dynamic task allocation approach. However, we set a priority \(P\) of one to three for the bottom plate preassembly tasks so that the algorithm prefers to assemble the bottom plates from left to right. The classification of the individual sub-processes is set according to the information about the executability of the step by the respective resource (human, robot, or human/robot for tasks that can be executed by both resources).