LOAM 论文总结

*LOAM 论文总结

参考以下两篇文章:

  1. LOAM 论文及原理分析
  2. LOAM 论文 LIDAR MAPPING 部分翻译

**
LOAM全称是LOAM : Lidar Odometry and Mapping in real-time 在2014年发表在RSS上。
本文使用的激光是二维激光,加一个电机。从而实现40线,线之间的分辨率是0.25度。
本文主要分成两个部分:激光里程计建图
**

激光里程计

  1. 特征点提取:在激光点云数据中提取特征点(包括:边缘点和平面点)。为了使提取的特征点均匀分布,所以将以此扫描分成四等分,对每一份提取特征点。对每一个点通过其周围最近的5个点,计算曲率大小。通过对每一次扫描中的点的曲率进行排序。最大的前几个点就是边缘点,最小的几个点就是平面点。在提取过程中要避免提取到 与激光线平行的平面和遮挡的边缘点。因为通常认为这样的点是不可靠的,因为它们不能被任何时刻都被提取到。
  2. 特征点匹配关联:将当前帧的激光点云数据投影到上一帧上。通过 边缘点到边缘线的对应。首先找到边缘点i对应的上一帧数据中最近的两个点,然后判断这两个点是否是边缘点,j和l必须是不同的线上中的点,因为一次一个线在某一段中最多有一个边缘点。如下图中的图a所示,蓝色线是P¯k线扫探测到的边缘点,橙色线是相邻的线扫。平面点对应上一时刻中的平面。依然首先找到上一帧数据最近点,并在该线扫上找到另一点,再在相邻扫描线上找一点,这样就可以保证三个点不在一条线上组成一个平面。

有了点到线和点到面的对应关系,接下来就要求点到线和点到面的 距离。首先求点到线段的距离,公式如下图所示:
LOAM 论文总结
公式的分子是两个向量的叉乘,而叉乘后求模就变成了求两个向量构成的三角形的面积。公式的分母是向量的模相当于三角形底边的长。三角形面积除以一条边就可以求出该边到对应顶点的距离,也就是边角点到边角线的距离。直观上的理解如下图所示:
LOAM 论文总结
接下来求平面点到对应平面的距离,距离公式如下图所示:
LOAM 论文总结
3. 运动估计
假设激光是在匀速运动的,所以如果知道了一帧数据终止点相对于起始点的转换矩阵,就可以对这一帧数据中的任意点按照其获得时相对于起始点的时间进行插值。获得每一个点的位姿。插值公式如下图所示:
LOAM 论文总结
为了获得这一帧数据中的点和上一帧数据中点的对应关系,我们使用一个旋转矩阵R和一个平移量T表示。
LOAM 论文总结
由于旋转矩阵求导非常复杂,所以用罗德里杰斯公式将旋转矩阵R展开为:
LOAM 论文总结
这样就很容易对旋转矩阵进行求导。
到此我们有了点到线和面的距离,并获得用于优化的误差函数:
LOAM 论文总结
f中的每一行代表一个特征点,接下就要求解雅克比矩阵,最后使用LM的方法进行优化。
LOAM 论文总结
优化的过程中是对每一次迭代都寻找一次最近邻的点。
此时如果当前帧计算完成,则将当前的Pk+1P_k+1点云则在tk+2t_k+2时刻 转换到激光世界坐标系下。
**