Lidar调试记录Ⅳ之Ubuntu22.04+ROS2+Livox_SDK2环境下编译Livox ROS Driver 2

一、环境准备

Ubuntu22.04、ROS2(ROS2安装)、Livox_SDK2(Livox_SDK2编译)、Livox ROS Driver 2驱动包(雷达驱动编译

安装 ROS / ROS2

根据系统版本选择对应安装教程:

推荐使用 Desktop-Full 安装(包含 RViz、rqt、demo 等可视化工具)

系统要求(OS Requirements)

操作系统版本 对应 ROS 版本
Ubuntu 18.04 ROS Melodic
Ubuntu 20.04 ROS Noetic / ROS2 Foxy
Ubuntu 22.04 ROS2 Humble

Tips: ROS2 使用 colcon 作为构建工具,可参考官方安装指南:Colcon installation instructions

二、Livox ROS Driver 2 安装与使用

1、克隆源码

git clone https://github.com/Livox-SDK/livox_ros_driver2.git ws_livox/src/livox_ros_driver2

注意:必须在 [workspace]/src/ 目录下克隆,否则编译工具会报路径错误。

2、安装 Livox-SDK2

Livox ROS Driver 2 依赖 Livox-SDK2,请先安装:可参考 Livox_SDK2(Livox_SDK2编译)

git clone https://github.com/Livox-SDK/Livox-SDK2.git

cd Livox-SDK2

mkdir build && cd build

cmake .. && make -j

sudo make install

3、编译 Livox ROS Driver 2
ROS1 (以 Noetic 为例)

source /opt/ros/noetic/setup.sh

./build.sh ROS1

ROS2 Foxy

source /opt/ros/foxy/setup.sh

./build.sh ROS2

ROS2 Humble

source /opt/ros/humble/setup.sh

./build.sh humble

4、运行 Livox ROS Driver 2
ROS1

source ../../devel/setup.sh

roslaunch livox_ros_driver2 [launch file]

例如运行 HAP 激光雷达:

roslaunch livox_ros_driver2 rviz_HAP.launch

ROS2

source ../../install/setup.sh

ros2 launch livox_ros_driver2 [launch file]

例如运行 HAP 激光雷达:

ros2 launch livox_ros_driver2 rviz_HAP_launch.py

三、启动文件与参数配置说明

3.1 启动文件路径

  • ROS1 启动文件路径:ws_livox/src/livox_ros_driver2/launch_ROS1/

  • ROS2 启动文件路径:ws_livox/src/livox_ros_driver2/launch_ROS2/

启动文件 功能说明
rviz_HAP.launch 连接 HAP LiDAR,发布 PointCloud2 数据并自动启动 RViz
msg_HAP.launch 连接 HAP LiDAR,发布 Livox 自定义点云格式数据
rviz_MID360.launch 连接 MID360 LiDAR,发布 PointCloud2 数据并自动启动 RViz
msg_MID360.launch 连接 MID360 LiDAR,发布自定义点云格式
rviz_mixed.launch 连接 HAP + MID360,多雷达混合模式
msg_mixed.launch 发布混合自定义点云格式

3.2 主要内部参数

参数名 说明 默认值
publish_freq 点云发布频率(Hz),如 5.0、10.0、20.0、50.0 10.0
multi_topic 是否为每个雷达单独 topic 发布(0:合并,1:分开) 0
xfer_format 点云格式(0:Livox PointCloud2,1:自定义,2:标准 pcl::PointXYZI) 0

⚠️ 其他参数请勿随意修改,除非对驱动机制有充分理解。

3.3 Livox 点云格式说明

Livox PointCloud2 格式 (PointXYZRTLT)
bash 复制代码
float32 x
float32 y
float32 z
float32 intensity
uint8   tag
uint8   line
float64 timestamp
自定义点云格式
bash 复制代码
uint32  offset_time
float32 x, y, z
uint8   reflectivity
uint8   tag
uint8   line

四、LiDAR 配置文件(config)

LiDAR 网络与参数通过 JSON 配置文件设定,路径为:

ws_livox/src/livox_ros_driver2/config/

📘 示例(HAP_config.json)

bash 复制代码
{
  "lidar_summary_info": {"lidar_type": 8},
  "HAP": {
    "device_type": "HAP",
    "host_net_info": {
      "cmd_data_ip": "192.168.1.5",
      "point_data_ip": "192.168.1.5",
      "imu_data_ip": "192.168.1.5"
    }
  },
  "lidar_configs": [
    {
      "ip": "192.168.1.100",
      "pcl_data_type": 1,
      "pattern_mode": 0,
      "blind_spot_set": 50,
      "extrinsic_parameter": {"x":0,"y":0,"z":0,"roll":0,"pitch":0,"yaw":0}
    }
  ]
}

多雷达场景:在 lidar_configs 数组中增加多个对象即可。

多网卡连接多雷达时,可使用 MID360_config1.jsonMID360_config2.json 并在不同 launch 文件中引用。

五、支持的雷达型号

HAP、 MID360

六、常见问题 FAQ

1. 启动 RViz 后无点云显示?

请在 RViz 的 Global Options → Fixed Frame 中将坐标系改为:

livox_frame

并勾选 "PointCloud2" 以查看点云。

2. 运行时报错:cannot open shared object file: liblivox_sdk_shared.so

说明库路径未添加。执行以下命令:

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib

如需永久生效:

echo "export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:/usr/local/lib" >> ~/.bashrc source ~/.bashrc

相关推荐
wwwzhouhui2 小时前
2026年1月18日-Obsidian + AI,笔记效率提升10倍!一键生成Canvas和小红书风格笔记
人工智能·obsidian·skills
我星期八休息2 小时前
MySQL数据可视化实战指南
数据库·人工智能·mysql·算法·信息可视化
wuk9982 小时前
基于遗传算法优化BP神经网络实现非线性函数拟合
人工智能·深度学习·神经网络
码农三叔2 小时前
(1-3)人形机器人的发展历史、趋势与应用场景:人形机器人关键技术体系总览
人工智能·机器人
白日做梦Q3 小时前
深度学习中的正则化技术全景:从Dropout到权重衰减的优化逻辑
人工智能·深度学习
清铎3 小时前
大模型训练_week3_day15_Llama概念_《穷途末路》
前端·javascript·人工智能·深度学习·自然语言处理·easyui
码农三叔3 小时前
(1-2)人形机器人的发展历史、趋势与应用场景:未来趋势与行业需求
人工智能·microsoft·机器人
与光同尘 大道至简3 小时前
ESP32 小智 AI 机器人入门教程从原理到实现(自己云端部署)
人工智能·python·单片机·机器人·github·人机交互·visual studio
OJAC1113 小时前
当DeepSeek V4遇见近屿智能:一场AI进化的叙事正在展开
人工智能·深度学习·机器学习