# Comparison of Single-Arm and Dual-Arm Collaborative Robots in Precision Assembly
## 2 Materials and Methods
### Robotic Cell  
A comparative evaluation of two variants (Figure 2) of collaborative robots for the assembly task was carried out in ABB's RobotStudio. The most important functions and capabilities of the RobotStudio environment used for the analysis are:  
Figure 1: Assembled parts. 1—Computer motherboard, 2—Processor, 3—RAM module. construction and 3D visualization of a robotic station allowing one to observe how the station works and how the robot moves during the assembly process before implementation in the real environment,
* offline programming of a collaborative robot means creating a program, as well as its editing, testing and optimization without the requirement of physically working with the robot,
* communication between the robot, external and peripheral devices and sensors makes it possible to conduct a full simulation of the entire production station and also enables subsequent implementation of ready-made programs to all devices, not only the robot,
* a library of functions in which many ready-made solutions can be used to quickly create simulations, including smart components for dynamic conversion of station inputs and outputs,
* simulation of the robot and objects of the entire station in order to test and optimize the robot's movement trajectory, but also additional results of the robot's work such as collisions, speeds, accelerations, energy consumption and many others,
* a realistic user interface for offline programming that significantly mirrors online programming, for example a virtual operator panel (FlexPendant). In these studies, two collaborative robots are compared in single- and dual-arm versions. Figure 2 shows the compared ABB YuMi IRB 14000 and ABB YuMi IRB 14050 collaborative robots with a lifting capacity of 0.5 kg per arm with a dedicated 0.2 kg gripper attached. Both robots are equipped with grippers with one servo module (Figure 3). The grippers are integrated with vision and vacuum to increase the precision of the tasks performed. Figure 3: The gripper of the YuMi ABB collaborative robot [19]. Figure 2: Collaborative robots: single-arm ABB YuMi IRB 14050 (**a**) and dual-arm ABB YuMi IRB 14000 (**b**) [44]. The station was equipped with a conveyor belt and a plastic container designed specifically for the robotic production line used to assemble parts on the computer motherboard using the ABB YuMi collaborative robot. The view of the station with one and two-arm robot is shown in Figures 4 and 5. The single-arm robot takes and presses RAM number 1 first, then RAM number 2 and finally the processor. The dual-arm robot arms perform RAM assembly at the same time. The left arm takes RAM No. 1 and the right arm No. 2. Then, the left arm mounts the processor and the right one at the same time presses the memory in the sockets. Synchronization of the movements of the left and right arms can be achieved by programming each arm separately, taking into account the collision detection function, so that any user errors do not cause a system failure. In this approach, each of the robot arms is treated as a separate robot but controlled by the same controller. The recommended solution is the MultiMove function and the RAPID SynMoveOn instruction, which allows for coordinated movement of both robot arms. The flowchart of tasks performed by robots is shown in Figure 6. Figure 7 (single-arm robot) and Figure 8 (dual-arm robot) show the  
Figure 4: View of the station with a single-arm robot. Figure 5: View of the station with a single-arm robot. TCP trajectory of the robot for the assembly task using the built-in TCP Trace function, which is a module designed to visualize the tool center point (TCP) motion trajectory [8]. Figure 9 shows the outline of the motion trajectory for a dual-arm robot, and Figure 10 shows the trajectory for a single-arm robot. The following designations are adopted: 1--starting position of the arm, 2--RAM memory acquisition position, 3--RAM memory installation position, 4--RAM memory clamp position, 5--processor acquisition position, 6--processor installation position.