You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: wiki/state-estimation/lio-sam-velocity-undistortion-and-dynamic-filtering.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ The detailed explanation of the LIO-SAM algorithm and its configuration settings
19
19
20
20
After the point cloud map is built, we will also describe a simple approach for removing dynamic obstacles and outliers from the map. Our goal is to generate a static, clean, and high-quality 3D point cloud map.
21
21
22
-
# Dependencies
22
+
##Dependencies
23
23
Our improved version is tested with ROS2 Humble on Ubuntu 22.04.
24
24
25
25
Refer to the [Dependencies](https://github.com/TixiaoShan/LIO-SAM/tree/ros2) in LIO-SAM's github ros2 branch.
@@ -44,7 +44,7 @@ Use the following script to install [Sophus](https://github.com/strasdat/Sophus.
44
44
bash install_sophus.sh
45
45
```
46
46
47
-
# Installation
47
+
##Installation
48
48
Use the following commands to compile the package:
49
49
50
50
```
@@ -54,7 +54,7 @@ git checkout ros2-velocity
54
54
bash build_lio.sh
55
55
```
56
56
57
-
# Run the package
57
+
##Run the package
58
58
The source command is already written in the script:
- enable_distortion_function: Open if you want to use distortion correction algorithm
78
78
- use_imu: Use IMU data in distortion function
79
79
- use_velocity: Use velocity data in distortion function
80
80
81
-
## IMU Settings
81
+
###IMU Settings
82
82
- extrinsicTrans: Translation between LiDAR and IMU
83
83
- extrinsicRot, extrinsicRPY: Rotation between LiDAR and IMU
84
84
85
-
## Loop Closure
85
+
###Loop Closure
86
86
- loopClosureEnableFlag: Open loop closing
87
87
- historyKeyframeFitnessScore: ICP matching threshold, adjust it if loop closing performance is bad
88
88
89
-
# Distortion Correction Module
89
+
##Distortion Correction Module
90
90
LiDAR motion distortion occurs when the sensor or robot moves while a frame is being captured. Since a rotating LiDAR does not measure all points at the same instant, different parts of the point cloud correspond to slightly different sensor poses. This can cause straight walls to appear curved, objects to shift position, and scan matching accuracy to degrade. The rotation distortion video is shown [here](https://drive.google.com/file/d/1KnMkAbJXtDpj2OJxOIoW3D4nRNeQGs_S/view?usp=sharing).
91
91
92
92
In LIO-SAM, IMU measurements are used to estimate the sensor’s rotational motion during each scan and correct, or “undistort,” the point cloud before mapping. However, translational motion of the sensor is not fully accounted for. When the vehicle moves at high speed, this translation-induced distortion can become significant and may degrade mapping quality.
Dynamic obstacle filtering is applied after the initial map is constructed to remove points caused by moving objects, such as vehicles, pedestrians, or cyclists. These dynamic points may appear as ghost artifacts or inconsistent structures in the map because they do not belong to the static environment. By identifying and removing them from the generated point cloud map, the final map becomes cleaner, more reliable, and better suited for localization and navigation.
105
105
106
106
A simple way to remove these dynamic obstacles is through manual selection. We use CloudCompare to edit and refine point cloud segments in the map. For example, in a map generated by LIO-SAM, many unwanted dynamic obstacles and outliers may remain. In CloudCompare, the Segment tool can be used to select the areas that need to be removed, as shown below:
@@ -116,7 +116,7 @@ After applying multiple segmentation steps across the map, merge all remaining s
116
116

117
117
The white points represent the filtered dynamic obstacles, while the colored points represent the remaining static map.
118
118
119
-
# Future Work
119
+
##Future Work
120
120
Several improvements can be added in future work. First, GNSS measurements can be integrated as an elevation drift constraint during mapping. This would help reduce vertical drift and improve map consistency, especially in large-scale outdoor environments.
121
121
122
122
Second, better visualization tools can be developed to make the mapping and filtering results easier to inspect. Clear visualization of trajectory quality, point cloud alignment, removed dynamic objects, and map consistency would help with debugging and evaluation.
0 commit comments