LOAM-Livox是针对livox-LiDAR的一个激光里程计和建图(LOAM)的功能包 Loam-Livox是一个适用于 Livox LiDAR 强大的、低漂移实时的里程计和建图功能包 Livox LiDAR 是专为大量工业用途而设计的低成本,高性能LiDAR。 功能包解决了许多关键问题,特征提取和在有限FOV下提取,强大的异常值排除,运动物体过滤,运动失真补偿。 此集成了其他功能,例如可并行管道,使用单元和地图的点云管理,循环闭合,用于地图保存和重新加载的实用程序等。 论文1地址 主要写了Loam_livox的整体算法 论文2地址 主要就闭环优化这块进行分析  

1、功能包所需环境

 

  • Ubuntu 64-bit 16.04 或者 18.04.
  • ROS Kinetic 或者 Melodic
  • Ceres Solver 安装可参考网址 Ceres可以解决形式受限的鲁棒非线性最小二乘问题 在这里插入图片描述
  • PCL 安装可参考网址

2、功能包下载和编译

 

    cd ~/catkin_ws/src
    git clone https://github.com/hku-mars/loam_livox.git
    cd ../
    catkin_make
    source ~/catkin_ws/devel/setup.bash

3、运行

 

3.1 Livox Mid-40

  连接 PC 和 Livox LiDAR 然后先启动 Loam-Livox 算法  

  roslaunch loam_livox livox.launch

  再启动 livox-ros-driver  

   roslaunch livox_ros_driver livox_lidar.launch

3.2 Livox Mid-100

  Livox-ros-driver的默认配置将所有三个激光雷达点云混合在一起,这给特征提取和运动模糊补偿带来了一些困难。 所以对于这款激光雷达 启动功能包前要做些配置  

4、公开数据集(Rosbag)进行验证

  可以下载录制好的数据集进行测试 地址要翻   数据集已经下好传到百度网盘里了 百度网盘地址 提取码: sv9z  

4.1 Mid-40小场景

执行指令  

roslaunch loam_livox rosbag.launch
rosbag play YOUR_DOWNLOADED.bag

这个是小场景的,跑出来是这样   在这里插入图片描述  

4.2 Mid-40大场景

  大场景的 需要 launch 较大的线和平面的分辨率 的那个文件 ( 启动这个rosbag_largescale.launch) 大场景对应的数据集 可以用 HKUST_01.bag 执行指令  

roslaunch loam_livox rosbag_largescale.launch
rosbag play YOUR_DOWNLOADED.bag

  结果:   在这里插入图片描述  

4.3 Mid-100

  数据集地址   执行指令  

roslaunch loam_livox rosbag_mid100.launch
rosbag play mid100_example.bag

  在这里插入图片描述  

4.4 带有回环 的 数据集

有个小的 rosbag,loop_loop_hku_zym.bag 可以验证 具体指令  

roslaunch loam_livox rosbag_loop_simple.launch
rosbag play YOUR_PATH/loop_simple.bag

  在这里插入图片描述   大场景的 回环数据 有loop_loop_hku_zym.bag, loop_hku_main.bag  

roslaunch loam_livox rosbag_loop.launch
rosbag play YOUR_DOWNLOADED.bag

  可以看到启动的launch文件并不相同   rosbag_loop_simple.launch 和 rosbag_loop.launch 仅有一点区别,最小关键帧的数量(minimum_keyframe_differen)不同   在这里插入图片描述 在这里插入图片描述