保姆级教程:在ROS2 Humble上从零部署FAST_LIO_ROS2(含Livox驱动配置)

张开发
2026/4/28 7:32:01 15 分钟阅读

分享文章

保姆级教程:在ROS2 Humble上从零部署FAST_LIO_ROS2(含Livox驱动配置)
从零部署FAST_LIO_ROS2Ubuntu 22.04与ROS2 Humble实战指南在机器人感知与定位领域激光雷达与惯性测量单元(IMU)的紧耦合算法正成为高精度SLAM的主流解决方案。香港科技大学开源的FAST_LIO_ROS2项目将经典的IEKF算法与ROS2生态深度融合为开发者提供了即插即用的激光惯性里程计实现。本文将带您从纯净的Ubuntu系统开始逐步完成环境配置、驱动编译到最终算法部署的全流程。1. 基础环境准备Ubuntu 22.04 LTS作为长期支持版本为ROS2开发提供了稳定的基础。我们建议使用至少8GB内存和50GB磁盘空间的硬件配置以确保编译过程的顺畅。首先更新系统软件源并安装基础工具链sudo apt update sudo apt upgrade -y sudo apt install -y git curl build-essential cmakeROS2 Humble Hawksbill是当前推荐的生产级版本其安装步骤如下sudo apt install -y software-properties-common sudo add-apt-repository universe sudo apt update sudo apt install -y curl gnupg lsb-release 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 $(source /etc/os-release echo $UBUNTU_CODENAME) main | sudo tee /etc/apt/sources.list.d/ros2.list /dev/null sudo apt update sudo apt install -y ros-humble-desktop配置环境变量并验证安装source /opt/ros/humble/setup.bash ros2 run demo_nodes_cpp talker ros2 run demo_nodes_py listener2. 关键依赖项安装FAST_LIO_ROS2的核心算法依赖于几个关键的数学和点云处理库。以下是必须安装的依赖项及其推荐版本依赖库最低版本功能描述Eigen33.3.4矩阵运算与线性代数PCL1.8点云数据处理Boost1.74C通用库支持安装命令如下sudo apt install -y libeigen3-dev libpcl-dev libboost-all-dev对于使用Livox激光雷达的用户还需要额外安装USB驱动sudo apt install -y libusb-1.0-0-dev提示如果系统中存在多个Eigen版本建议通过apt list --installed | grep eigen检查版本并通过sudo apt remove libeigen3-dev移除旧版本后再安装。3. Livox ROS2驱动配置Livox固态激光雷达因其高性价比在SLAM领域广受欢迎。配置其ROS2驱动需要以下步骤创建工作空间并克隆驱动源码mkdir -p ~/livox_ws/src cd ~/livox_ws/src git clone https://github.com/Livox-SDK/livox_ros_driver2.git安装依赖并编译sudo apt install -y ros-humble-tf2-geometry-msgs ros-humble-tf2-ros cd ~/livox_ws rosdep install --from-paths src --ignore-src -y colcon build --symlink-install配置设备权限echo SUBSYSTEMusb, ATTR{idVendor}2d2d, MODE0666 | sudo tee /etc/udev/rules.d/99-livox.rules sudo udevadm control --reload-rules测试驱动是否正常工作source install/setup.bash ros2 launch livox_ros_driver2 msg_MID360_launch.py常见问题排查设备未识别检查USB连接线确认lsusb输出中包含Livox设备权限问题确保已正确配置udev规则并重新插拔设备编译错误确认ROS2环境已正确source所有依赖项已安装4. FAST_LIO_ROS2编译与部署完成基础环境准备后我们可以开始部署核心算法创建工作空间并克隆项目mkdir -p ~/fastlio_ws/src cd ~/fastlio_ws/src git clone https://github.com/Ericsii/FAST_LIO_ROS2.git --recursive安装系统依赖cd ~/fastlio_ws rosdep install --from-paths src --ignore-src -y编译项目关键步骤colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPERelease编译过程中可能遇到的典型问题及解决方案Eigen版本冲突sudo apt remove libeigen3-dev git clone https://gitlab.com/libeigen/eigen.git cd eigen mkdir build cd build cmake .. sudo make installPCL库链接错误 修改CMakeLists.txt确保正确指定PCL组件find_package(PCL REQUIRED COMPONENTS common io filters)Livox驱动未找到 确保已正确编译livox_ros_driver2并在新终端中source其环境source ~/livox_ws/install/setup.bash5. 算法参数配置与运行FAST_LIO_ROS2通过YAML配置文件调整算法参数。以Livox MID-360为例典型配置如下common: lidar_topic: /livox/lidar imu_topic: /livox/imu time_sync_en: false time_offset_lidar_to_imu: 0.0 preprocess: lidar_type: 1 # Livox MID-360 blind: 0.1 # 过滤近距离点云 point_filter_num: 1 # 降采样率 mapping: acc_cov: 0.1 # 加速度计噪声协方差 gyr_cov: 0.1 # 陀螺仪噪声协方差 b_acc_cov: 0.0001 # 加速度计偏置噪声 b_gyr_cov: 0.0001 # 陀螺仪偏置噪声启动建图流程需要两个终端# 终端1启动Livox驱动 source ~/livox_ws/install/setup.bash ros2 launch livox_ros_driver2 msg_MID360_launch.py # 终端2启动FAST_LIO source ~/fastlio_ws/install/setup.bash ros2 launch fast_lio mapping.launch.py config_file:mid360.yaml性能优化建议对于低功耗设备可在mapping.launch.py中减少max_iteration次数在动态环境中适当增加acc_cov和gyr_cov值以提高鲁棒性对于高帧率雷达调整point_filter_num以平衡精度与计算负载6. 可视化与结果分析RViz2是ROS2中强大的可视化工具配置步骤如下安装可视化插件sudo apt install -y ros-humble-rviz2 ros-humble-rviz-imu-plugin创建自定义RViz配置Panels Panel NameDisplays Property NameGlobal Options Typerviz_common/Displays Property NameFixed Frame Valuemap / /Property /Panel /Panels Displays Display Typerviz_default_plugins/MarkerArray Property NameTopic Value/fastlio/path / /Display Display Typerviz_default_plugins/PointCloud2 Property NameTopic Value/fastlio/cloud_registered / Property NameStyle ValuePoints / Property NameSize (Pixels) Value2 / /Display /Displays启动RViz2并加载配置rviz2 -d ~/fastlio_config.rviz典型输出评估指标相对位姿误差(RPE)通过evo_rpe工具计算轨迹漂移绝对位姿误差(APE)评估全局一致性计算负载使用top或htop监控CPU/内存占用在室内10m×10m环境中FAST_LIO_ROS2在i7-11800H处理器上的典型性能表现指标数值单位处理频率85.3Hz内存占用1.2GB轨迹误差0.12%建图延迟23.5ms

更多文章