LeGO-LOAM算法详解

2023-05-16

LeGO-LOAM算法详解

整体框架

LeGO-LOAM算法的总体框架如下图所示:
在这里插入图片描述
图中新增加了绿框中的Segmentation环节,同时对后续的特征提取、Odometry以及Mapping部分均有一定的修改,主要包括:

  1. 增加Segmentation操作,把点云投影为距离图像,分离出地面点与非地面点(分割点,segmented point)。
  2. 平滑度计算公式不同,原始LOAM中为使用点集中的坐标相减,而LeGO-LOAM中为使用点集中的欧式距离作差。
  3. 特征点选取中原始LOAM为按照平滑度的值及已有特征点数量分为平面点/边缘点两类,而LeGO -LOAM中不仅考虑到平滑度的值还同时考虑到点的类型为“地面点/分割点”,分别进行提取不同的特征点集。
  4. Lidar Odometry模块相邻帧之间特征点的对应关系也分别按照“地面点/分割点” 进行寻找,使得寻找匹配特征点的效率、精度更高。
  5. Lidar Mapping模块中LeGO-LOAM提供了基于传感器视野范围与基于图优化获取的两种获取特征对应点方法。此外,还加入了iSAM2进行后端优化(闭环检测)。

综上,LeGO-LOAM的总体思路与LOAM基本相同,1)把原始点云投影为距离图像,并在进行特征提取之前区分为“地面点/分割点”。2)对具有相同类别的特征点进行匹配。3)加入iSAM2进行闭环检测。这三点是其主要创新。

1 Segmentation模块

文章中采用Velodyne VLP-16激光雷达采集的数据进行实验,首先把原始点云重投影为一个距离图像,分辨率为1800*16(因为VLP-16水平分辨率为0.2°,360/0.2 = 1800,同时垂直方向上位16线数据)。重投影之后,三维点云变为二维图像,以像素点到传感器之间的距离作为像素值。

以VLP-16竖直维度的特性来进行标记地面点和非地面点,其在垂直方向的扫描范围为[-15°, 15°],认为地面点出现在[-15°, -1°]之间的扫描线上,而被标记的地面点可以不用进行后续的分割。

随后,将距离图像分割为很多个聚类,同一个聚类的点被标记上唯一的标识。点数较少的聚类(少于30点)被作为噪声去除,这一步可以减少室外环境噪音点的干扰,如随风飘动的树叶,地面上的杂草等不稳定的特征,这样的处理就可以保留原始的地面点和相对较大的静态物体(树干,楼房等)来进行后续的特征提取工作了。如下图中 (a)为原始点云,(b)为进行分割处理后的点云。
在这里插入图片描述

2 Feature Extraction模块

这一模块在计算平滑度时与经典的LOAM相似,考虑到特征点在各个方向分布均匀,把距离图像水平均分为若干个子图像(360°划分为六等分)。随后对t时刻点云 P t P_t Pt中的每一个点 P i P_i Pi左右各选取5个点组合成点集 S S S,通过下式计算平滑度。
在这里插入图片描述
这里采用了距离图像中激光点到传感器之间的距离,与原始LOAM中直接使用两点坐标不同。
A \mathbb{A} A
随后,从子图像中的地面点中选取 n F p n_{F_p} nFp个平面点 F p F_p Fp,从分割点中选取 n F e n_{F_e} nFe个边缘点 F e F_e Fe
此外,从子图像中的地面点与分割点中选取 n F p n_{\mathbb{F}_p} nFp个平面点 F p \mathbb{F}_p Fp, 从子图像中的非地面点中选取 n F e n_{\mathbb{F}_e} nFe个边缘点 F e \mathbb{F}_e Fe,即存在以下关系, F p F_p Fp F p \mathbb{F}_p Fp以及 F e F_e Fe F e \mathbb{F}_e Fe
如下图中所示,( c ) 中为有类别约束的平面点 F p F_p Fp及边缘点 F e F_e Fe,(d) 中为子图像中所有的平面点 F p \mathbb{F}_p Fp与边缘点 F e \mathbb{F}_e Fe
在这里插入图片描述

3 LiDAR Odometry

特征提取时,我们得到了四种特征点集{ F p F_p Fp, F e F_e Fe, F p \mathbb{F}_p Fp, F e \mathbb{F}_e Fe}。为了更好的寻找相邻两帧点云数据之间的对应特征点对,采用如下图所示的思路进行优化:
在这里插入图片描述
上图中的流程可以总结为:

  • 对于平面点:在 F p ( t − 1 ) \mathbb{F}_p^{(t-1)} Fp(t1)中具有分割点标签的点云中寻找 F p t F_p^t Fpt的对应的关联点。
  • 对于边缘点:在 F e ( t − 1 ) \mathbb{F}_e^{(t-1)} Fe(t1)中具有分割点标签的点云中寻找 F e t F_e^t Fet的对应的关联点。

这可以使缩小对应点的候选范围,同时提高匹配的精度和效率。有了对应的特征点对之后,需要对其进行优化求解六个姿态变换参数,LeGO-LOAM使用两步LM优化方法进行处理。

首先,采用平面点 F p ( t − 1 ) \mathbb{F}_p^{(t-1)} Fp(t1) F p t F_p^t Fpt对应的约束,优化计算得到了{ t z t_z tz, t r o l l t_{roll} troll, t p i t c h t_{pitch} tpitch}。随后,基于 F e ( t − 1 ) \mathbb{F}_e^{(t-1)} Fe(t1) F e t F_e^t Fet对应的约束,以及之前优化得到的{ t z t_z tz, t r o l l t_{roll} troll, t p i t c h t_{pitch} tpitch},进行优化得到{ t x t_x tx, t y t_y ty, t y a w t_{yaw} tyaw}。最终,两次优化结果融合,得到最终的变换参数{ t x t_x tx, t y t_y ty, t z t_z tz, t r o l l t_{roll} troll, t p i t c h t_{pitch} tpitch , t y a w t_{yaw} tyaw}。

4 LiDAR Mapping

作者在这里介绍了两种方法:1)基于传感器视域。 2)基于图优化。分别来把上一步输出的点云与局部位姿变换到全局地图中。

其中,第一种方法将全局点云地图分割为很多cube,然后根据传感器的有效探测距离(VLP-16为100m)选取一定数量的cube,组合成前 t − 1 t-1 t1 时刻获取的点云地图 Q ( t − 1 ) Q^{(t-1)} Q(t1),然后对当前帧 Q t Q^t Qt与其相交的部分进行匹配,与经典的LOAM算法基本相同。

第二种方法加入了位姿图和回环检测 (iSAM2),提高了建图效率与精度,但是目前还不太理解,这里就先不做详细的介绍了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LeGO-LOAM算法详解 的相关文章

随机推荐

  • 强化学习拾遗 —— 再看奖励函数

    因为想申请 CSDN 博客认证需要一定的粉丝量 xff0c 而我写了五年博客才 700 多粉丝 xff0c 本文开启关注才可阅读全文 xff0c 很抱歉影响您的阅读体验 参考 xff1a Richard S Sutton Reinforce
  • 论文理解【Offline RL】——【One-step】Offline RL Without Off-Policy Evaluation

    标题 xff1a Offline RL Without Off Policy Evaluation文章链接 xff1a Offline RL Without Off Policy Evaluation代码 xff1a davidbrandf
  • 论文速览【Offline RL】——【IQL】Offline reinforcement learning with implicit Q-Learning

    标题 xff1a Offline reinforcement learning with implicit Q Learning文章链接 xff1a Offline reinforcement learning with implicit
  • 机器学习实用工具 Wandb(1)—— 实验追踪

    在做机器学习项目时 xff0c 比如这个典型例子 xff0c 常常遇到以下几个痛点 记录训练曲线的代码繁琐 xff0c 与模型代码耦合度高 xff0c 观感差又不好修改自己做可视化效果较差 xff0c 要做好又太浪费时间调参时各种超参数模型
  • OLAP分析引擎Druid配置文件详解(四):Overlord配置文件

    摘要 xff1a 本文是Druid配置文件系列博文的第四篇 xff0c 我们将继续逐个介绍Druid的五大组件 xff0c 前文已经介绍了Coordinator组件的配置文件 xff0c 本文是第二个组件Overlord的介绍 以下配置都在
  • 大疆Onboard SDK 3.2玫瑰线例程浅析

    大疆Onboard SDK 3 2玫瑰线例程浅析 前不久参加2017英飞凌杯无人机竞赛 xff0c 研究了一下大疆的OnbardSDK xff0c 现在比赛结束了 xff0c 简单写一下其中自带的玫瑰线例程分析 xff0c 也算对比赛进行一
  • 利用stm32控制步进电机 速度&&加速度控制

    因为想申请 CSDN 博客认证需要一定的粉丝量 xff0c 而我写了五年博客才 700 多粉丝 xff0c 本文开启关注才可阅读全文 xff0c 很抱歉影响您的阅读体验 利用stm32控制步进电机 尝试用42系步进电机做倒立摆 xff0c
  • stm32f4编码器模式

    因为想申请 CSDN 博客认证需要一定的粉丝量 xff0c 而我写了五年博客才 700 多粉丝 xff0c 本文开启关注才可阅读全文 xff0c 很抱歉影响您的阅读体验 stm32f4编码器模式 花费一下午时间研究编码器的使用 xff0c
  • stm32 利用DMA+串口空闲中断接受任意长数据

    因为想申请 CSDN 博客认证需要一定的粉丝量 xff0c 而我写了五年博客才 700 多粉丝 xff0c 本文开启关注才可阅读全文 xff0c 很抱歉影响您的阅读体验 目录 一 DMA1 简介2 使用场景3 主要特性4 DMA控制器结构5
  • 微星电脑安装win10+ubuntu16.04双系统遇到的各种坑

    最近尝试在微星电脑安装ubuntu 遇到各种问题 xff0c 在此记录一下 已有win10 xff0c 安装ubuntu16 04LTS版本微星ge73 Raider RGB 8RF显卡 xff1a GTX1070硬盘 xff1a 1T机械
  • 使用prim算法生成随机迷宫

    文章目录 一 关于随机迷宫生成二 prim算法1 最小生成树2 prim算法简介3 正确性证明 三 prim算法和迷宫生成1 迷宫生成和最小生成树的联系2 prim迷宫生成算法3 可以参考这些文章 一 关于随机迷宫生成 1 我们将迷宫定义如
  • TM4C123G学习记录(4)--关于ROM前缀函数和HWREG函数

    为了准备电赛临时学一下TM4C123G xff0c 简单记录学习内容大家可以在这里下载我收集的资源 xff0c 非常全面 xff0c 花了很大功夫收集来的 xff0c 还有书籍 例程代码等还可以在TI官网下载相关文档TI官网 这两天学习TM
  • TM4C123G学习记录(6)--UART

    因为想申请 CSDN 博客认证需要一定的粉丝量 xff0c 而我写了五年博客才 700 多粉丝 xff0c 本文开启关注才可阅读全文 xff0c 很抱歉影响您的阅读体验 为了准备电赛临时学一下TM4C123G xff0c 简单记录学习内容大
  • TM4C123G学习记录(7)--输入捕获

    因为想申请 CSDN 博客认证需要一定的粉丝量 xff0c 而我写了五年博客才 700 多粉丝 xff0c 本文开启关注才可阅读全文 xff0c 很抱歉影响您的阅读体验 为了准备电赛临时学一下TM4C123G xff0c 简单记录学习内容大
  • ANO匿名飞控分析(1)— 遥控器解码

    准备电赛 xff0c 简单写一下匿名飞控的分析基于TM4C主控的匿名拓空者飞控 xff0c 介绍见匿名科创 匿名拓空者PRO TI版全开源飞控使用入门 TM4C123 文章目录 一 简介二 PWM信号模式1 介绍2 硬件连接 三 PPM信号
  • OLAP分析引擎Druid配置文件详解(五):MiddleManager配置文件

    摘要 xff1a 本文是Druid配置文件系列博文的第五篇 xff0c 我们将继续逐个介绍Druid的五大组件 xff0c 本文将开始介绍Data Server中的middle manager和peon组件 以下配置都在middleMana
  • ANO匿名飞控分析(2)— 任务调度

    准备电赛 xff0c 简单写一下匿名飞控的分析基于TM4C主控的匿名拓空者飞控 xff0c 介绍见匿名科创 匿名拓空者PRO TI版全开源飞控使用入门 TM4C123 一 简介 匿名飞控的任务调度还是比较简单的 xff0c 没有操作系统什么
  • 点云地面点滤波(Cloth Simulation Filter, CSF)“布料”滤波算法介绍

    本篇博客参考Wuming Zhang的文章 An Easy to Use Airborne LiDAR Data Filtering Method Based on Cloth Simulation 不方便的小伙伴可以在此 xff1a 资源
  • TSCAN + TMODEL处理点云数据生成DEM

    点云数据生成DEM流程 目录 点云数据生成DEM流程1 软件环境2 操作流程2 1 加载TSCAN TMODEL插件2 2 读取点云数据2 3 点云去噪 滤波2 4 构建tin模型2 5 生成格网DEM2 6 查看DEM数据 对基于商业软件
  • LeGO-LOAM算法详解

    LeGO LOAM算法详解 整体框架 LeGO LOAM算法的总体框架如下图所示 xff1a 图中新增加了绿框中的Segmentation环节 xff0c 同时对后续的特征提取 Odometry以及Mapping部分均有一定的修改 xff0