保姆级避坑指南:在Ubuntu 18.04上搞定速腾Helios雷达驱动与fast-LIO2的完整配置流程

张开发
2026/4/10 22:43:43 15 分钟阅读

分享文章

保姆级避坑指南:在Ubuntu 18.04上搞定速腾Helios雷达驱动与fast-LIO2的完整配置流程
速腾Helios雷达与fast-LIO2全流程配置避坑手册第一次接触速腾Helios雷达和fast-LIO2算法时我花了整整三天时间才把整个环境搭建起来。每次编译失败或者数据格式转换出错都让人无比抓狂。如果你也正在经历这种痛苦那么这份避坑指南就是为你准备的。本文将详细拆解从驱动安装到数据格式转换的每一个关键步骤特别是那些官方文档没有明确说明的细节问题。1. 环境准备与依赖安装Ubuntu 18.04虽然已经不算新版本但仍然是很多ROS开发者的首选系统。在开始之前请确保你的系统已经安装了ROS Melodic完整版。我建议使用干净的Ubuntu系统开始配置避免之前安装的各种包造成冲突。1.1 基础依赖安装首先更新软件源并安装必要的基础依赖sudo apt-get update sudo apt-get install -y libyaml-cpp-dev libpcap-dev这两个包是速腾雷达驱动运行的必要条件缺少它们会导致编译失败。接下来是Protobuf的安装这是一个可选但强烈推荐的依赖sudo apt-get install autoconf automake libtool curl make g unzip libffi-dev -y git clone https://github.com/protocolbuffers/protobuf.git cd protobuf ./autogen.sh ./configure make -j$(nproc) sudo make install sudo ldconfig注意make -j$(nproc)会使用你电脑的所有核心进行编译可以显著加快编译速度。但如果你内存不足(小于8GB)建议去掉-j$(nproc)参数。1.2 驱动下载与解压速腾官方提供了两种驱动下载方式完整包(rslidar_sdk.tar.gz)源代码(需要额外下载子模块)强烈建议选择第一种方式可以避免很多子模块依赖问题wget https://github.com/RoboSense-LiDAR/rslidar_sdk/releases/download/v1.3.0/rslidar_sdk.tar.gz tar -xzvf rslidar_sdk.tar.gz -C ~/catkin_ws/src/解压后你应该在~/catkin_ws/src/目录下看到rslidar_sdk文件夹。如果下载的是源代码版本还需要额外执行cd ~/catkin_ws/src/rslidar_sdk git submodule init git submodule update2. 驱动配置与编译2.1 关键配置文件修改进入rslidar_sdk目录后有三个关键文件需要修改CMakeLists.txt将set(COMPILE_METHOD ORIGINAL)改为set(COMPILE_METHOD CATKIN)将set(POINT_TYPE XYZI)改为set(POINT_TYPE XYZIRT)package.xml将package_ros1.xml重命名为package.xmlconfig.yaml找到lidar_type参数将其改为RSHELIOS确保frame_id设置为/rslidar确认msop_port和difop_port与你的雷达设置匹配常见错误很多人在修改CMakeLists.txt时只改了COMPILE_METHOD而忘记修改POINT_TYPE这会导致后续fast-LIO2无法正确解析时间戳信息。2.2 编译与测试完成上述修改后可以开始编译cd ~/catkin_ws catkin_make -j$(nproc) source devel/setup.bash如果编译成功可以通过以下命令测试雷达数据roslaunch rslidar_sdk start.launch在另一个终端中运行rviz添加PointCloud2显示类型将话题设置为/rslidar_points你应该能看到雷达点云数据。常见编译错误及解决方案错误类型可能原因解决方案Protobuf相关错误系统找不到protobuf库执行sudo ldconfig刷新库缓存Yaml-cpp错误未安装libyaml-cpp-dev确保执行了sudo apt-get install libyaml-cpp-devPcap错误网络权限问题使用sudo运行或设置设备权限3. 数据格式转换fast-LIO2算法最初是为Velodyne雷达设计的因此我们需要将速腾雷达的数据格式转换为Velodyne格式。这一步最容易出错很多博客的配置参数都不正确。3.1 安装转换包首先下载并安装转换包cd ~/catkin_ws/src git clone https://github.com/HViktorTsoi/rs_to_velodyne.git cd ~/catkin_ws catkin_make3.2 配置launch文件在rs_to_velodyne包下创建launch文件夹并新建velodyne.launch文件launch node pkgrs_to_velodyne namers_to_velodyne typers_to_velodyne argsXYZIRT XYZIRT outputscreen /node /launch关键点args参数必须包含两个相同的字符串XYZIRT XYZIRT很多教程只写一个会导致程序立即退出。3.3 测试转换结果依次运行以下命令测试转换是否成功roslaunch rslidar_sdk start.launch roslaunch rs_to_velodyne velodyne.launch在rviz中你现在应该能看到两个点云话题/rslidar_points原始速腾格式数据/velodyne_points转换后的Velodyne格式数据4. fast-LIO2配置与建图4.1 安装fast-LIO2首先安装必要的依赖sudo apt-get install -y libeigen3-dev libboost-all-dev然后下载并编译fast-LIO2cd ~/catkin_ws/src git clone https://github.com/hku-mars/FAST_LIO.git cd FAST_LIO git submodule update --init cd ~/catkin_ws catkin_make4.2 配置fast-LIO2参数修改FAST_LIO/config/velodyne.yaml文件common: lidar_topic: /velodyne_points imu_topic: /imu/data time_sync_en: false如果你的IMU数据话题不是/imu/data请相应修改。对于速腾Helios雷达建议保持time_sync_en为false因为雷达内部已经做了时间同步。4.3 运行建图启动所有节点roslaunch rslidar_sdk start.launch roslaunch rs_to_velodyne velodyne.launch roslaunch fast_lio mapping_velodyne.launch在rviz中添加PointCloud2显示类型将话题设置为/cloud_registered你应该能看到实时构建的地图。性能优化技巧如果建图延迟较高可以尝试降低fast-LIO2的max_iteration参数对于大范围建图适当增加map_file_path的存储空间室内环境可以将filter_size_surf和filter_size_map设置为0.2-0.55. 常见问题排查在实际使用中你可能会遇到以下问题雷达数据不显示检查网线连接是否正常确认config.yaml中的雷达型号和端口号正确使用ifconfig确认雷达IP与电脑在同一网段fast-LIO2建图漂移确保IMU数据质量良好尝试启用time_sync_en调整lidar_motion_compensation参数点云畸变严重检查雷达和IMU之间的外参标定降低运动速度特别是在旋转时系统资源占用过高降低fast-LIO2的max_iteration值减少point_filter_num参数关闭不必要的ROS节点经过多次实践我发现最稳定的配置组合是使用速腾官方驱动1.3.0版本fast-LIO2的最新commit同时保持所有中间环节(驱动、转换包、算法)都使用XYZIRT格式。这种配置下建图精度可以达到厘米级完全满足大多数SLAM应用的需求。

更多文章