一、环境准备
Ubuntu22.04、ROS2(ROS2安装)、Livox_SDK2(Livox_SDK2编译)、Livox ROS Driver 2驱动包(雷达驱动编译)
安装 ROS / ROS2
根据系统版本选择对应安装教程:
-
ROS Melodic 安装教程
-
ROS Noetic 安装教程
推荐使用 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.json、MID360_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
