Loam livox(2019 IROS)整理

Loam livox(2019 IROS)

这是一个开源的ros工具包,;利用loam可以提供六自由度的位姿估计和高精度的地图:https://github.com/hku-mars/loam_livox. 手持设备

介绍

需要知道的是:

  • 固态激光雷达的视角很小,Livox MID40的视角仅有38.4度.但是想要获得大的视角可以使用多个固态的激光雷达.
  • 扫描图案不均匀,原来的激光雷达规则扫描,极大的简化了特征提取和匹配,但是固态激光雷达扫描不均匀Livox MID40扫描的图案类似花瓣,相邻的两次扫描距离很远
  • 非重复扫描,这样可以最大化覆盖率.
  • 运动模糊,同一帧的点云扫描有先后顺序的,由于运动可能导致同一帧的点云出现运动模糊

为了解决上述的问题,作者创建了Loam_Livox工具包,解决了在小的视角下进行特征选和提取的任务,有严格的外点剔除策略,移动的对象滤波和运动失真补偿.在没有诸如IMU,相机,GPS等传感器的基础上,利用点云和局部地图的匹配鲁棒的实时计算雷达的位姿

相关工作

目前有点到点,点到面和点到边缘的匹配方式,3D的特征有Point Feature Histograms (PFH)和iewpoint Feature Histograms (VFH)等,本文采用的是点到平面和点到边缘的匹配方式.为了解决运动模糊的问题,可以在前端进行线性插值,最近提出也可以在后端利用优化的方法.虽然优化的方法更好但是不实时运行.
本文的主要贡献有:

  • 针对小视角的雷达提出了完整的LOAM算法
  • 通过考虑low-level的雷达参数增加了LOAM算法的精度和鲁棒性
  • 提出了一种简单但是有效的运动补偿的方法.分段处理,并使其实现并行化。

特征选择和提取

因为雷达采取的是低level的物理特性,如激光斑点大小,信号噪声比.所我们执行一个点的选择来选择好的点.

A.点的选择
  • 计算点距离雷达的距离
  • 计算点和X轴的夹角
  • 计算反射率 I = R/D§

当I小的时候证明物体离雷达很远,反射强度也很小.
θ = ( ( P a − p c ) × P b ∣ P a − p c ∣ × ∣ P b ∣ ) \theta = \left( \frac {\left(P_a - p_c \right) \times P_b}{|P_a - p_c\rvert \times |P_b|} \right) θ=(Papc×Pb(Papc)×Pb)
为了提升定位和建图的精度,我们需要删除以下的这些点:

  • 接近FoV边缘的点。 (例如φ(P)≥17◦对于Livox MID40)在这样的区域,扫描轨迹曲率大,导致特征提取不太可靠。
  • 强度太大或者太小的点
  • 点的入射角大于0度或180度.
  • 删除物体后边点
B.特征检测

选择点后,我们执行特征提取以从“好点”中提取特征。我们通过计算候选点的局部平滑度来提取平面和边缘特征,如[12]所示。 此外,为了减轻由于有限的FoV和点选择导致的少量特征而导致的匹配退化,我们将LiDAR反射率用作第4维测量。 如果3D点的反射率与其相邻点有很大不同,我们将其视为边缘特征点(由于材料变化而导致反射率的边缘,与由于形状变化而导致几何形状中的边缘相反)。在某些退化情况下,例如面对带有关闭的门窗的墙壁,这些点是有益的。

重复的位姿优化

第一节提到的非重复扫描.提取的特征无法像[12、13、19]中那样不断跟踪。一个简单的例子是,即使LiDAR是静态的,扫描的轨迹(和特征点)也不同于前一帧。 在我们的工作中,我们使用迭代姿态优化程序来计算LiDAR位姿。通过稍后详细介绍的适当实现,我们可以实现20Hz的实时里程计和建图。

A.边和边的残差

ε k \varepsilon_k εk ε m \varepsilon_m εm是当前帧和地图点的边缘特征.对于当前帧的每一个点 ε k \varepsilon_k εk,我们 ε m \varepsilon_m εm中找五个和它最近的点.为了提搜索的速度,我们把 ε m \varepsilon_m εm构建成KD-Tree.为了找到
和点 P l P_l Pl最近的点,我们需要把这个点投影到 ε k \varepsilon_k εk中.为了找到 ε k \varepsilon_k εk中最近的五个点,我们计算五个最近的点的平均值和协方差,如果协方差矩阵中最大的特征值大于第二大的特征值的三倍,我们确定` [ w [_w [w最近的点成了一个直线.残差可以计算为:

B.面和面的残差

与边缘特征点相似,对于平面中的点当前帧的特征集Pk,我们找到5个最近的点地图的平面特征集Pm 我们同时确保这5个最接近的点确实在同一范围内,通过计算它们的协方差矩阵Σ 如果最小Σ的特征值比第二最小的小三倍特征值,我们计算平面点在当前帧到由同一5个点组成的平面如下所示,然后将此残差添加到姿势优化中。

图像帧运动补偿

为了补偿每次扫描的时间和位姿不同,我们可以利用

  • 分段线性:把一个新来的帧分成三个连续的帧,然后把这三个帧都和地图做匹配,把所有点都投影到全局地图中.这样每帧采样的时间仅为原来的三分之一.分段线性对于多核的CPU并行运算也有好处.
  • 线性插值:在最新帧k的[R_k,T_k]和次新帧的[R_k-1,T_k-1]中间的时刻t,可以利用k-1帧的角速和加速度计算出t时刻的旋转和平移向量.

算法一:雷达位姿优化

输入:当前帧获得的边的集合 ε k \varepsilon_k εk和平面的集合 P k P_k Pk;从地图获得的边的集合 ε m \varepsilon_m εm和平面的集合 P m P_m Pm;上一帧的雷达位姿: [ R k − 1 , T k − 1 ] [R_{k-1},T_{k-1}] [Rk1,Tk1]
输出:[ R k , T k R_k,T_k Rk,Tk]
计算线和线的误差
计算面和面的误差
删除20%的最大的残差

D.外点和运动物体剔除

在优化的过程中重新找到和这个点最近的边和面,然后删除残差最大的删除

精度

室内和室外的定位精度分别是0.41%和0.65%

MID-40使用说明

  • Livox Mid-40的检测范围可达260米。
  • Livox Mid-40的圆形视场范围为38.4°。Livox Mid-100是3个40的叠加,所以范围是98.4.

使用安装

1.将Livox Mid-40连接到Livox转换器。
2.使用以太网电缆将PC和Livox Converter连接到路由器。
3.将Livox转换器连接到外部电源。
额定功率是10w,电压范围10-16v.需要注意的是温度越低需要的功率就越大,所以需要合适的电源.

点云扫描方式

非重复扫,高覆盖率

MID-40

Screenshot from 2020-03-06 08-15-28.png

MID-100

Screenshot from 2020-03-06 08-15-28.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值