1. Goal
Understanding the overall structure of the LOAM project and try to compile it without ROS
2. Theory
Paper: Lidar Odometry and Mapping in Real-time
Problem: error in motion estimation cause mis-registration
Solution: propose 2 odometry
- High frequency, low accuracy
- Low frequency, high accuracy
Some key point
- feature extraction: based on curvature, only a(A) is considered as a good feature point
Only a few feature point in a location (avoid density in-balance)
Can’t on the parallel surface and blocked area
Need to deal with the distortion (since the robot is moving)
Find the matching
Goal: minimize the distance (point to line and point to surface)
$d_{\xi}=\frac{|(\tilde{X}^L_{(k+1,i)}-\overline{X}^L_{(k,j)})×(\tilde{X}^L_{(k+1,i)}-\overline{X}^L_{(k,l)})|}
{|\overline{X}^L_{(k,j)}-\overline{X}^L_{(k,l)}|}. \tag{2}$$d_\mathcal{H}=\frac
{\begin{vmatrix}
(\tilde{X}^L_{(k+1,i)}-\overline{X}^L_{(k,j)})·((\overline{X}^L_{(k,j)}-\overline{X}^L_{(k,l)})×(\overline{X}^L_{(k,j)}-\overline{X}^L_{(k,m)}))
\end{vmatrix}
}
{\begin{vmatrix}
(\overline{X}^L_{(k,j)}-\overline{X}^L_{(k,l)})×(\overline{X}^L_{(k,j)}-\overline{X}^L_{(k,m)})
\end{vmatrix} }.$Movement: linear interpolation
Building the Map: using the existing map to correct the movement estimation
Since computation complex, so low frequency (1/10 of the odometry)
Correct the whole map
3. Dependencies
PCL
VTK
1 | brew edit vtk |
gtsam
Ceres-solver