FAST_LIO与FAST_LIO2算法复现指南

FAST_LIO(Fast LiDAR-Inertial Odometry)及其改进版FAST_LIO2是高效的激光雷达-惯性里程计算法,基于紧耦合的迭代误差状态卡尔曼滤波(IESKF)实现。以下是复现关键步骤:


环境配置

系统要求:Ubuntu 18.04/20.04,ROS Melodic/Noetic
依赖安装

sudo apt-get install ros-${ROS_DISTRO}-cv-bridge ros-${ROS_DISTRO}-tf
sudo apt-get install libomp-dev libceres-dev

Eigen3.3.7+:需手动安装高版本Eigen(FAST_LIO2要求Eigen≥3.3.7):

git clone https://gitlab.com/libeigen/eigen.git
cd eigen && mkdir build && cd build
cmake .. && sudo make install


源码编译

FAST_LIO

git clone https://github.com/hku-mars/FAST_LIO.git
cd FAST_LIO && mkdir build && cd build
cmake .. && make -j4

FAST_LIO2

git clone https://github.com/hku-mars/FAST_LIO2.git
cd FAST_LIO2 && mkdir build && cd build
cmake .. && make -j4


 


数据集准备

支持格式

  • ROS bag文件(需包含/imu/points话题)
  • 公开数据集(如NTU VIRAL、HILTI等)

数据播放

rosbag play your_bag.bag --clock


参数配置

关键参数文件

  • config/velodyne.yaml(传感器参数)
  • config/mapping.yaml(算法参数)

修改示例

# velodyne.yaml
lidar_topic: "/points"
imu_topic: "/imu"


运行与可视化

启动FAST_LIO

roslaunch fast_lio mapping_velodyne.launch

启动FAST_LIO2

roslaunch fast_lio2 mapping_velodyne.launch

可视化工具

  • RViz:显示点云地图和轨迹
  • rosrun rviz rviz 加载配置config/rviz_config.rviz

性能调优

常见调整参数

  • max_iteration:IESKF最大迭代次数(默认4-6)
  • cube_side_length:地图分辨率(默认200m)
  • filter_size_surf:点云降采样分辨率

实时性优化

  • 启用fov_degree限制视场角
  • 降低max_points_num减少计算量

注意事项

  1. 时间同步:确保IMU和LiDAR时间戳严格同步,否则需外部同步工具。
  2. 传感器标定:提供准确的LiDAR-IMU外参(extrinsic_Textrinsic_R)。
  3. 点云类型:支持非结构化点云(如Velodyne、Ouster),需在配置中指定point_type

通过上述步骤可完成算法复现,具体效果取决于传感器质量与环境复杂度。建议从公开数据集开始验证。

Logo

立足具身智能前沿赛道,致力于搭建全球化、开源化、全栈式技术交流与实践共创平台。

更多推荐