保姆级教程:用Livox Viewer搞定多台Mid-70雷达的外参标定与ROS驱动配置

张开发
2026/4/16 10:56:51 15 分钟阅读

分享文章

保姆级教程:用Livox Viewer搞定多台Mid-70雷达的外参标定与ROS驱动配置
多Livox Mid-70雷达系统集成与ROS驱动配置全流程指南当我们需要为自动驾驶或机器人系统构建更全面的环境感知能力时单台Livox Mid-70雷达的视野往往无法满足需求。这款雷达虽然盲区小、性价比高但水平视场角有限通过多雷达组合可以显著扩大感知范围。本文将详细介绍如何从零开始配置多台Mid-70雷达系统包括硬件连接、软件设置、外参标定和ROS驱动配置等完整流程。1. 系统准备与环境搭建在开始配置前我们需要确保所有硬件和软件环境准备就绪。Livox Mid-70雷达通过网线与工控机连接每台雷达需要独立的IP地址。建议使用千兆交换机来保证数据传输的稳定性特别是当同时使用多台雷达时。首先从Livox官网下载最新版的Livox Viewer软件。虽然官方可能标注支持Ubuntu 16.04但在18.04和20.04上通常也能正常运行。下载完成后解压文件根据README中的说明运行安装脚本tar -xzf Livox_Viewer_0.10.0_Ubuntu16.04.tar.gz cd Livox_Viewer_0.10.0_Ubuntu16.04 chmod x livox_viewer.sh ./livox_viewer.sh安装过程中可能会提示缺少依赖库常见的有libicu55libxcb-xinerama0libgl1-mesa-glx可以使用apt命令安装这些依赖sudo apt-get update sudo apt-get install libicu55 libxcb-xinerama0 libgl1-mesa-glx2. 雷达网络配置与连接每台Livox雷达出厂时都有默认IP地址当使用多台设备时需要为每台设备分配不同的静态IP。Livox雷达的IP配置可以通过两种方式实现使用Livox Viewer图形界面打开Livox Viewer连接雷达后在设备列表中选择目标设备右键点击选择修改IP输入新的IP地址、子网掩码和网关通过命令行工具 Livox提供了命令行工具livox_lidar_config可以进行批量配置./livox_lidar_config -i 192.168.1.100 -m 255.255.255.0 -g 192.168.1.1 -s 192.168.1.50参数说明-i: 新IP地址-m: 子网掩码-g: 网关地址-s: 雷达当前IP地址用于识别特定设备建议的IP分配方案雷达编号IP地址用途说明雷达1192.168.1.101前向主雷达雷达2192.168.1.102左侧补盲雷达雷达3192.168.1.103右侧补盲雷达工控机192.168.1.100数据处理主机注意所有设备必须位于同一子网内且IP地址不能冲突。配置完成后建议使用ping命令测试连通性。3. 多雷达外参标定外参标定是确定各雷达之间相对位置和姿态关系的过程对于后续的点云融合至关重要。Livox Viewer提供了直观的图形化标定工具以下是详细步骤启动Livox Viewer并连接所有雷达在左上角设备列表中勾选需要标定的雷达点击工具栏中的标定按钮三角形图标在右侧参数面板中输入标定参数平移参数以米为单位表示雷达间的相对位置旋转参数以度为单位表示雷达间的相对姿态假设我们有两台雷达雷达2相对于雷达1的位置是X方向0.5米Y方向0.3米Z方向-0.1米旋转角度为绕Z轴旋转30度则参数填写如下参数值说明X平移0.5水平方向位移(米)Y平移0.3侧向位移(米)Z平移-0.1高度方向位移(米)X旋转0横滚角(度)Y旋转0俯仰角(度)Z旋转30偏航角(度)点击应用按钮保存标定结果可以在3D视图中观察标定效果检查点云是否对齐正确标定完成后外参矩阵会自动保存到雷达的配置文件中。对于更复杂的多雷达系统如4-6台雷达建议采用分步标定策略先标定雷达1和雷达2然后以雷达1为基准标定雷达3依此类推确保整个系统有统一的参考坐标系4. ROS驱动配置与参数详解Livox提供了ROS驱动包livox_ros_driver支持多雷达同时工作。我们需要重点配置两个文件launch文件和JSON配置文件。4.1 launch文件配置典型的launch文件包含以下关键参数launch arg namemulti_topic default1/ arg namemsg_frame_id defaultlivox_frame/ node namelivox_lidar_publisher pkglivox_ros_driver typelivox_ros_driver_node outputscreen param namemulti_topic value$(arg multi_topic)/ param nameframe_id value$(arg msg_frame_id)/ param nameuser_config_path value$(find livox_ros_driver)/config/livox_lidar_config.json/ !-- 重映射topic示例 -- remap from/livox/lidar_3GGDJ3C00100011 to/livox/lidar_front/ remap from/livox/lidar_3GGDJ3C00100411 to/livox/lidar_back/ /node /launch关键参数说明multi_topic设置为1时每个雷达发布独立topic0则合并为一个topicframe_id点云数据的参考坐标系名称user_config_path指向雷达配置文件路径4.2 JSON配置文件详解JSON配置文件包含了每个雷达的具体参数{ lidar_config: [ { broadcast_code: 3GGDJ3C00100011, enable_connect: true, return_mode: 0, coordinate: 0, extrinsic_parameter_source: 1, enable_high_sensitivity: 0 }, { broadcast_code: 3GGDJ3C00100411, enable_connect: true, return_mode: 0, coordinate: 0, extrinsic_parameter_source: 1, enable_high_sensitivity: 0 } ], timesync_config: { enable_timesync: false, device_name: /dev/pts/2, comm_device_type: 0, baudrate_index: 7, parity_index: 0 } }重要字段解释broadcast_code雷达的唯一标识码extrinsic_parameter_source0不使用外参1使用Livox Viewer标定的外参2使用自定义外参矩阵enable_high_sensitivity高灵敏度模式适用于低反射率物体5. 时间同步与TF树配置多雷达系统的时间同步至关重要时间不同步会导致点云融合时出现错位。Livox支持PTP(精确时间协议)同步配置步骤如下确保工控机和所有雷达连接到支持PTP的交换机在工控机上安装ptpd服务sudo apt-get install ptpd配置ptpd以主时钟模式运行sudo ptpd -M -i eth0 -C在JSON配置文件中启用时间同步timesync_config: { enable_timesync: true, device_name: /dev/pts/2, comm_device_type: 1, baudrate_index: 7, parity_index: 0 }对于TF树的配置需要在launch文件中添加静态变换发布器node pkgtf typestatic_transform_publisher namebase_to_livox args0 0 0 0 0 0 /base_link /livox_frame 100/这个变换将雷达坐标系连接到机器人基础坐标系。如果标定时使用了其他参考系需要相应调整这些参数。6. 验证与调试完成所有配置后按以下步骤验证系统是否正常工作启动ROS驱动roslaunch livox_ros_driver livox_lidar.launch检查topic列表确认每个雷达的点云数据正常发布rostopic list使用rviz可视化点云rosrun rviz rviz -d $(rospack find livox_ros_driver)/config/display_lidar_points.rviz检查TF树是否正确rosrun tf view_frames evince frames.pdf常见问题及解决方案点云不显示检查雷达IP配置、网络连接和ROS驱动参数点云错位重新检查外参标定结果确认TF变换正确时间同步警告确保PTP服务正常运行检查时间同步配置在实际项目中我发现将multi_topic设置为1每个雷达独立topic更便于调试因为可以单独检查每个雷达的数据。而在最终应用中根据处理需求可以选择合并topic以减少数据传输开销。

更多文章