## 3 Robot Calibration Principle
### Base Coordinate Calibration of Multi Robots  
Since the robot collaboration needs to determine the positional relationship between the robots, two robots or even multiple robots can perform different processes on the same part to achieve an orderly and fast processing process. For the base coordinate calibration of dual-robot, the three-point measurement and marking method is proposed, which has the characteristics of being fast, low cost, high accuracy, and easy implementation. The calibration tool is fixed on the steel plate base between the two robots. The tool guide rod can be made in two different directions (can be vertical or horizontal) by adjusting the upper knob of the tool. After adjusting the position of the wire sensor, the locking screw should be locked (Figure). In Figure 3, \(\{B_{i}\}\) is the robot base coordinate system (\(i=1,2\) are robot 1, 2), \(\{T_{ij}\}\) is the robot tool coordinate system (\(j=1,2,3\) are the three points taught by the robot tool), \(\{G\}\) is the calibration tool base coordinate system, \(\{P_{k}\}\) is the calibration point coordinate system (\(k=1,2,3\); where \(p_{1}\), \(p_{2}\) are two non-coincident points along \(Z\)-axis direction of the base coordinate of the calibration tool \(\{G\}\), and \(p_{3}\) is the point along the \(X\)-axis direction of \(\{G\}\)), which satisfies that \(p_{1}\), \(p_{2}\) and \(p_{3}\) are coplanar. The purpose of the dual-robot calibration is to determine the transformation matrix \(H_{B_{2}}^{B_{1}}\) of the robot base coordinate system \(\{B_{1}\}\) relative to the robot base coordinate \(\{B_{2}\}\). The requirements for \(H_{B_{i}}^{G}\) are as follows:  
\[\Big{[}p_{k(B_{i})},1\Big{]}^{T}=H_{B_{i}}^{G}\Big{[}p_{k(G)},1\Big{]}^{T} \tag{3}\]  
\[H_{B_{2}}^{B_{1}}=H_{B_{2}}^  
The three-point measurement and marking method determines the position of the calibration point. As shown in Figure 4, the cable output end of the positioning wire sensor is the calibration point \(p_{k}\) which connecting the robot tool end adapter through the rope. The robot end adapter is taught to three points \(\left\{T_{ij}\right\}(j=1,2,3)\) (actually, there should be more than three points in the experiment). Measuring the length of \(\left\{T_{ij}\right\}\) to \(\left\{P_{k}\right\}\) as \(L_{ij,k}\), and reading the position of the coordinate system \(\left\{T_{ij}\right\}\) from the teach pendant as \(t_{ij}\), the position of the calibration point \(p_{k(B_{i})}\) can be calculated by the following formula  
\[\left\|t_{ij}-p_{k(B_{i})}\right\|=L_{ij,k} \tag{5}\]  
In Formula (5), \(\left\|\blacksquare\right\|\) is the Euclidean norm on Euclidean space \(R^{3}\). Figure 4: Principle diagram three-point measurement. Figure 3: Principle of dual-robot calibration. As shown in Figure 5a, it is determined that the unit direction vector \(\hat{X}_{G}\), \(\hat{Y}_{G}\), \(\hat{Z}_{G}\) of the calibration tool base coordinate system \(\{G\}\) is projected to the robot base coordinate system as \(\hat{X}_{G(B_{i})}\), \(\hat{Y}_{G(B_{i})}\) and \(\hat{Z}_{G(B_{i})}\). \[\left\{ \begin{array}{l}\hat{Z}_{G(B_{i})}=\frac{p_{1}^{2}}{\|p_{2}^{2}\|}= \frac{p_{1(B_{i})}-p_{2(B_{i})}}{\|p_{1(B_{i})}-p_{2(B_{i})}\|}\\ \\ \hat{Y}_{G(B_{i})}=\frac{\hat{Z}_{G(B_{i})}\times p_{2}^{2}}{\|p_{2}^{3}\|}= \frac{\hat{Z}_{G(B_{i})}\times\left(p_{3(B_{i})}-p_{2(B_{i})}\right)}{\|p_{3(B _{i})}-p_{2(B_{i})}\|}\\ \\ \hat{X}_{G(B_{i})}=\hat{Y}_{G(B_{i})}\times\hat{Z}_{G(B_{i})}\end{array} \right. \tag{6}\]  
In Formula (6), the positions of the calibration points \(p_{1}\), \(p_{2}\) and \(p_{3}\) are shown in Figure 5b. From \(p_{1}\), \(p_{2}\) are any two points in the \(Z_{G}\) direction, \(p_{3}\) is a point in the \(X_{G}\) direction, the formula can be determined:  
\[\left\{ \begin{array}{l}p_{1(G)}=(0,0,z_{1})\\ p_{2(G)}=(0,0,z_{2})\\ p_{3(G)}=(x_{3},0,0)\end{array} \right. \tag{7}\]  
In Formula (7), \(z_{1}\), \(z_{2}\) and \(x_{3}\) are variables which \(z_{1}\
eq z_{2};z_{1}\
eq 0\); \(z_{2}\
eq 0\); \(x_{3}\
eq 0\).