# Design and Research of Intelligent Assembly and Welding Equipment for Three-Dimensional Circuit
## 3 Overall Equipment Scheme Design
### System Coordinate Unity
The coordinates of the point under the Base coordinate system [Base] are read in the SA software, and are denoted as O1; with the coordinate values \(X\), \(Y\), and \(Z\) of O1 as the origin,  
Figure 13: System coordinate system diagram. and the \(X\), \(Y\), and \(Z\) axes of the Base coordinate system [Base] as \(X\), \(Y\), and \(Z\) axes, the auxiliary coordinate system [Temp] is established, and then:  
\[ \begin{array}{c}\underset{Temp}{Base}T=\left[\begin{array}{cccc}1&0&0&X\\ 0&1&0&Y\\ 0&0&1&Z\\ 0&0&0&1\end{array}\right]\end{array}  \tag{2}\]  
The \(X\), \(Y\), and \(Z\) represent the initial values of the machine tool's motion axes when they move to the zero point. In the actual work process, it is necessary to add the distance of each movement axis along the \(X\), \(Y\), and \(Z\) axis. (2) Install a calibration plate in a position with a wide field of view, which requires the calibration plate to be within the field of view of the camera. Place another target ball on the target base of standard specifications, and then attach the calibration plate to collect the fitting plane of multiple points, and translate the fitting plane along the normal direction of the plane to the standard height size of the target base to obtain the calibration plate plane. (3) The machine tool should be controlled to move to a position in front of the calibration plate, which should ensure that the round hole P on the calibration plate is within the range of the point cloud camera. Then, use the hole position of the point cloud camera to identify and determine the coordinate \({}^{S}p\) of the round hole on the calibration plate under the point cloud camera coordinate system [Sensor]. The value of O1 at this time was read in the SA software, and the auxiliary coordinate system [Temp] was re-established according to step (1). At the same time, the target ball was placed on the round hole of the calibration plate to collect the point position for several times, and a point was obtained by fitting. The actual position of the hole was projected to the plane of the calibration plate, and the coordinates \({}^{T}p\) of the point under the auxiliary coordinate system [Temp] were viewed in the SA software. (4) Take the coordinate values of point p, respectively, in the point cloud camera coordinate system and the auxiliary coordinate system as a set of data, change the pose of the calibration board, repeat step (3). In order to ensure the accuracy of the calibration, it is necessary to obtain at least 10 groups of data, which are recorded as \({}^{S}p\big{\{}^{S}p_{1},^{S}p_{2},\cdots,^{S}p_{n}\big{\}}\) and \({}^{T}p\big{\{}^{T}p_{1},^{T}p_{2},\cdots,^{T}p_{n}\big{\}}\). (5) Finally, the conversion relationship between the point cloud camera coordinate system [Sensor] and the auxiliary coordinate system is solved using the obtained data. [Temp]. Since the pose relationship between the auxiliary coordinate system [Temp] and the Base coordinate system [Base] can be measured according to the laser tracker and read directly in the SA software, the hand-eye calibration of the binocular vision camera can be completed via the corresponding coordinate system transformation according to Equation (1). The relevant coordinate system transformation during calibration is shown in Figure 14.  
Figure 14: Coordinate system conversion for point cloud camera calibration. The SVD decomposition method is used to solve the rotation matrix and shift matrix between the point cloud camera coordinate system [Sensor] and the auxiliary coordinate system [Temp]. It should be noted that the coordinate system of the point cloud camera itself is the Cartesian left-hand coordinate system, so it is necessary to pre-process the values of \(Z\) coordinates of all points in the system in reverse. After data preprocessing, the specific solution process is as follows:  
(1) Solve the center of point set \({}^{S}P\) and \({}^{T}P\):  
\[