# Implementation and Evaluation of Dynamic Task Allocation for Human-Robot Collaboration in Assembly
## 2 Materials and Methods
### Dynamic Task Allocation Module
#### 2.2.1 Planning Procedure  
This article primarily focuses on the real-world realization phase of the assembly planning process. Therefore, the following inputs are assumed to be given from assembly draft planning:  
* Assembly priority chart;
* Task time estimation;
* Task classification.  
The assembly priority chart (or assembly precedence graph) is a typical planning document that is created along the phases of the assembly planning process [49], regardless of whether it is a manual, hybrid, or fully automated assembly process. The task time estimation can be carried out with the help of different time determination methods. Depending on brownfield or greenfield planning, time measurement, MTM for human execution times, and MTM-HRC [50] for estimation of robot execution times can be used. The task classification contains information about whether a task can in principle be performed by the human, by the robot, or by both. In the following, we denote tasks that can only be performed by the human or by the robot, respectively, as tasks with unambiguous task classification. In order to systematically assess the information about task classification, various methods have been proposed in the state of research, such as [26; 35] (see also Section 1.2).  
Given these input data, the process for realization and execution of the assembly process covered by the system proposed in this article is shown in Figure 4. First, the  
Figure 4: Process for implementation and execution of assembly processes with the software framework and illustration of the conceptual user interfaces.  
planning or commissioning personnel creates the individual tasks of the process. These tasks each include the separate definition of the human and robotic commands necessary to complete the task by the respective resource. For the human, this is typically a set of informational assembly instructions in the form of textual description and a visual illustration. A sequence of motion and gripping activities is typically defined for the robot, for which the corresponding waypoints for the robot need to be taught initially.  
After the creation of all sub-processes, the overall assembly process is created. This is performed by linking the individual tasks, which are represented as functional blocks (HRC nodes, see Figure 5), according to the given assembly priority chart. Finally, the task classification and time estimation are defined for each HRC node.  
Once the process has been created, it can immediately be tested in simulation using the digital twin and then be executed on the real human-robot assembly station, all within the same software framework.  
During execution, the _ComFlow_ process manager ensures the execution of the generated process flow according to the priority constraints and communicates with the dynamic task allocation module for the assignment of tasks to a human or robot. Depending on the assignment, the respective defined execution sequences are retrieved, and the commands are sent to the robot or the worker instruction system for execution by the respective resource. After finishing an executed task, the completion of the task is reported to the process manager based on the robot status or by active confirmation from the worker. Afterwards, the next tasks are assigned until the entire assembly process is completed.  
A conceptual depiction of the corresponding user interfaces for the realization and execution phase are shown in the lower part of Figure 4; further details on the actual implementation are given in Section 2.2.3.