# 3D Point Cloud Generation Based on Multi-Sensor Fusion
## 3 A Method of 3D Point Cloud Generation by Multi-Sensor Fusion
### Attitude Angle Optimization Algorithm  
RTS filtering smoothing only corrected the two attitude angles of heading and pitch and not the roll angle. The roll angle error in the generation of three-dimensional point cloud led to a torsion of point cloud. We used a high-precision inclinometer to constrain the roll angle of the entire inertial navigation system. Due to the high acquisition frequency of inertial navigation data, the attitude angle was prone to periodic high-frequency jitter, resulting in the deformation of the generated three-dimensional point cloud data. For this, the recursive average filtering algorithm was used to optimize the three-axis attitude angle and suppress the periodic noise interference at high acquisition frequency.  
(1) Inclinometer correction  
The roll angle was first corrected according to the high-precision inclinometer. Since the static measurement accuracy of the inclination angle is high, the error in the dynamic measurement becomes larger; therefore, the IMU roll angle is corrected using the static angle measurement at the start and end of the trolley scan. The IMU and inclinometer roll angles measured in the static state before the trolley scanning starts are recorded as \(\gamma_{imua}\) and \(\gamma_{imca}\), and the difference between the two is calculated as \(\Delta\gamma_{a}\). After the trolley scanning, the statically measured IMU and inclinometer roll angles are recorded as \(\gamma_{imub}\) and \(\gamma_{imcb}\), and the difference is calculated as \(\Delta\gamma_{b}\). Figure 15 shows the inclinometer roll angle and IMU roll angle.  
Figure 15: Inclinometer roll angle and IMU roll angle.  
First, the roll angle of the IMU was modified according to the inclinometer data, and then the error was evenly distributed according to the scan time. Assuming that the overall scan time was \(T_{ab}\), and the starting time was \(t_{0}\), then the IMU data \(t_{i}\) now are \(\gamma_{imu}i\), and the roll angle at this moment is  
\[\gamma_{i}=\gamma_{imu}i+\Delta\gamma_{a}+(t_{i}-t_{0})\frac{\Delta\gamma_{b}- \Delta\gamma_{a}}{T_{ab}} \tag{32}\]  
(2) Recursive Averaging Filter  
Since the attitude angle collected by IMU had the characteristics of a high collection frequency and periodic change, the attitude angle was prone to periodic high-frequency jitter. To avoid impact on the point cloud generation, a method of recursive average filtering was used to optimize the corrected three-axis attitude angle to suppress this high-frequency periodic error interference.  
The recursive average filtering method regarded \(N\) consecutive sampling values as a queue, and the length of the queue was fixed as \(N\). Each time a new data point was sampled and placed at the end of the queue, the original data at the head of the queue were discarded according to the principle of first-in, first-out. The \(N\) data in the queue were arithmetically averaged to obtain a new filtering result. It had a good inhibitory effect on periodic interference, and the smoothness was high, which was suitable for high-frequency oscillation systems. Figure 16 shows the comparison curve before and after recursive average filtering. It was seen from the filtered and the original attitude angles that while maintaining the overall consistency, the method eliminated high-frequency jitter and oscillation, and the data was smooth and more stable.