## 4 Method
### Calibration of Installation Error of Triangular Plate  
In the actual tests, we found the following problems. Due to the installation error of the triangular plate on the prototype, the actual value of the angle \(\alpha\) is inconsistent with the expected value (which is \(30^{\circ}\)), this will make point cloud \(\mathbf{C}_{O}\) still have an attitude error. Even seemingly trivial installation errors can result in obvious attitude error of point clouds \(C_{O}\). Unlike the uncertain attitude error described above, the attitude error here is constant. In order to calibrate this error, we need to find the optimal estimated value \(\mathbf{\mathit{a}}^{*}\). This is an optimization problem. Since this error originates from the installation error of the triangular plate, only one calibration is required for this error, unless the installation position of the triangular plate has been changed, that is, it has been removed and reinstalled. If the installation position of the triangular plate has been changed, the error needs to be calibrated again. We need to quantify the attitude error of the point cloud \(C_{O}\). Through the work described above, the point cloud \(C_{O}\) is already known. We collect the 3D point cloud of the conference room once again according to the method described in Figure 1, and perform the following processing on the 3D point cloud. We extract the planes corresponding to the 4 walls of the room, and calculate their unit normal vectors \(\mathbf{n}_{1}\), \(\mathbf{n}_{2}\), \(\mathbf{n}_{3}\), \(\mathbf{n}_{4}\) (this can be done through Point Cloud Library [31]), as shown in Figure 7.  
Theoretically, the 3D point cloud in Figure 7 should not be skewed relative to the conference room. However, due to the installation error of the triangular plate, the actual value of the angle \(\alpha\) is inconsistent with the expected value, resulting in a slight angular deflection of the 3D point cloud in the direction of \(Z\)-axis. This causes the attitude error of the point cloud \(C_{O}\). This error is denoted as \(E_{\text{atti}}\), and we quantify \(E_{\text{atti}}\) by Formula (11)  
\[E_{\text{atti}}=|\mathbf{n}_{1}\cdot\mathbf{i}|+|\mathbf{n}_{3}\cdot\mathbf{i}|+|\mathbf{n}_{2}\cdot \mathbf{j}|+|\mathbf{n}_{4}\cdot\mathbf{j}| \tag{11}\]  
In Formula (11), we quantify the attitude error \(E_{\text{atti}}\) of the point cloud \(C_{O}\) through the sum of the absolute values of the inner product of the unit vector. The vectors \(\mathbf{n}_{1}\), \(\mathbf{n}_{2}\), \(\mathbf{n}_{3}\), \(\mathbf{n}_{4}\) are unit normal vectors extracted from the point cloud \(C_{O}\), and they correspond to the 4 walls shown in Figure 7. The vectors \(\mathbf{i}\) and \(\mathbf{j}\) are unit vectors of the \(X\)-axis and \(Y\)-axis of the coordinate frame \(O\), respectively. The vectors \(\mathbf{i}\) and \(\mathbf{j}\) are fixed because the coordinate frame \(O\) is fixed relative to the stationary part of the prototype, the positive direction of \(X\)-axis parallel to the front direction of the prototype (see Section 3.2). In Figure 7, we put the prototype in the conference room in a fixed and not-skewed way. Therefore, the coordinate frame \(O\) is fixed and not-skewed relative to the conference room. If there is not any skew for point cloud \(C_{O}\) relative to coordinate frame \(O\), the vectors \(\mathbf{n}_{1}\) and \(\mathbf{n}_{3}\) are perpendicular to the vector \(\mathbf{i}\), and the vectors \(\mathbf{n}_{2}\) and \(\mathbf{n}_{4}\) are perpendicular  
Figure 7: Extract the planes corresponding to the 4 walls of the conference room, and calculate their unit normal vector. (**a**) The top view of the room, where the red bold line is the walls used to extract the planes. Our selection criterion is as follows. The area of the walls should be large so as to facilitate the extraction of the planes.