跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C++AI算法

FAST_LIO 与 FAST_LIO2 算法原理及 ROS2 环境复现

综述由AI生成FAST_LIO 是一种基于紧耦合迭代卡尔曼滤波器的激光惯性里程计框架,FAST_LIO2 在此基础上优化了特征提取和点云存储方式。详细阐述了两种算法的核心原理,提供了基于 Ubuntu 22.04 和 ROS2 Humble 的环境搭建步骤,包括 Docker 容器配置、第三方库安装及编译流程,并演示了如何使用测试数据进行算法验证。

萤火微光发布于 2026/3/25更新于 2026/6/522 浏览
FAST_LIO 与 FAST_LIO2 算法原理及 ROS2 环境复现

FAST_LIO 与 FAST_LIO2 算法原理及 ROS2 环境复现

算法原理简介

FAST_LIO 提出了一种计算高效且鲁棒的激光雷达惯性里程计(LIO)框架。它采用紧耦合的迭代扩展卡尔曼滤波器,将激光雷达特征点与 IMU 数据进行融合,从而在快速运动、噪声较大或环境退化的场景下实现稳健导航。

FAST_LIO2 在此基础上进行了优化,构建了一个快速、强大且多功能的 LIO 框架。相比 FAST_LIO,其主要改进在于:

  1. 去掉了特征提取模块,直接使用原始点云进行匹配。
  2. 引入 ikd-tree 数据结构来存储和管理点云,提升了搜索效率。

运行环境配置

本文基于 Ubuntu 22.04 和 ROS2 Humble 版本进行演示。为了确保环境隔离性,推荐使用 Docker 容器。

创建 Docker 容器

docker run -it -p 6080:80 -p 10000:10000 \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -e DISPLAY=host.docker.internal:0.0 \
  -e PULSE_SERVER=host.docker.internal \
  --name=DockerUnityRos2Car4 \
  docker.1ms.run/ubuntu:22.04 /bin/bash

安装 ROS2

进入容器后,首先更新源并安装基础工具:

sudo apt update
sudo apt-get install sudo -y
sudo apt-get install software-properties-common -y
sudo add-apt-repository universe

接着添加 ROS2 官方密钥源(需确保网络连接正常):

sudo apt-get install curl gnupg2 -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
sudo apt update && sudo apt upgrade -y
sudo apt-get install ros-humble-desktop -y

配置环境变量,避免每次手动 source:

echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc

安装第三方依赖库

我们需要安装一些核心数学库和驱动支持:

# 通用工具
sudo apt-get install python3-colcon-common-extensions -y
sudo apt-get install ros-humble-rqt-tf-tree -y
sudo apt-get install gdb -y
sudo apt-get install ros-${ROS_DISTRO}-pcl-ros -y
Livox SDK
git clone https://github.com/Livox-SDK/Livox-SDK2.git
cd third_party_libraries/Livox-SDK2
mkdir build && cd build
cmake .. && make -j
sudo make install
Sophus
git clone https://github.com/strasdat/Sophus.git
cd third_party_libraries/Sophus
git checkout 1.22.10
mkdir build && cd build
cmake .. -DSOPHUS_USE_BASIC_LOGGING=ON
make
sudo make install
GTSAM
git clone https://github.com/borglab/gtsam.git
cd third_party_libraries/gtsam
mkdir build && cd build
cmake ..
sudo make install

编译项目

首次编译需要初始化驱动:

cd 2_replicate_fast_lio_two_version/src/livox_ros_driver2
chmod +x build.sh
./build.sh humble

后续编译使用 colcon:

cd 2_replicate_fast_lio_two_version/
colcon build

运行测试

数据集准备

请提前准备好对应的 LiDAR 与 IMU 同步的 rosbag 数据文件,并将其放置于工作目录下的 src/docs/place_data_here/ 路径中。

FAST_LIO 算法运行

启动 bag 包并加载映射配置:

cd 2_replicate_fast_lio_two_version
source install/setup.bash
ros2 bag play /root/2_replicate_fast_lio_two_version/src/docs/place_data_here/rosbag2_2024_06_20-16_46_47

在另一个终端执行 launch 命令:

cd 2_replicate_fast_lio_two_version
source install/setup.bash
ros2 launch fast_lio mapping.launch.py config_file:=mid360.yaml

FAST_LIO2 算法运行

同样先播放数据:

cd 2_replicate_fast_lio_two_version
source install/setup.bash
ros2 bag play /root/2_replicate_fast_lio_two_version/src/docs/place_data_here/rosbag2_2024_06_20-16_46_47

然后启动 FastLio2 节点:

cd 2_replicate_fast_lio_two_version
source install/setup.bash
ros2 launch fastlio2 lio_launch.py

参考资料

  • FAST-LIO: A Fast, Robust LiDAR-inertial Odometry Package by Tightly-Coupled Iterated Kalman Filter (arXiv)
  • Ericsii/FAST_LIO_ROS2: ROS2 version of FAST_LIO2 (GitHub)

目录

  1. FASTLIO 与 FASTLIO2 算法原理及 ROS2 环境复现
  2. 算法原理简介
  3. 运行环境配置
  4. 创建 Docker 容器
  5. 安装 ROS2
  6. 安装第三方依赖库
  7. 通用工具
  8. Livox SDK
  9. Sophus
  10. GTSAM
  11. 编译项目
  12. 运行测试
  13. 数据集准备
  14. FAST_LIO 算法运行
  15. FAST_LIO2 算法运行
  16. 参考资料
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Local Moondream2 本地部署:自动生成社交媒体英文文案
  • Python 实现智能 PDF 文档助手 AI 工具开发指南
  • Openclaw 开源仿生机械爪原理与应用解析
  • 小米智能家居 Miloco 分离式部署指南
  • Counterfeit-V3.0 AI 绘画模型技术与应用指南
  • Google Stitch 工具简介、安装与实战案例
  • Topaz Photo AI v1.3.3 技术解析:AI 降噪与无损放大实战
  • AI 在医疗健康领域的应用开发与实战
  • 从语法纠错到项目重构:Python+Copilot 全流程开发效率提升指南
  • 手机端运行 Stable Diffusion 的开源 AI 绘画工具
  • 蚂蚁 KAG 开源 AI 知识库框架原理与安装使用教程
  • C 语言无人机传感器数据处理实战:高效滤波与校准技术
  • GitHub Copilot 中配置与使用 MCP 服务指南
  • C++ 二叉搜索树原理与增删查实现详解
  • libIEC61850 开源 IEC 61850 协议库使用指南
  • AI 大模型 API 中转平台选择与接入指南
  • RAP-MCTS 算法详解:大模型思维链
  • 最大公约数 (GCD) 与最小公倍数 (LCM) 的 C++ 实现
  • VMware 安装 CentOS 7 图文教程
  • JiuwenClaw AI 智能体安装、任务管理与上下文控制实践

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online