泡泡图灵智库,带你精读机器人顶级会议文章
标题:LOAM: Lidar Odometry and Mapping in Real-time
作者:Ji Zhang and Sanjiv Singh
来源:Robotics: Science and Systems, 2014
编译:张蕾
审核:林瑞豪
欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权
摘要
大家好,今天为大家带来的文章是——LOAM: 实时激光里程计与建图。
我们提出了一个实时激光里程计与建图的方法,使用一个6自由度运动空间下的2轴激光雷达。该问题的难点在于范围测量是在不同时间下获得的,因而运动估计的误差将造成点云的错误配准。目前,一些离线批处理方法已经能够建立清晰的3D地图,通常是使用回环检测来校准随时间累计的漂移误差。我们的方法能够同时获得低漂移和低计算量,且不需要高频率的测距和惯性测量。其核心思想是对复杂的同步定位与建图问题进行分离,分别通过两个算法实现。一个算法执行高频的里程计和低精度的运动估计,另一个算法则运行低频的点云匹配与配准。结合两个算法能够进行实时建图。该方法已通过大量实验进行了验证,以及KITTI 里程计基准数据。结果表明,本文提出的方法能够获得目前离线批处理方法达到的精度。
主要贡献
1、分离定位和建图过程:高频低精度的激光里程计和低频的建图修正。
2、基于特征匹配的方法,实现快速的里程计估算和保证建图算法的精度。
3 、在室外和室内场景下的均进行了性能测试。
算法流程
图1 激光里程计与建图的算法框架
首先,获得激光雷达坐标系下的点云数据,并把每次扫描获得的点云组成一帧数据。然后在两个算法中进行处理,即上面Liar Odometry节点和Lidar Mapping节点。
图2 激光雷达硬件系统
硬件上使用一个单线激光雷达加上两个机械轴实现三维环境的探测。激光的分辨率为0.25度,频率为40HZ。固定激光雷达的轴旋转角度为180度,即从-90度到90度之间往复摆动。
1、激光里程计
激光里程计作用是获取两帧连续点云数据间的运动,估计出来的运动用于去除Pk中的运动畸变,频率为10Hz。然后处理后的结果给Lidar Mapping节点做进一步处理。
1.1 特征点提取
特征点选取边缘点和平面点,方法是得到我们想要求曲率点i和周围连续几个点的集合S,用于求曲率。
通过比较曲率,选出曲率大的边缘点和曲率小的平面点。为了防止特征点聚集,将每一次扫描的点云分成四份,从每份中选取两个曲率最大的点作为边缘点和四个曲率最小的点作为平面点。
图3 点云数据中的边缘点和平面点
1.2 特征点匹配
边缘点到边缘线的对应。首先找到边缘点i对应的上一帧数据中最近的两个点,然后判断这两个点是否是边缘点,j和l必须是不同的线上中的点,因为一次一个线在某一段中最多有一个边缘点。如下图中的图a所示,蓝色线是P¯k线扫探测到的边缘点,橙色线是相邻的线扫。
平面点对应上一时刻中的平面。依然首先找到上一帧数据最近点,并在该线上找到另一点,再在相邻扫描线上找一点,这样就可以保证三个点不在一条线上组成一个平面。
图 4 匹配点距离计算
有了点到线和点到面的对应关系,接下来就要求点到线和点到面的距离,公式如下
1.3 运动估计
假设激光雷达的运动是匀速的。如果知道了一帧数据终止点相对于起始点的转换矩阵,就可以对这一帧数据中的任意点按照其获得时相对于起始点的时间进行插值。
有了点到线和面的距离,用于优化的误差函数如下:
图 5 激光里程计算法流程
2、建图
完成一次扫描(sweep)后,然后进入建图过程。 使用已有地图去匹配和配准没有畸变的点云数据,以1Hz的频率输出。建图过程如下:
图 6 建图过程
特征点的提取方式与前述方法相同。使用LM算法优化位姿结果。
主要结果
1. 室内和室外测试结果
2. 融合IMU信息
2. KITTI数据集验证
Abstract
We propose a real-time method for odometry and mapping using range measurements from a 2-axis lidar moving in 6-DOF. The problem is hard because the range measurements are received at different times, and errors in motion estimation can cause mis-registration of the resulting point cloud. To date, coherent 3D maps can be built by off-line batch methods, often using loop closure to correct for drift over time. Our method achieves both low-drift and low-computational complexity with- out the need for high accuracy ranging or inertial measurements. The key idea in obtaining this level of performance is the division of the complex problem of simultaneous localization and mapping, which seeks to optimize a large number of variables simultaneously, by two algorithms. One algorithm performs odometry at a high frequency but low fidelity to estimate velocity of the lidar. Another algorithm runs at a frequency of an order of magnitude lower for fine matching and registration of the point cloud. Combination of the two algorithms allows the method to map in real-time. The method has been evaluated by a large set of experiments as well as on the KITTI odometry benchmark. The results indicate that the method can achieve accuracy at the level of state of the art offline batch methods.
如果你对本文感兴趣,想要下载完整文章进行阅读,可以关注【泡泡机器人SLAM】公众号。
点击阅读原文,即可获取本文下载链接。
欢迎来到泡泡论坛,这里有大牛为你解答关于SLAM的任何疑惑。
有想问的问题,或者想刷帖回答问题,泡泡论坛欢迎你!
泡泡网站:www.paopaorobot.org
泡泡论坛:http://paopaorobot.org/forums/
泡泡机器人SLAM的原创内容均由泡泡机器人的成员花费大量心血制作而成,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!
商业合作及转载请联系liufuqiang_robot@hotmail.com