上篇【PX4 教程(二)】介绍了如何在 Gazebo 仿真中给 PX4 无人机添加 Livox 激光雷达,这篇博客详细介绍如何使用 FAST-LIO 对采集到的点云进行建图。

简介

Livox激光雷达使用FAST-LIO算法是一个先进的技术组合,用于实现高效和精确的同时定位与地图构建(SLAM)。

以下是关于Livox激光雷达和FAST-LIO算法结合使用的详细介绍:

Livox 激光雷达

  1. 技术特点

    • 非重复扫描模式:与传统的激光雷达不同,Livox激光雷达采用非重复扫描模式,这意味着其扫描路径随时间变化,能够覆盖更广泛的区域。
    • 高性价比:Livox激光雷达为用户提供高性能与经济效益的平衡,使得先进的激光雷达技术更加普及。
    • 紧凑型设计:它们通常具有小巧的设计,便于在各种设备上部署,特别是无人机和小型机器人。
  2. 应用场景

    • 无人机测绘
    • 自动驾驶车辆
    • 机器人导航和地图构建

FAST-LIO 算法

  1. 与Livox的结合

    • FAST-LIO算法通过紧耦合的方式结合Livox激光雷达的数据和IMU(惯性测量单元)数据,提供了稳定和准确的SLAM解决方案。
    • 该算法能够有效处理Livox激光雷达的非重复扫描模式产生的数据,实现高效的环境感知和地图构建。
  2. 优势

    • 实时性:FAST-LIO算法能够实时处理Livox激光雷达产生的大量数据。
    • 精度:结合了Livox激光雷达的高精度数据,FAST-LIO提供了更精确的定位和地图构建。
    • 适应性:适合用于多种复杂环境,特别是在动态和变化的环境中。

实际应用

在实际应用中,Livox激光雷达和FAST-LIO算法的结合可以用于以下场景:

  • 无人机航测:无人机搭载Livox激光雷达,在进行飞行测绘时使用FAST-LIO算法进行实时定位和地图构建。
  • 自动驾驶车辆:车辆上的Livox激光雷达收集周围环境的数据,FAST-LIO算法处理这些数据来帮助车辆定位自身并理解周围环境。
  • 室内机器人导航:在室内环境中,机器人使用Livox激光雷达进行空间扫描,FAST-LIO算法帮助机器人实现精确的导航和地图构建。

FAST-LIO 环境配置

安装功能包

使用如下命令安装 FAST-LIO 功能包到 ROS1 工作空间:

cd ~/$A_ROS_DIR$/src
git clone https://github.com/hku-mars/FAST_LIO.git
cd FAST_LIO
git submodule update --init
cd ../..
catkin_make
source devel/setup.bash

点云话题消息配置

参考上一篇博客 ,将点云话题消息类型改为 LIVOX_ROS_DRIVER_CUSTOM_MSG 以适应 FAST-LIO 的点云类型。

FAST-LIO 参数配置

参考下图红色方框的内容,修改激光雷达的点云话题消息名称为 /scan,由于 Livox 的仿真模型不包含 IMU ,这里使用无人机上的 IMU,无人机的 IMU 一般位于其模型中心点,最后根据上篇博客的配置,IMU-LiDAR 的外参如下图相同,否则根据自己的外参进行修改。

实验

实验一

实验一中,激光雷达在无人机上是水平安放的,适用于采集建筑侧面的点云。想进行实验一需要修改上篇博客中的激光雷达模型的姿态和上面的 FAST-LIO 中的外参。

同时启动仿真环境和 FAST-LIO 算法

roslaunch px4 mavros_posix_sitl_livox.launch
roslaunch fast_lio mapping_avia.launch

然后使用地面站软件 QGroundControl 进行无人机的轨迹规划。
效果如下图所示,左边是 QGroundControl 规划的轨迹,中间是 FAST-LIO 的建图可视化窗口,右边是 Gazebo 仿真环境:

ROS 节点图如下图所示,其中 /scan 是激光雷达采集到的点云话题消息, cloud_registered 是 FAST-LIO 建图后的点云话题消息,算法执行的过程中,会将结果不断写入在 scan.pcd 中,直至 /laserMapping 节点被中止:

经测试,在空旷的场景下,激光雷达水平安置时采集不到足够的点云,FAST-LIO 会发出如下警告,同时 IMU 会发生巨大的累积漂移:

结论:激光雷达水平安置适用于在城市建筑密集的环境下进行建图。

实验二

将 Livox 激光雷达在无人机上竖直朝下安装也是很常见的做法,比如这个视频所展示的。
上篇博客和这篇博客中的配置参数也是按照激光雷达朝下安装进行配置,比较适用于对地面上的物体进行建模。

当无人机靠近地面时,由于距离太近,激光雷达采集不到足够的点云,IMU 会产生累积误差。

解决方法有两个,其中第二个方法的操作较为简单:

  1. 在无人机靠近地面时,考虑采取视觉定位的方式来校正 FAST-LIO 的 IMU 估计;
  2. 当无人机飞到一定高度时再运行 FAST-LIO。