[学习SLAM]LOAM (Lidar Odometry and Mapping in Real-time)

16 篇文章 1 订阅

L-SLAM相关论文

LOAM: Lidar Odometry and Mapping in Real-time, 2014

概述:该论文是Lidar 3D SLAM的经典之作,作者另辟蹊径将复杂的SLAM问题分为:1. 高频的运动估计; 2. 低频的环境建图,巧妙地解决了实时性的难题。该解决方案也长期位居KITTI Odometry评测榜的前3名。

论文笔记:

LOAM 论文原理分析
简述

LOAM源码主要由四个节点构成,分别完成特征点提取,高频低精度odom, 低频高精度odom, 双频odom融合的功能,每个节点以rosnode的形式存在, 也就是说是独立的进程,进程间通过rostopic传递点云, odom等数据。


ScanRegistration节点

根据VLP16的激光扫描模型, 对单帧点云(paper中称为一个Sweep)进行分线束(分为16束), 每束称为一个Scan, 并记录每个点所属线束和每个点在此帧点云内的相对扫描时间(相对于本帧第一个点)。

针对单个Scan提取特征点, 而相对时间会在laserOdometry中用于运动补偿.所有Scan的特征点,拼到两个点云中(因为是corner和surface两种特征点,所以是两个点云).至此,每帧点云,输出两帧对应的特征点云, 给下一个节点laserOdometry。


laserOdometry节点

实现运动补偿和帧间配准.每帧激光都会参与(所以帧率同VLP16的扫描帧率,10hz).通过对每一帧激光的配准,可以得到一个精度较差的ODOM,帧与帧配准的初始POSE可以由IMU得到,或者在没有IMU的时候由匀速运动模型(简单的说就是假设这一帧运动量与上一帧一致)得到。

本节点输出的ODOM频率为10hz.此ODOM的作用:

(a) 在laserMapping中用于位姿的预测。

(b) 在transformMaintenance中为laserMapping输出的低频ODOM提供插值,以获得高频(10HZ)的ODOM.

在实际应用中,帧间匹配实现的ODOM,可以由IMU, 视觉里程计,底盘编码器等替代.而运动补偿在高速场景是不可或缺的.


LaserMapping节点

本节点实现了一个较为完整的SLAM过程,也就是同时建图和定位.主要工作:

(a)通过将多帧的激光特征点云基于POSE拼接,形成特征点云地图.前面有提到特征包含corner和surface两种,那么这里就是建立了两种特征点云地图.

(b)将新入的帧与地图作配准,得到更精准的POSE.我们又将基于这个POSE执行a过程进行建图。

由于单帧与地图配准计算量较大,本节点没有将所有帧与地图进行配准,而是间隔几帧,比如每5帧配准一次(那么频率就是2hz).如果你的应用场景运算性能完全够, 你可以一帧一匹配.如果这样, transformMaintenance这个节点就没有存在的意义了.

如果你能将本节点生成的特征地图存下来, 那么就可以将这些地图作为离线地图。我们可以在在线场景中, 把这个地图输入给laserMapping节点,实现定位的功能.

laserOdometry和laserMapping中都涉及到点云配准问题.

点云的配准问题一般有一个source和一个target,配准的目的是旋转和平移source点云使得source点云与target点云尽量重叠.

在laserOdometry中配准的source是新一帧的点云,target是前一帧的点云.

在laserMapping中配准的source是新一帧的点云,target是前面的点云拼接成的地图.

当然,我们这里说的点云指的是特征点云, 分为corner和surface两种,corner对应corner map, surface对应surface map.

优化流程:

通过ODOM预测得到初始位姿,source中的corner在target的corner中寻找对应直线, source中的surface在target的surface中寻找对应平面,

通过点-线和点面关联共同构建约束, 以点线距离和点面距离作为loss, 基于非线性最小二乘的方法进行优化.求解得出最优pose.


TransformMaintenance节点

使用laserOdometry输出的odom(高频率)对laserMapping输出的odom(低频率)进行插值。

论文见附件

https://frc.ri.cmu.edu/~zhangji/publications/RSS_2014.pdf

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值