## 4 Method  
### Calibration of Uncertain Attitude Error of 3D Point Cloud  
According to Equations (4)-(7), we have obtained the 3D point cloud with correct shape relative to the coordinate frame \(O^{\prime}\), which can be called point cloud \(\boldsymbol{C}_{O^{\prime}}\). Next, we will correct the attitude error of point cloud \(\boldsymbol{C}_{O^{\prime}}\) according to the value of the angle \(\varphi_{\rm offset}\). The angle \(\varphi_{\rm offset}\) is calculated as follows. In the first step, the point cloud corresponding to the triangular plate (which is called \(\boldsymbol{C}_{\rm tri}\)) should be extracted from the point cloud \(\boldsymbol{C}_{O^{\prime}}\). We define a special area (the blue area in Figure 6), and the point cloud in this area is the point cloud \(\boldsymbol{C}_{\rm tri}\), which corresponds to the triangular plate, because there is only the triangular plate in this area and no other objects exist. The blue area in Figure 6 is a semi-ring. Its inner radius is 62.5 mm, outer radius is 115.5 mm and the thickness is 20 mm. The cut surface of the half ring is aligned with the axis \(Y^{\prime}\) of the coordinate frame \(O^{\prime}\), and the axis of the half ring coincides with the rotation axis of motor shaft. There is only the triangular plate in this area and no other objects are allowed to exist, otherwise, the extracted point cloud will not only be the point cloud corresponding to the triangular plate, it will be mixed with the point clouds of other objects. Therefore, we need to pay attention to the following two points. First, there should be no other objects (such as cables) around the triangular plate, it may affect the extraction of the triangular plate. Second, as for the blue area, it is necessary to shrink its size as much as possible while ensuring that the triangular plate is fully included in it, this can reduce the probability of objects other than the triangular plate being included in the blue area. Sincethe position of the coordinate frame \(O\)' is uncertain relative to the rotating unit, the position of the triangular plate relative to the defined area is also uncertain, but this uncertainty is within a certain range. Therefore, as long as the central angle of the blue ring area is big enough, it can be ensured that the triangular plate can be completely included in it. In our work, the central angle is set to \(180^{\circ}\), and then sufficient tests have been done. We found that in multiple tests of the 7 modes of our prototype, the triangular plate can be completely included in the defined blue area. In the second step, the 3D coordinates of all the points in the point cloud \(C_{\text{tri}}\) are averaged to calculate the center point \(c\) of the triangular plate. This is done to find the middle line of the triangular plate, which is the perpendicular line from the point \(c\) to the rotation axis of motor shaft. The angle \(\alpha\) between the middle line and the front direction of the prototype (which is also the direction of \(X\)-axis direction of coordinate frame \(O\)) is known. It is a constant value, which depends on the installation position of the triangular plate on the prototype. The angle \(\beta\) between the middle line and \(X\)'-axis of coordinate frame \(O\)' can be calculated according to the 3D coordinates of the point \(c\). According to the description above, the value of angle \(\beta\) is uncertain. The angle between the \(X\)-axis of the coordinate frame \(O\) and the \(X\)'-axis of the coordinate frame \(O\) is \(\varphi_{\text{offset}}\). It can be seen from Figure 6 that the calculation formula for the angle \(\varphi_{\text{offset}}\) is:  
\[\varphi_{\text{offset}}=\alpha-\beta \tag{10}\]  
Until now, we have calculated the deflection angle \(\varphi_{\text{offset}}\) of the coordinate frame \(O\)' relative to the coordinate frame \(O\) in the direction of \(Z\)-axis. Then, we can eliminate the uncertain attitude error of the 3D point cloud according to Equations (8) and (9).