当前位置 : 主页 > 网络编程 > net编程 >

IROS2021 | F-LOAM : Fast LiDAR Odometry and Mapping 解析

来源:互联网 收集:自由互联 发布时间:2023-09-06
作者丨 马赫WGH 编辑丨3D视觉工坊 IROS是机器人领域的盛会,本文由南洋理工大学的在读博士王晗等人发表于IROS2021。 近期看了 李沐 大神 “三步法”读论文(https://www.zhihu.com/people/mli6


作者丨马赫WGH

编辑丨3D视觉工坊


IROS是机器人领域的盛会,本文由南洋理工大学的在读博士王晗等人发表于IROS2021。
近期看了
李沐大神“三步法”读论文(https://www.zhihu.com/people/mli65)的视频,研读本文时将效仿此法展开。
第一遍:看摘要和结论,以及方法和实验部分的关键图表(论文海选初筛)
第二遍:从头到尾看一遍,了解所有部分,不用太在意细节(论文精筛)
第三遍:精读,知道每一句话在干什么,角色代入(想象自己如何复现)


#第一遍#

Abstract 摘要

SLAM在机器人/无人驾驶/无人飞行器领域都有着广泛的应用,其中,计算效率和SLAM精度是非常重要的指标。当前存在的激光SLAM方案,通常将SLAM分解为两个子问题:scan-to-scan match 和 scan-to-map refinement,两个子问题都需要通过迭代计算的方式求解,大量的迭代计算降低了计算效率。

针对以上问题,作者提出了一种精度和计算效率俱佳的激光SLAM框架。F-LOAM 采用非迭代两步法实现畸变补偿来降低计算消耗;对每一帧输入,提取角点和面点特征,并分别与 local edge map/local plane map 进行匹配。作者在 KITTI 公开数据集上和实际环境中(实验室+AGV)进行了验证,表明所提出的F-LOAM具有很好的定位精度和计算效率(>10Hz),为实际应用中平衡算法精度和计算效率 提供了参考,F-LOAM也是 KITTI 中最为精确和快速的开源方案之一。

F-LOAM 实际上在两年前已经开源,但论文直到本次IROS才发布出来,开源代码地址:https://github.com/wh200720041/floam

Conclusion 结论

结论部分作者再次重申了F-LOAM在计算效率上的提升,F-LOAM的算法创新点在于 1-非迭代两步法实现畸变补偿,2-提取强角点和强面点用于迭代位姿估计。实验部分主要讲述在KITTI数据集上的结果对比,以及在实验室仓库环境下的实验结果(含仿真),如下面所示。其实,F-LOAM 相比于众多其它激光 SLAM 的特点,或者说,作者想让大家看到的F-LOAM的优势,就是其精度和计算速度的均衡性,如下图所示,在7种对比方案中,F-LOAM 轨迹误差第二小,计算速度第三快。

IROS2021 | F-LOAM : Fast LiDAR Odometry and Mapping 解析_3d

KITTI 数据集结果对比

IROS2021 | F-LOAM : Fast LiDAR Odometry and Mapping 解析_特征点_02

实验室仓库实测

#第二遍#

Introduction 引言

引言部分,作者提出当前激光SLAM仍存在一些性能局限,如:

·不同场景下的鲁棒性,室内到室外,静态到动态;

·计算消耗过大实时性不足,尤其是在嵌入式平台上,开源的高效率方案少;

作者进一步指出,计算消耗大的原因主要在于点的数量和迭代。经典的ICP算法考虑所有的点并迭代优化总体误差;LOAM通过提取角点/面点的方式大大减少了点的数量提升了实时性,但是,畸变补偿和Odometry推断仍然依赖高消耗的迭代计算。

本文提出了一种轻量化的实时激光SLAM方案,仍然基于LOAM系的特征点配准范式,至多可实现20Hz的处理速度,包括特征提取,畸变补偿,位姿优化,建图四个部分。

Related Work 文献综述

激光SLAM种最核心的环节是点云配准,当前的方法分为两类:1-原始点云配准,2-特征点配准。

原始点云配准最典型的算法是ICP,近期发表的IMLS-SLAM则通过为每个点赋予不同的权重的方式,提升了配准精度,但带来的是计算效率进一步下降(1~2秒每帧)。

特征点配准最主流的做法是提取特征点,然后优化特征点的 point-to-line/surface 距离,如 LOAM/LeGO-LOAM/Lio-SAM,以及基于深度学习提取特征的 CAE-LO 等,但深度学习的方法受限于特征必须要事先学习。

Methodology 方法

A. Sensor Model and Feature Extraction 特征提取

计算每一个ring上的点的曲率,和LOAM/LeGO-LOAM没差,不再赘述。

注意LeGO-LOAM中,角点/面点有强弱之分,弱面点其实是所有原始点里边排除掉强角点、弱角点、强面点之后剩下的所有点,这样,弱面点数量其实很多,相当于“所有非特征点”。但在 F-LOAM 中,不会用这样的排除法,也不会对特征点分出强弱。提取出的角点/面点,都是通过计算曲率然后取最大/最小得到的真正的特征,因此,F-LOAM中用于配准的特征点数量更少。

B. Motion Estimation and Distortion Compensation 运动估计&畸变补偿

机械式激光雷达的帧率通常在10Hz以上,一帧扫描的时间都非常短,因此作者首先假设运动和旋转都是不变的,也即上一帧的运动速度作为本帧运动的预测,对所有特征点进行一次去运动畸变,得到的特征点被用于位姿估计。位姿估计完成后,用得到的准确位姿重新对特征点进行去畸变,本次去畸变后的点将用于地图更新。

以上,即为所谓的“非迭代两步法实现畸变补偿”。

C. Pose Estimation 位姿估计

位姿估计同样是优化特征点的 point-to-line/surface 误差,并没有什么不同。唯一区别在于,F-LOAM 根据曲率为每一个特征点赋予不同的权重,角点曲率越大权重越大,面点曲率越小权重越大。

D. Mapping Building & Distortion Compensation Update 地图构建&畸变补偿更新

一句话总结该部分:运动过滤筛选关键帧,关键帧去运动畸变后更新到地图中。此处的去运动畸变即 Section B 中的第二次去畸变。

Experiment Evaluation 实验评估

A. Experiment Setup 实验设计

先后在大规模室外场景(KITTI数据集)和中等规律室内场景(实验室仓库)进行了实验,在室内场景实验前,现在 ROS-Gazebo 中进行了仿真。

B. Evaluation on Public Dataset KITTI数据集实验

选择 00-11 数据集进行了实验,涵盖了高速路/市区/郊区等场景,以 Intel i7 3.2GHz Processor为处理核心,并和 IMLS-SLAM,A-LOAM,LOAM,LeGO-LOAM,VINS-MONO,HDL-SLAM 进行了对比,以 ATE 和 ARE 作为评价指标,结论如 #第一遍# 所示,不再赘述。

C. Experiment on warehouse logistics 实验室仓库实验

验证了 F-LOAM 应用于实际环境的可行性和精度,不再赘述。

Conclusion 结论

同 #第一遍# ,不再赘述。

#第三遍#

个人总结

整体来说,本文相比于 LOAM/LeGO-LOAM,并没有根本性差异,算是 LOAM 在提升实时性方面的一个工程改进,考虑到代码很早就已经开源,想来这次发paper更像是补作业,倒也无需详细读三遍。

从策略上讲,F-LOAM废除了LOAM/LeGO-LOAM中 高频+低频里程计结合的方式,在一帧数据的整个处理周期中,有效减少了参与迭代的点数、和迭代优化的次数,从而提升实时性。


IROS2021 | F-LOAM : Fast LiDAR Odometry and Mapping 解析_特征点_03

上一篇:自动驾驶中可解释AI综述和未来研究方向
下一篇:没有了
网友评论