泡泡图灵智库,带你精读机器人顶级会议文章
标题:LeGO-LOAM: Lightweight and Ground-Optimized
Lidar Odometry and Mapping on Variable Terrain
作者:Tixiao Shan and Brendan Englot
来源:IROS 2018
编译:凌勇
审核:李阳阳
欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权
摘要
大家好,今天为大家带来的文章是——LeGO-LOAM: 面向复杂情况的轻量级优化地面的雷达里程计。
在嵌入式设备上实现了3D雷达的位姿估计算法,这个在实际中是很有必要的,因为很多的UGV由于它们的尺寸所限制,不具备携带高性能计算设备的条件。我们的算法能够在嵌入式平台上实时运行。我们首先使用点云分割来区分噪声,并提出平面特征和边缘特征。然后一个两步的LM优化方法会使用这些特征解决连续两帧之间的位姿。我们将我们的方法与当前最先进的LOAM进了比较,显示了LeGO-LOAM在复杂车辆数据集上使用更少的计算量达到了与LOAM相近甚至超越的性能。我们还将LeGO-LOAM集成到SLAM框架中,以消除位姿估计中的累计误差,在Kitti数据集上进行了测试。
主要贡献
1、本文提出的使用两步优化的算法分别计算z,横滚角,俯仰角以及x,y,偏航角。
2、集成了一个回环检测的算法以减小漂移。
3、提出了一个点云分割的方案,以减少噪声的影响以及计算量。
算法流程
图1 本文方法的完整流程图
系统由5个部分组成:首先是点云分割,将点云投影到一个范围图像中去分割。接下来是特征提取,然后雷达里程计估计位姿,特征会被处理后送到建图模块中,将它们配准到全局的点云地图中。最后,位姿集成模块使用位姿估计的结果和建图的结果获得最后的输出。
1、点云分割:
使用了《Fast Segmentation of 3D Point Clouds for Ground Vehicles》中的方法进行地面点的区分,然后使用《Fast Range Image-based Segmentation of Sparse 3D Laser Scans for Online Operation》的方法进行分割出组并打上标签,若组内点过少就会把这部分点视为不稳定的点给剔除掉。结果如图2(a)(b)所示:
图2 点云分割实例
2、特征提取
特征提取方法与LOAM中的方法类似,但是,相比与直接从原始点云数据中提取特征点。我们从已经分组的数据中提取特征,另S为从同一行中提取出的点的集合,使用从分割的过程中计算出的距离信息,我们计算S中点的粗糙程度:
1.3 速度、姿态和相机-IMU转移的初始化
本文通过在滑动窗口内使用所有惯性和视觉测量来构建线性系统来求解系统的最大似然估计:
c比较大的被认为是边缘特征,而c比较小的被认为是平面特征。
3、雷达里程计
雷达里程计模块估计连续两次扫描的位姿信息,使用从点-线和点-面匹配获得。从另一个角度说,即要找到与上一帧的对应点。这部分的内容可以从LOAM中找到。但是我们发现一些调整可以提升匹配的准确性与快速性:
- 标签匹配:只在相同的标签下匹配
- 两步的优化:将平面与边缘特征分开估计运动参数,最终发现计算时间减少了35%
4、雷达建图
将当前的特征与周围点云地图进行匹配修正位姿估计的结果。这里再次使用了LM方法。还是可以从LOAM中查看细节。
LeGO-LOAM最大的不同就是最后的点云地图怎么存储, 相比于存点云地图,我们将每一帧的特征存储。然后从特征去生成周围的点云就有了两种方法,第一种方法,可以从可以将当前场景下可以看到的特征选取,简单点可以选择当前位置周围100m位置看到的特征。第二种方法就是pose-graph的方法,用局部共视的图去添加新的约束。
主要结果
我们现在用一些实验来比较与LOAM的结果,分别是在TX2的Cortex-A57上以及笔记本的i7-4710MQ。
1、 定性分析
图3 特征提取的结果,(b, c)为LOAM,(d,e)是我们的结果
图4 建图结果,左边LOAM,右边LeGO-LOAM
2、大场景分析
3、 定量分析
Abstract
We propose a lightweight and ground-optimized lidar odometry and mapping method, LeGO-LOAM, for real-time six degree-of-freedom pose estimation with ground vehicles. LeGO-LOAM is lightweight, as it can achieve real-time pose estimation on a low-power embedded system. LeGO-LOAM is ground-optimized, as it leverages the presence of a ground plane in its segmentation and optimization steps. We first apply point cloud segmentation to filter out noise, and feature extraction to obtain distinctive planar and edge features. A two-step Levenberg-Marquardt optimization method then uses the planar and edge features to solve different components of the six degree-of-freedom transformation across consecutive scans. We compare the performance of LeGO-LOAM with a state-of-the-art method, LOAM, using datasets gathered from variable-terrain environments with ground vehicles, and show that LeGO-LOAM achieves similar or better accuracy with reduced computational expense. We also integrate LeGO-LOAM into a SLAM framework to eliminate the pose estimation error caused by drift, which is tested using the KITTI dataset.
如果你对本文感兴趣,想要下载完整文章进行阅读,可以关注【泡泡机器人SLAM】公众号。
点击阅读原文,即可获取本文下载链接。
欢迎来到泡泡论坛,这里有大牛为你解答关于SLAM的任何疑惑。
有想问的问题,或者想刷帖回答问题,泡泡论坛欢迎你!
泡泡网站:www.paopaorobot.org
泡泡论坛:http://paopaorobot.org/bbs/
泡泡机器人SLAM的原创内容均由泡泡机器人的成员花费大量心血制作而成,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!
商业合作及转载请联系liufuqiang_robot@hotmail.com