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

相关推荐
IT·小灰灰3 小时前
零成本解锁国产双旗舰:在AI Ping平台免费体验MiniMax M2.1与GLM-4.7的完整实战指南
人工智能·python
A等天晴3 小时前
速通gemini3pro+开发工具Antigravity
ide·人工智能
趣知岛3 小时前
初识DeepSeek
开发语言·人工智能·deepseek
Java后端的Ai之路3 小时前
【神经网络基础】-从生物神经元到人工神经元
人工智能·深度学习·神经网络·机器学习
tap.AI3 小时前
CrewAI(二)角色专业化:如何像管理远洋巨轮一样设计 AI 智能体
人工智能
我是人机不吃鸭梨3 小时前
Flutter 桌面端开发终极指南(2025版):构建跨平台企业级应用的完整解决方案
开发语言·javascript·人工智能·flutter·架构
小徐Chao努力3 小时前
【Langchain4j-Java AI开发】03-提示词与模板
java·开发语言·人工智能
彼岸花开了吗3 小时前
构建AI智能体:六十六、智能的边界:通过偏差-方差理论理解大模型的能力与局限
人工智能·python
AlanHou3 小时前
Dify、n8n 还是 Coze?万字长文解析三大主流 AI Agent 平台
人工智能·agent
未知原色3 小时前
前端工程师转型AI的优势与挑战
前端·人工智能