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

相关推荐
qq_436962182 小时前
数据中台:打破企业数据孤岛,实现全域资产化的关键一步
数据库·人工智能·信息可视化·数据挖掘·数据分析
宇若-凉凉2 小时前
BERT 完整教程指南
人工智能·深度学习·bert
JD技术委员会3 小时前
如何在跨部门沟通失误后进行协调与澄清
人工智能
BestOrNothing_20153 小时前
运动学模型推导 + 离散化 + 工程化版本(适用于前方单舵轮 AGV / 自动驾驶 / MPC)
自动驾驶·mpc·模型预测控制·运动学模型·转向小车
PcVue China3 小时前
PcVue X 工控——工厂数字化转型与落地巡回研讨会圆满举行
人工智能·软件工程·scada·监控平台·工控网
StarPrayers.4 小时前
自蒸馏学习方法
人工智能·算法·学习方法
咚咚王者4 小时前
人工智能之编程进阶 Python高级:第十一章 过渡项目
开发语言·人工智能·python
深度学习lover4 小时前
<数据集>yolo航拍斑马线识别数据集<目标检测>
人工智能·深度学习·yolo·目标检测·计算机视觉·数据集·航拍斑马线识别
大力财经4 小时前
百度开启AI新纪元,让智能从成本变成超级生产力
人工智能·百度