LOAM: Lidar Odometry and Mapping in Real-time

LOAM算法通过特征点提取、对应寻找、运动估计和里程计算法实现激光雷达的实时定位与建图。首先,根据表面平滑度选取边点和平面点;然后,通过重投影和3D-kdtree寻找特征点对应;接着,利用边点和平面点估计雷达运动;最后,在建图阶段,将每一帧无畸变的点云配准到全局地图中,扩展地图并更新雷达在地图中的位姿。整个过程在低频率下进行,保证了实时性能。

目录

文章主要算法分为5个小部分:

A. Feature Point Extraction

定义评价表面平滑程度smoothness的计算方法如下:
在这里插入图片描述
根据smoothness程度选取关键特征点,一帧内最大的几个点为edge points,一帧内比较小的几个点为planar points。
为了均匀的分配环境的特征点,我们把一根扫描线scan分为4块相同的子区域。每一个子区域提供最大2个边线点和4个平面点。一个点能被选成一个边线或者平面点的条件是:只有它的c值大于或者小于一个阈值,同时被选中的点的数目不能超过最大值。
两种情况下的点不能被选为特征点:

  1. 平行于雷达发射laser beam的点不能选

  2. 在遮挡处的角点不能选,换了个角度可能就是一个普通可观测的点

B. Finding Feature Point Correspondence

论文里面讲的是里程计估计的是一帧内(a sweep)的运动,用 T k T_k Tk表示一帧数据k的开始。在每一帧扫描的末尾,会把这期间扫描到的点云 P k P_k Pk 重投影到第k+1帧 t k + 1 t_{k+1} tk+1,同时用符号 P k ˉ \bar{P_k} Pkˉ表示重投影的点云。在下一帧k+1扫描的时候, P k ˉ \bar{P_k} Pkˉ P k + 1 P_{k+1} Pk+1被一起用来估计lidar的运动。

假设现在 P k ˉ \bar{P_k} Pkˉ P k + 1 P_{k+1} Pk+1两帧数据都有了,然后现在通过这两帧数据来找相关性correspondences。根据 P k + 1 P_{k+1} Pk+1数据,我们可以通过上一节提到的方法来找到边界点和平面点。我们用 ξ k + 1 \xi_{k+1} ξk+1 H k + 1 H_{k+1} Hk+1分别表示边界点和平面点的集合。我们可以从 P k ˉ \bar{P_k} Pkˉ找到边界线与 ξ k + 1 \xi_{k+1} ξk+1里面的点对应,平面点和 H k + 1 H_{k+1} Hk+1中的点对应。

在第K+1帧数据sweep刚开始扫描的时候, P k + 1 P_{k+1} Pk+1还是一个空的集合。当随着雷达扫描的时候, P k + 1 P_{k+1} Pk+1里面的点慢慢变多。随着 P k + 1 P_{k+1} Pk+1集合里面的点慢慢变多,里程计递归的估计雷达6自由度的姿态运动估计。在每次迭代的过程中, ξ k + 1 \xi_{k+1} ξk+1 H k + 1 H_{k+1} Hk+1都会被重投影到当前的位姿估计下的帧的开始处。我们用 ξ ~ k + 1 \widetilde\xi_{k+1} ξ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值