激光slam入门知识总结

目录

说明

学习知乎上任乾写的从零开始做激光slam系列,在这里总结一下收获

一. 开篇

  1. 作者给出了本系列的简单介绍,包括用的传感器,平台,写作思路等等。

二. 数据集

  1. 作者使用了KITTI数据集,在下载的过程中发现,直接*从国外网站下载速度非常快。
  2. 主要是利用激光雷达数据和RTK数据做融合。
    RTK,GNSS,IMU等定位方式的精度要详细了解一下
  3. 将数据集转换成ROSBAG,然后利用rviz就能进行原始数据效果查看了。

三. 软件框架

  1. 将订阅和发布写成分开的类,同时,再按照传感器数据类型进行进一步分类
  2. 功能流程:
    (1) 接收数据放到队列中
    (2) 选出时间基本一致的数据组
    (3) 发布数据

四. 前端里程计初试

  1. 功能流程:
    (1)接收数据放到队列里
    (2)选出时间基本一致的数据
    (3)点云预处理
    清洗NAN数据
    点云稀疏化
    (4)第一帧单独处理,直接更新局部和全局地图
    (5)利用ndt匹配点云,获得单步的运动变换关系
    (6)当运动距离达到一定程度,就更新局部地图和全局地图

  2. 局部和全局地图更新流程:
    “地图”:是一个一个的点云数据帧序列
    地图:是一个大的点云数据帧,包含了20个小关键帧帧的点
    (1)更新局部地图关键帧队列,保证只有20个
    (2)把所有的点加到一个地图点云帧里
    (3)更新ndt的目标点云
    (4)更新全局地图关键帧队列,每100个关键帧,进行一次全局地图点云帧更新

五. 前端里程计代码优化

  1. 这里功能流程基本没有什么变化
  2. 除了将订阅和发布分开,不同类型的数据分开之外,也将处理方法单独列出了一些类和函数,运用了继承的方式,便于以后扩展
  3. 地图关键帧存储在了硬盘上,可以节约内存空间
上一篇:《无人机视觉SLAM协同建图与导航》


下一篇:机器人SLAM与自主导航(一)——理论基础