# Influence of Drift on Robot Repeatability and Its Compensation
## 2 Methodology  
An industrial robot ABB IRB1200 5/0.9 [26] was chosen for the experiments. It is a compact angular six-axis robot with IP40 protection, which is designed for work in clean indoor spaces for applications such as packaging, handling, and assembly. According to the manufacturer, the repeatability of the manipulator is 0.025 mm, and the robot can be installed in any orientation at any angle. Table 1 contains the basic technical parameters of the robot. The forward reach of the robot is 901 mm with a load capacity of 5 kg. The experiments are performed at the workstation with a pair of the ABB IRB1200 robots. The robots are mounted on a pedestal so that their bases are not in a horizontal position but are inclined by an angle of 40\({}^{\circ}\) in the Y-axis of the world coordinate system of each of the robots (see Figure 1). This is not a standard mounting position of the robot. In this case, the first joint of the robot is loaded by torque even if it holds a position. This fact directly affects the accuracy and repeatability of the robot. The minimal delay for robot stabilization is set to 0.6 s and was determined by the three-axis accelerometers, fixed on two places directly on the robot's \begin{table}
\begin{tabular}{c c} \hline Position repeatability & 0.025 mm \\ Max. TCP speed & 8.9 m/s \\ Max. TCP acceleration & 36 m/s\({}^{2}\) \\ Acceleration time—1 m & 0.06 s \\ Robot weight & 54 kg \\ Robot payload (max.) & 5 kg \\ \hline \end{tabular}
\end{table} 
Table 1: Basic parameters of IRB1200 5/0.9 [26]. Figure 1: Thermal sensors, in detail on the second joint of the IRB1200 robot. the robot. This measurement was conducted during the previous research [25]. Although the arm can be considered stabilized after 0.6 s, the delay for repeatability measurement was set to 5 s for higher accuracy of data obtained by the measuring system. A temperature sensing system is necessary to ensure continuous measurement during the heating of the robot from ambient to operational temperature. The operational temperature is given, among other things, by the degree of load on individual joints during the work cycle. We performed a series of measurements for each joint to determine the optimal positions for temperature sensors. These measurements have been conducted using FLIR Ax5 thermal camera. From the images obtained from the FLIR, it is apparent that the major sources of heat are the joint gearboxes. Based on this knowledge, 25 digital temperature sensors (Dallas DS18B20) were installed, \"four\" sensors for each of the robot joints and \"one\" as an ambient temperature sensor, mounted on the pedestal of the robot. The thermal sensors were fixed by an aluminium tape (Figure 2) and for better heat distribution, a thermal compound was applied between a surface and the sensors. To verify the obtained measurement results, both workstation robots were equipped with thermal sensors. Data collection from these sensors is implemented via 1-Wire Bus (designed by Dallas Semiconductor) by a microprocessor system built on the ARM STM32 microprocessor platform, which pre-processes the obtained data, checks its integrity, and then sends the data via USB interface to the processing computer (Intel NUC). After processing, the data is then transferred to the robot controller via TCP/IP communication using the ABB PC SDK. Communication with displacement sensors (laser profiler and confocal sensor) is also implemented via TCP/IP interface using the appropriate libraries supplied by the manufacturer. The hardware connections are described in Figure 3.  
Figure 3: Block diagram of the measuring system. Figure 2: Heat distribution in the gearbox of the third joint of IRB1200 robot. The 3 DOF repeatability is evaluated by a measuring nest (Figure 4) consisting of a Keyence CL-3000 confocal sensor unit and a pair of Keyence LJ-X8080 laser profilers. The CL-3000 confocal displacement sensor with the CL-P015/L015 sensor head measures the distance to four points of the measured surface.