# IMU-Aided High-Frequency Lidar Odometry for Autonomous Driving
## 3 The Proposed Approach
### Pre-Processing Step 1: Lidar-IMU Hand-Eye Calibration  
As described before, the lidar point clouds are represented in the lidar coordinate system \(\{L\}\). Taking the lidar point clouds of two frames \(f_{\rm k-1}^{\rm L}\) and \(f_{\rm k}^{\rm L}\) as inputs, we can calculate \(\triangle\mathbf{T}_{\rm k-1,k}^{\rm L}\) by the lidar odometry algorithm. \(\triangle\mathbf{T}_{\rm k-1,k}^{\rm L}\) indicates the relative transformation in the coordinate system \(\{L\}\). However, the \(\triangle\mathbf{T}_{\rm k-1,k}^{\rm B}\) obtained from the IMU is expressed in the body coordinate system \(\{B\}\)  
Figure 4: Schematic diagram of the simplified vehicle motion model. The black car represents the previous position of the vehicle, and the blue car indicates its current position. During a time period, the left rear wheel travels a distance of \(\triangle sl\), and the right rear wheel travels \(\triangle sr\). Therefore, in order to utilize the IMU information, we need to establish the relationship between \(\{L\}\) and \(\{B\}\) first. The calculation of the relative transformation \(\mathbf{T}^{\text{BL}}\) between \(\{L\}\) and \(\{B\}\) is a typical hand-eye calibration problem. Based on \(\mathbf{T}^{\text{BL}}\), we can transform a point from the lidar coordinate system \(\{L\}\) to the body coordinate system \(\{B\}\):  
\[\mathbf{X}^{\text{B}}_{(\text{i},\text{b},\text{k})}=\mathbf{T}^{\text{BL}}\mathbf{X}^{ \text{L}}_{(\text{i},\text{b},\text{k})}\,. \tag{9}\]  
According to [22], we can formulate the hand-eye calibration problem between the coordinate system \(\{L\}\) and \(\{B\}\) as:  
\[\triangle\mathbf{T}^{\text{B}}_{\text{k},\text{k}-1}\,\mathbf{T}^{\text{BL}}=\mathbf{T}^{ \text{BL}}\,\triangle\,\mathbf{T}^{\text{L}}_{\text{k},\text{k}-1}\,. \tag{10}\]  
\(\triangle\,\mathbf{T}^{\text{B}}_{\text{k}-1,\text{k}}\) and \(\triangle\,\mathbf{T}^{\text{L}}_{\text{k}-1,\text{k}}\) are inputs of Equation (10). Let the timestamps of frames \(\mathbf{f}^{\text{L}}_{\text{k}}\) and \(\mathbf{f}^{\text{L}}_{\text{k}-1}\) be \(\tau^{\text{L}}_{\text{k}}\) and \(\tau^{\text{L}}_{\text{k}-1}\), respectively. We firstly find the nearest timestamps \(\tau^{\text{B}}_{\text{k}}\) and \(\tau^{\text{B}}_{\text{k}-1}\) from the IMU, then \(\mathbf{T}^{\text{WB}}_{\text{k}}\) and \(\mathbf{T}^{\text{WB}}_{\text{k}-1}\) can be obtained. The relative transformation \(\triangle\,\mathbf{T}^{\text{B}}_{\text{k}-1,\text{k}}\) can be computed by Equation (1). We then use \(\triangle\,\mathbf{T}^{\text{B}}_{\text{k}-1,\text{k}}\) as the initial guess and \(\triangle\,\mathbf{T}^{\text{L}}_{\text{k}-1,\text{k}}\) can be obtained from the lidar odometry. Equation (10) can be solved by calculating the rotational and translational component separately. The rotational component is:  
\[\triangle\,\mathbf{R}^{\text{B}}_{\text{k},\text{k}-1}\,\mathbf{R}^{\text{BL}}=\mathbf{R} ^{\text{BL}}\,\triangle\,\mathbf{R}^{\text{L}}_{\text{k},\text{k}-1}\,, \tag{11}\]  
and the translational component is:  
\[\triangle\,\mathbf{R}^{\text{B}}_{\text{k},\text{k}-1}\,\mathbf{p}^{\text{BL}}+ \triangle\,\mathbf{p}^{\text{B}}_{\text{k},\text{k}-1}=\mathbf{R}^{\text{BL}}\, \triangle\,\mathbf{p}^{\text{L}}_{\text{k},\text{k}-1}+\mathbf{p}^{\text{BL}}\,. \tag{12}\]  
There are many methods to solve Equations (11) and (12). According to [23], the method proposed by [PERSON] et al. [24] exhibits the best performance. We therefore chose to use this method. In our approach, multiple pairs of transformation \(\triangle\,\mathbf{T}^{\text{L}}_{\text{i},\text{i}-1}\) and \(\triangle\,\mathbf{T}^{\text{B}}_{\text{i},\text{i}-1}\) are needed. To reduce the error of hand-eye calibration [25; 26], the following requirements need to be met:  
* To avoid the intra-frame distortion caused by the vehicle's own movement, the frames should be chosen when the vehicle is stationary. * The relative rotation angle of the two frames needs to be greater than 90 degrees, and the relative translation distance should be small.