ROS2 Humble 环境下 Mid360 雷达 FAST-LIO 算法部署教程
1. 环境准备
系统要求
ROS2 Humble 需使用 Ubuntu 22.04 版本。请先安装虚拟机并下载 Ubuntu 镜像: https://mirrors.aliyun.com/ubuntu-releases/22.04/
介绍在 Ubuntu 22.04 安装 ROS2 Humble 后,编译 Livox-MID360 驱动并运行 FAST-LIO 算法的详细步骤。内容包括环境配置、依赖安装、参数修改、编译错误处理(如 CMake 策略、符号链接冲突)以及库版本兼容性修复(libpcl_io 与 libusb)。重点解决了点云时间戳匹配失败导致黑屏的问题,通过修改 preprocess.cpp 代码实现正常建图。
ROS2 Humble 需使用 Ubuntu 22.04 版本。请先安装虚拟机并下载 Ubuntu 镜像: https://mirrors.aliyun.com/ubuntu-releases/22.04/
sudo apt install cmake
gcc -v # 确认 gcc 版本大于 4.8.1
git clone https://github.com/Livox-SDK/Livox-SDK2.git
cd ./Livox-SDK2/
mkdir build
cd build
# 若报错 CMake Error,添加策略参数
cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 .. && make -j
sudo make install
安装完成后,.a和 .so 库在 /usr/local/lib,头文件在 /usr/local/include。
sudo apt install python3-colcon-common-extensions
mkdir -p ~/ros_ws/src
cd ~/ros_ws/src
git clone https://github.com/Livox-SDK/livox_ros_driver2.git
cd livox_ros_driver2
source /opt/ros/humble/setup.sh
./build.sh humble
修改配置文件 ~/ros_ws/install/livox_ros_driver2/share/livox_ros_driver2/config/MID360_config.json,将本机 IP 和设备 IP 设置为实际值。
{
"lidar_summary_info": { "lidar_type": 8 },
"MID360": {
"lidar_net_info": {
"cmd_data_port": 56100, "push_msg_port": 56200, "point_data_port": 56300,
"imu_data_port": 56400, "log_data_port": 56500
},
"host_net_info": {
"cmd_data_ip": "192.168.1.50", "cmd_data_port": 56101,
"push_msg_ip": "192.168.1.50", "push_msg_port": 56201,
"point_data_ip": "192.168.1.50", "point_data_port": 56301,
"imu_data_ip": "192.168.1.50", "imu_data_port": 56401,
"log_data_ip": "", "log_data_port": 56501
}
},
"lidar_configs": [
{
"ip": "192.168.1.188",
"pcl_data_type": 1, "pattern_mode": 0,
"extrinsic_parameter": { "roll": 0.0, "pitch": 0.0, "yaw": 0.0, "x": 0, "y": 0, "z": 0 }
}
]
}
source ~/ros_ws/install/setup.bash
ros2 launch livox_ros_driver2 rviz_MID360_launch.py
建议将 source 命令加入 ~/.bashrc 末尾以简化操作。
cd ~/ros_ws/src
git clone https://github.com/Ericsii/FAST_LIO.git --recursive
cd ..
rosdep install --from-paths src --ignore-src -y
# 务必使用 symlink-install 编译
colcon build --symlink-install
source install/setup.bash
若遇到 failed to create symbolic link 错误,说明路径冲突,手动删除对应目录即可:
rm -rf ~/ros_ws/build/livox_ros_driver2/ament_cmake_python/livox_ros_driver2/livox_ros_driver2
终端 1(启动驱动):
cd ~/ros_ws
source ~/ros_ws/install/setup.bash
ros2 launch livox_ros_driver2 rviz_MID360_launch.py
终端 2(启动算法):
cd ~/ros_ws/src
source ~/ros_ws/install/setup.bash
ros2 launch fast_lio mapping.launch.py
若运行后提示 undefined symbol: libusb_set_option,表明 PCL 与 libusb 版本不兼容。
解决方法:
sudo apt remove libpcl-dev
sudo apt install libpcl-dev=1.12.1+dfsg-5ubuntu0.1
sudo ldconfig
sudo apt install libusb-1.0-0-dev
sudo apt upgrade libusb-1.0-0
git clone https://github.com/PointCloudLibrary/pcl.git
cd pcl && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
sudo make install
若日志显示 Failed to find match for field 'time' 且 RViz 黑屏,原因是默认处理器未填充 curvature 字段。
解决方法:
修改 ~/ros_ws/src/FAST_LIO/src/preprocess.cpp 中的 mid360_handler() 函数。
找到 added_pt.curvature = 0.; 替换为:
/* 用整帧 header.stamp 作为统一时间戳 (ms) */
added_pt.curvature = rclcpp::Time(msg->header.stamp).seconds() * 1000.0;
保存后重新编译:
cd ~/ros_ws
colcon build --packages-select fast_lio
source install/setup.bash
ros2 launch fast_lio mapping.launch.py
此时应能正常输出点云。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online