# Fast Lidar Inertial Odometry and Mapping for Mobile Robot SE(2) Navigation
## 3 Methodology
### Point-Cloud De-Skewing
Note that this paper aimed not to eliminate these perturbations but to reduce their influence on pose estimation effectively. The corresponding maps generated by our method are shown in Figure 2. For convenience, we label the self-collected datasets corresponding to Figure 2b,c as _Garden_ and _Bumpy_, respectively. The environment of _Garden_ was relatively open, mainly containing many trees and bushes, but the ground was relatively flat. The _Bumpy_ dataset represented a bumpy and complex environment with multiple large and small pits in the ground. F-LIOM was capable of accomplishing mapping in all tested conditions. As supplementary material, the mapping and robot movement videos recorded by the camera can be found using the links in Appendix A. The robot moved a long distance and then returned to the vicinity of the initial position or revisited the scenes that were passed by to verify the place recognition. Figure 3 provides the complete trajectory generated by FLOAM, LIO-SAM, LeGO-LOAM, and our method using the _Garden_, _Bumpy_, and public _Park_ datasets [14]. Because there was no ground truth, we first aimed to show that our method could achieve the same localization accuracy as the state-of-the-art methods FLOAM, LIO-SAM, and LeGO-LOAM, thus proving the effectiveness and versatility of the proposed approach. It should be emphasized that although the perturbations are considered in this paper, the robot model is still parameterized as SE(2), so the z axis is always meaningless. FLOAM, LIO-SAM, and LeGO-LOAM assume that the robot pose exists in SE(3), where the z axis will drift during robot movement, even if the robot moves on flat ground in practice. In order to fairly evaluate the results of the different methods, the trajectory results were preprocessed before comparison. We replaced all the z-axis trajectories with 0 for the comparison of the translation part. The SLAM accuracy assessment tool evaluation of odometry (EVO) [38] was used to calculate the absolute trajectory error (ATE) of FLOAM, LIO-SAM, and LeGO-LOAM. Taking the trajectory from our method as a reference, the detailed data for comparing the different ATE results are shown in Table 1.

Figure 2: (**a**) The primary sensors included IMU and 3D Lidar, and the camera was only used to record scenes. (**b**) An open area and multiple trees. (**c**) _Bumpy_ ground and aircraft with distinctive features. The zoomed-in subfigures show the loop closure connected by the red line. As is shown, the error between the trajectory generated by our method and the trajectories generated by LIO-SAM and LeGO-LOAM was close to zero, indicating that our method achieved the same accuracy as LIO-SAM and LeGO-LOAM. LIO-SAM_FixZ denotes a particular set of experiments, where we set the z axis of LIO-SAM throughout to 0 during the optimization process. The accuracy of LIO-SAM_FixZ was the same as that of LIO-SAM, but its running time was longer, which will be explained later. The trajectory of FLOAM had a significant deviation from the other methods. We ran the different datasets to verify the performance of F-LIOM in loop closure. A list of parameters pertaining to the smoothness scan context used in the experiment is shown in Table 2. The test datasets consisted of the self-collected _Garden_ and _Bumpy_ and the public _Park_ datasets. The scenarios recorded by these datasets were considered very challenging for loop closure detection because they contained many factors that are not conducive to place recognition, such as reverse and forward visits and similar geometric structures and objects. Figure 4 shows the loop closure based on the smoothness scan context proposed in this paper, where each of the loop closure points identified is marked with a red dot, and the detected loop pairs are connected by the black line.