Livox-SDK/livox_ros_driver2
GitHub: Livox-SDK/livox_ros_driver2
用于在ROS/ROS2环境中驱动Livox LiDAR(HAP, Mid-360),实现点云与IMU数据采集、格式转换与发布的官方驱动包。
Stars: 700 | Forks: 564
# Livox ROS Driver 2
Livox ROS Driver 2 是用于连接 Livox 生产的 LiDAR 产品的第二代驱动包,适用于 ROS(推荐 noetic)和 ROS2(推荐 foxy 或 humble)。
**注意 :**
作为调试工具,不建议将 Livox ROS Driver 用于量产,而应仅限于测试场景。您应该基于原始源代码进行优化,以满足您的各种需求。
## 1. 准备工作
### 1.1 操作系统要求
* Ubuntu 18.04 用于 ROS Melodic;
* Ubuntu 20.04 用于 ROS Noetic 和 ROS2 Foxy;
* Ubuntu 22.04 用于 ROS2 Humble;
**提示:**
Colcon 是 ROS2 中使用的构建工具。
如何安装 colcon:[Colcon 安装说明](https://docs.ros.org/en/foxy/Tutorials/Beginner-Client-Libraries/Colcon-Tutorial.html)
### 1.2 安装 ROS & ROS2
有关 ROS Melodic 的安装,请参考:
[ROS Melodic 安装说明](https://wiki.ros.org/melodic/Installation)
有关 ROS Noetic 的安装,请参考:
[ROS Noetic 安装说明](https://wiki.ros.org/noetic/Installation)
有关 ROS2 Foxy 的安装,请参考:
[ROS Foxy 安装说明](https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html)
有关 ROS2 Humble 的安装,请参考:
[ROS Humble 安装说明](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html)
推荐使用 Desktop-Full 安装。
## 2. 构建与运行 Livox ROS Driver 2
### 2.1 克隆 Livox ROS Driver 2 源代码:
```
git clone https://github.com/Livox-SDK/livox_ros_driver2.git ws_livox/src/livox_ros_driver2
```
**注意 :**
请务必将源代码克隆到 '[work_space]/src/' 文件夹中(如上所示),否则由于编译工具的限制,将会发生编译错误。
### 2.2 构建并安装 Livox-SDK2
**注意 :**
请遵循 [Livox-SDK2/README.md](https://github.com/Livox-SDK/Livox-SDK2/blob/master/README.md) 中的安装指南操作。
### 2.3 构建 Livox ROS Driver 2:
#### 对于 ROS(以 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
```
### 2.4 运行 Livox ROS Driver 2:
#### 对于 ROS:
```
source ../../devel/setup.sh
roslaunch livox_ros_driver2 [launch file]
```
其中,
* **livox_ros_driver2** :是 Livox ROS Driver 2 的 ROS 包名称;
* **[launch 文件]** :是您想要使用的 ROS launch 文件;'launch_ROS1' 文件夹中包含几个供您参考的 launch 示例;
针对 HAP LiDAR 的一个 rviz launch 示例如下:
```
roslaunch livox_ros_driver2 rviz_HAP.launch
```
#### 对于 ROS2:
```
source ../../install/setup.sh
ros2 launch livox_ros_driver2 [launch file]
```
其中,
* **[launch 文件]** :是您想要使用的 ROS2 launch 文件;'launch_ROS2' 文件夹中包含几个供您参考的 launch 示例。
针对 HAP LiDAR 的一个 rviz launch 示例如下:
```
ros2 launch livox_ros_driver2 rviz_HAP_launch.py
```
## 3. Launch 文件与 livox_ros_driver2 内部参数配置说明
### 3.1 Launch 文件配置说明
ROS 的 launch 文件位于 "ws_livox/src/livox_ros_driver2/launch_ROS1" 目录下,ROS2 的 launch 文件位于 "ws_livox/src/livox_ros_driver2/launch_ROS2" 目录下。不同的 launch 文件具有不同的配置参数值,并用于不同的场景:
| launch 文件名称 | 描述 |
| ------------------------- | ------------------------------------------------------------ |
| 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 设备
发布 Livox 自定义点云数据 | | rviz_mixed.launch | 连接到 HAP 和 MID360 LiDAR 设备
发布 pointcloud2 格式数据
自动加载 rviz| | msg_mixed.launch | 连接到 HAP 和 MID360 LiDAR 设备
发布 Livox 自定义点云数据 | ### 3.2 Livox ros driver 2 主要内部参数配置说明 Livox_ros_driver2 的所有内部参数均位于 launch 文件中。以下是对三个常用参数的详细说明: | 参数 | 详细描述 | 默认值 | | ------------ | ------------------------------------------------------------ | ------- | | publish_freq | 设置点云发布的频率
浮点数据类型,推荐值为 5.0、10.0、20.0、50.0 等。最大发布频率为 100.0 Hz。| 10.0 | | multi_topic | LiDAR 设备是否拥有独立的 topic 来发布点云数据
0 -- 所有 LiDAR 设备使用相同的 topic 发布点云数据
1 -- 每个 LiDAR 设备都有各自的 topic 来发布点云数据 | 0 | | xfer_format | 设置点云格式
0 -- Livox pointcloud2(PointXYZRTLT) 点云格式
1 -- Livox 自定义点云格式
2 -- PCL 库中的标准 pointcloud2 (pcl :: PointXYZI) 点云格式(仅限 ROS) | 0 | **注意 :** 此表中未提及的其他参数,除非完全理解,否则不建议更改。 ***Livox_ros_driver2 点云数据详细说明 :*** 1. Livox pointcloud2 (PointXYZRTLT) 点云格式,如下所示: ``` float32 x # X axis, unit:m float32 y # Y axis, unit:m float32 z # Z axis, unit:m float32 intensity # the value is reflectivity, 0.0~255.0 uint8 tag # livox tag uint8 line # laser number in lidar float64 timestamp # Timestamp of point ``` **注意:** 帧中的点数可能会有所不同,但每个点都会提供一个时间戳。 2. Livox 自定义数据包格式,如下所示: ``` std_msgs/Header header # ROS standard message header uint64 timebase # The time of first point uint32 point_num # Total number of pointclouds uint8 lidar_id # Lidar device id number uint8[3] rsvd # Reserved use CustomPoint[] points # Pointcloud data ``` 上述自定义数据包中的自定义点云(CustomPoint)格式: ``` uint32 offset_time # offset time relative to the base time float32 x # X axis, unit:m float32 y # Y axis, unit:m float32 z # Z axis, unit:m uint8 reflectivity # reflectivity, 0~255 uint8 tag # livox tag uint8 line # laser number in lidar ``` 3. PCL 库中的标准 pointcloud2 (pcl :: PointXYZI) 格式(仅限 ROS 可以发布): 请参考 PCL 库 point_types.hpp 文件中的 pcl :: PointXYZI 数据结构。 ## 4. LiDAR 配置 LiDAR 配置(如 IP、端口、数据类型等)可以通过 json 风格的配置文件进行设置。单个 HAP、Mid360 和混合 LiDAR 的配置文件位于 "config" 文件夹中。launch 文件中名为 *'user_config_path'* 的参数指定了此类 json 文件的路径。 1. 以下是 HAP LiDAR 的配置示例(位于 config/HAP_config.json): ``` { "lidar_summary_info" : { "lidar_type": 8 # protocol type index, please don't revise this value }, "HAP": { "device_type" : "HAP", "lidar_ipaddr": "", "lidar_net_info" : { "cmd_data_port": 56000, # command port "push_msg_port": 0, "point_data_port": 57000, "imu_data_port": 58000, "log_data_port": 59000 }, "host_net_info" : { "cmd_data_ip" : "192.168.1.5", # host ip (it can be revised) "cmd_data_port": 56000, "push_msg_ip": "", "push_msg_port": 0, "point_data_ip": "192.168.1.5", # host ip "point_data_port": 57000, "imu_data_ip" : "192.168.1.5", # host ip "imu_data_port": 58000, "log_data_ip" : "", "log_data_port": 59000 } }, "lidar_configs" : [ { "ip" : "192.168.1.100", # ip of the LiDAR you want to config "pcl_data_type" : 1, "pattern_mode" : 0, "blind_spot_set" : 50, "extrinsic_parameter" : { "roll": 0.0, "pitch": 0.0, "yaw": 0.0, "x": 0, "y": 0, "z": 0 } } ] } ``` 上述 json 文件中的参数属性如下表所述: **LiDAR 配置参数** | 参数 | 类型 | 描述 | 默认值 | | :------------------------- | ------- | ------------------------------------------------------------ | --------------- | | ip | String | 您想要配置的 LiDAR 的 IP | 192.168.1.100 | | pcl_data_type | Int | 选择要发送的点云数据分辨率
1 -- 笛卡尔坐标数据 (32 位)
2 -- 笛卡尔坐标数据 (16 位)
3 -- 球坐标数据| 1 | | pattern_mode | Int | 空间扫描模式
0 -- 非重复扫描模式
1 -- 重复扫描模式
2 -- 重复扫描模式(低扫描率) | 0 | | blind_spot_set (仅适用于 HAP LiDAR) | Int | 设置盲区
范围从 50 cm 到 200 cm | 50 | | extrinsic_parameter | | 设置外参
"roll"、"picth"、"yaw" 的数据类型为 float
"x"、"y"、"z" 的数据类型为 int
| 有关 HAP 配置的更多信息,请参考: [HAP 配置文件说明](https://github.com/Livox-SDK/Livox-SDK2/wiki/hap-config-file-description) 2. 当连接多个 LiDAR 时,请将与不同 LiDAR 对应的对象添加到 "lidar_configs" 数组中。混合 LiDAR 配置文件内容的示例如下: ``` { "lidar_summary_info" : { "lidar_type": 8 # protocol type index, please don't revise this value }, "HAP": { "lidar_net_info" : { # HAP ports, please don't revise these values "cmd_data_port": 56000, # HAP command port "push_msg_port": 0, "point_data_port": 57000, "imu_data_port": 58000, "log_data_port": 59000 }, "host_net_info" : { "cmd_data_ip" : "192.168.1.5", # host ip "cmd_data_port": 56000, "push_msg_ip": "", "push_msg_port": 0, "point_data_ip": "192.168.1.5", # host ip "point_data_port": 57000, "imu_data_ip" : "192.168.1.5", # host ip "imu_data_port": 58000, "log_data_ip" : "", "log_data_port": 59000 } }, "MID360": { "lidar_net_info" : { # Mid360 ports, please don't revise these values "cmd_data_port": 56100, # Mid360 command port "push_msg_port": 56200, "point_data_port": 56300, "imu_data_port": 56400, "log_data_port": 56500 }, "host_net_info" : { "cmd_data_ip" : "192.168.1.5", # host ip "cmd_data_port": 56101, "push_msg_ip": "192.168.1.5", # host ip "push_msg_port": 56201, "point_data_ip": "192.168.1.5", # host ip "point_data_port": 56301, "imu_data_ip" : "192.168.1.5", # host ip "imu_data_port": 56401, "log_data_ip" : "", "log_data_port": 56501 } }, "lidar_configs" : [ { "ip" : "192.168.1.100", # ip of the HAP you want to config "pcl_data_type" : 1, "pattern_mode" : 0, "blind_spot_set" : 50, "extrinsic_parameter" : { "roll": 0.0, "pitch": 0.0, "yaw": 0.0, "x": 0, "y": 0, "z": 0 } }, { "ip" : "192.168.1.12", # ip of the Mid360 you want to config "pcl_data_type" : 1, "pattern_mode" : 0, "extrinsic_parameter" : { "roll": 0.0, "pitch": 0.0, "yaw": 0.0, "x": 0, "y": 0, "z": 0 } } ] } ``` 3. 当主机上的多个网卡连接到多个 LiDAR 时,您需要将与不同 LiDAR 对应的对象添加到 lidar_configs 数组中。分别运行不同的 launch 文件,以下是混合 LiDAR 配置文件内容的示例: **MID360_config1:** ``` { "lidar_summary_info" : { "lidar_type": 8 # protocol type index,please don't revise this value }, "MID360": { "lidar_net_info": { "cmd_data_port": 56100, # command port "push_msg_port": 56200, "point_data_port": 56300, "imu_data_port": 56400, "log_data_port": 56500 }, "host_net_info": [ { "lidar_ip": ["192.168.1.100"], # Lidar ip "host_ip": "192.168.1.5", # host ip "cmd_data_port": 56101, "push_msg_port": 56201, "point_data_port": 56301, "imu_data_port": 56401, "log_data_port": 56501 } ] }, "lidar_configs": [ { "ip": "192.168.1.100", # ip of the LiDAR you want to config "pcl_data_type": 1, "pattern_mode": 0, "extrinsic_parameter": { "roll": 0.0, "pitch": 0.0, "yaw": 0.0, "x": 0, "y": 0, "z": 0 } } ] } ``` **MID360_config2:** ``` { "lidar_summary_info" : { "lidar_type": 8 # protocol type index,please don't revise this value }, "MID360": { "lidar_net_info": { "cmd_data_port": 56100, # command port "push_msg_port": 56200, "point_data_port": 56300, "imu_data_port": 56400, "log_data_port": 56500 }, "host_net_info": [ { "lidar_ip": ["192.168.2.100"], # Lidar ip "host_ip": "192.168.2.5", # host ip "cmd_data_port": 56101, "push_msg_port": 56201, "point_data_port": 56301, "imu_data_port": 56401, "log_data_port": 56501 } ] }, "lidar_configs": [ { "ip": "192.168.2.100", # ip of the LiDAR you want to config "pcl_data_type": 1, "pattern_mode": 0, "extrinsic_parameter": { "roll": 0.0, "pitch": 0.0, "yaw": 0.0, "x": 0, "y": 0, "z": 0 } } ] } ``` **Launch1:** ```
# Mid360 MID360_config1 name
```
**Launch2:**
```
# Mid360 MID360_config2 name
```
## 5. 支持的 LiDAR 列表
* HAP
* Mid360
* (更多型号即将推出...)
## 6. 常见问题解答 (FAQ)
### 6.1 使用 "livox_lidar_rviz_HAP.launch" 启动,但在网格上没有点云显示?
请检查 RViz "Display" 面板中的 "Global Options - Fixed Frame" 字段。将该字段值设置为 "livox_frame" 并勾选面板中的 "PointCloud2" 选项。
### 6.2 使用命令 "ros2 launch livox_lidar_rviz_HAP_launch.py" 启动,但提示无法打开共享对象文件 "liblivox_sdk_shared.so" ?
请将 '/usr/local/lib' 添加到环境变量 LD_LIBRARY_PATH 中。
* 如果您想在当前终端中添加:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
* 如果您想为当前用户添加:
vim ~/.bashrc
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
source ~/.bashrc
发布 pointcloud2 格式数据
自动加载 rviz | | msg_HAP.launch | 连接到 HAP LiDAR 设备
发布 Livox 自定义点云数据| | rviz_MID360.launch | 连接到 MID360 LiDAR 设备
发布 pointcloud2 格式数据
自动加载 rviz| | msg_MID360.launch | 连接到 MID360 LiDAR 设备
发布 Livox 自定义点云数据 | | rviz_mixed.launch | 连接到 HAP 和 MID360 LiDAR 设备
发布 pointcloud2 格式数据
自动加载 rviz| | msg_mixed.launch | 连接到 HAP 和 MID360 LiDAR 设备
发布 Livox 自定义点云数据 | ### 3.2 Livox ros driver 2 主要内部参数配置说明 Livox_ros_driver2 的所有内部参数均位于 launch 文件中。以下是对三个常用参数的详细说明: | 参数 | 详细描述 | 默认值 | | ------------ | ------------------------------------------------------------ | ------- | | publish_freq | 设置点云发布的频率
浮点数据类型,推荐值为 5.0、10.0、20.0、50.0 等。最大发布频率为 100.0 Hz。| 10.0 | | multi_topic | LiDAR 设备是否拥有独立的 topic 来发布点云数据
0 -- 所有 LiDAR 设备使用相同的 topic 发布点云数据
1 -- 每个 LiDAR 设备都有各自的 topic 来发布点云数据 | 0 | | xfer_format | 设置点云格式
0 -- Livox pointcloud2(PointXYZRTLT) 点云格式
1 -- Livox 自定义点云格式
2 -- PCL 库中的标准 pointcloud2 (pcl :: PointXYZI) 点云格式(仅限 ROS) | 0 | **注意 :** 此表中未提及的其他参数,除非完全理解,否则不建议更改。 ***Livox_ros_driver2 点云数据详细说明 :*** 1. Livox pointcloud2 (PointXYZRTLT) 点云格式,如下所示: ``` float32 x # X axis, unit:m float32 y # Y axis, unit:m float32 z # Z axis, unit:m float32 intensity # the value is reflectivity, 0.0~255.0 uint8 tag # livox tag uint8 line # laser number in lidar float64 timestamp # Timestamp of point ``` **注意:** 帧中的点数可能会有所不同,但每个点都会提供一个时间戳。 2. Livox 自定义数据包格式,如下所示: ``` std_msgs/Header header # ROS standard message header uint64 timebase # The time of first point uint32 point_num # Total number of pointclouds uint8 lidar_id # Lidar device id number uint8[3] rsvd # Reserved use CustomPoint[] points # Pointcloud data ``` 上述自定义数据包中的自定义点云(CustomPoint)格式: ``` uint32 offset_time # offset time relative to the base time float32 x # X axis, unit:m float32 y # Y axis, unit:m float32 z # Z axis, unit:m uint8 reflectivity # reflectivity, 0~255 uint8 tag # livox tag uint8 line # laser number in lidar ``` 3. PCL 库中的标准 pointcloud2 (pcl :: PointXYZI) 格式(仅限 ROS 可以发布): 请参考 PCL 库 point_types.hpp 文件中的 pcl :: PointXYZI 数据结构。 ## 4. LiDAR 配置 LiDAR 配置(如 IP、端口、数据类型等)可以通过 json 风格的配置文件进行设置。单个 HAP、Mid360 和混合 LiDAR 的配置文件位于 "config" 文件夹中。launch 文件中名为 *'user_config_path'* 的参数指定了此类 json 文件的路径。 1. 以下是 HAP LiDAR 的配置示例(位于 config/HAP_config.json): ``` { "lidar_summary_info" : { "lidar_type": 8 # protocol type index, please don't revise this value }, "HAP": { "device_type" : "HAP", "lidar_ipaddr": "", "lidar_net_info" : { "cmd_data_port": 56000, # command port "push_msg_port": 0, "point_data_port": 57000, "imu_data_port": 58000, "log_data_port": 59000 }, "host_net_info" : { "cmd_data_ip" : "192.168.1.5", # host ip (it can be revised) "cmd_data_port": 56000, "push_msg_ip": "", "push_msg_port": 0, "point_data_ip": "192.168.1.5", # host ip "point_data_port": 57000, "imu_data_ip" : "192.168.1.5", # host ip "imu_data_port": 58000, "log_data_ip" : "", "log_data_port": 59000 } }, "lidar_configs" : [ { "ip" : "192.168.1.100", # ip of the LiDAR you want to config "pcl_data_type" : 1, "pattern_mode" : 0, "blind_spot_set" : 50, "extrinsic_parameter" : { "roll": 0.0, "pitch": 0.0, "yaw": 0.0, "x": 0, "y": 0, "z": 0 } } ] } ``` 上述 json 文件中的参数属性如下表所述: **LiDAR 配置参数** | 参数 | 类型 | 描述 | 默认值 | | :------------------------- | ------- | ------------------------------------------------------------ | --------------- | | ip | String | 您想要配置的 LiDAR 的 IP | 192.168.1.100 | | pcl_data_type | Int | 选择要发送的点云数据分辨率
1 -- 笛卡尔坐标数据 (32 位)
2 -- 笛卡尔坐标数据 (16 位)
3 -- 球坐标数据| 1 | | pattern_mode | Int | 空间扫描模式
0 -- 非重复扫描模式
1 -- 重复扫描模式
2 -- 重复扫描模式(低扫描率) | 0 | | blind_spot_set (仅适用于 HAP LiDAR) | Int | 设置盲区
范围从 50 cm 到 200 cm | 50 | | extrinsic_parameter | | 设置外参
"roll"、"picth"、"yaw" 的数据类型为 float
"x"、"y"、"z" 的数据类型为 int
| 有关 HAP 配置的更多信息,请参考: [HAP 配置文件说明](https://github.com/Livox-SDK/Livox-SDK2/wiki/hap-config-file-description) 2. 当连接多个 LiDAR 时,请将与不同 LiDAR 对应的对象添加到 "lidar_configs" 数组中。混合 LiDAR 配置文件内容的示例如下: ``` { "lidar_summary_info" : { "lidar_type": 8 # protocol type index, please don't revise this value }, "HAP": { "lidar_net_info" : { # HAP ports, please don't revise these values "cmd_data_port": 56000, # HAP command port "push_msg_port": 0, "point_data_port": 57000, "imu_data_port": 58000, "log_data_port": 59000 }, "host_net_info" : { "cmd_data_ip" : "192.168.1.5", # host ip "cmd_data_port": 56000, "push_msg_ip": "", "push_msg_port": 0, "point_data_ip": "192.168.1.5", # host ip "point_data_port": 57000, "imu_data_ip" : "192.168.1.5", # host ip "imu_data_port": 58000, "log_data_ip" : "", "log_data_port": 59000 } }, "MID360": { "lidar_net_info" : { # Mid360 ports, please don't revise these values "cmd_data_port": 56100, # Mid360 command port "push_msg_port": 56200, "point_data_port": 56300, "imu_data_port": 56400, "log_data_port": 56500 }, "host_net_info" : { "cmd_data_ip" : "192.168.1.5", # host ip "cmd_data_port": 56101, "push_msg_ip": "192.168.1.5", # host ip "push_msg_port": 56201, "point_data_ip": "192.168.1.5", # host ip "point_data_port": 56301, "imu_data_ip" : "192.168.1.5", # host ip "imu_data_port": 56401, "log_data_ip" : "", "log_data_port": 56501 } }, "lidar_configs" : [ { "ip" : "192.168.1.100", # ip of the HAP you want to config "pcl_data_type" : 1, "pattern_mode" : 0, "blind_spot_set" : 50, "extrinsic_parameter" : { "roll": 0.0, "pitch": 0.0, "yaw": 0.0, "x": 0, "y": 0, "z": 0 } }, { "ip" : "192.168.1.12", # ip of the Mid360 you want to config "pcl_data_type" : 1, "pattern_mode" : 0, "extrinsic_parameter" : { "roll": 0.0, "pitch": 0.0, "yaw": 0.0, "x": 0, "y": 0, "z": 0 } } ] } ``` 3. 当主机上的多个网卡连接到多个 LiDAR 时,您需要将与不同 LiDAR 对应的对象添加到 lidar_configs 数组中。分别运行不同的 launch 文件,以下是混合 LiDAR 配置文件内容的示例: **MID360_config1:** ``` { "lidar_summary_info" : { "lidar_type": 8 # protocol type index,please don't revise this value }, "MID360": { "lidar_net_info": { "cmd_data_port": 56100, # command port "push_msg_port": 56200, "point_data_port": 56300, "imu_data_port": 56400, "log_data_port": 56500 }, "host_net_info": [ { "lidar_ip": ["192.168.1.100"], # Lidar ip "host_ip": "192.168.1.5", # host ip "cmd_data_port": 56101, "push_msg_port": 56201, "point_data_port": 56301, "imu_data_port": 56401, "log_data_port": 56501 } ] }, "lidar_configs": [ { "ip": "192.168.1.100", # ip of the LiDAR you want to config "pcl_data_type": 1, "pattern_mode": 0, "extrinsic_parameter": { "roll": 0.0, "pitch": 0.0, "yaw": 0.0, "x": 0, "y": 0, "z": 0 } } ] } ``` **MID360_config2:** ``` { "lidar_summary_info" : { "lidar_type": 8 # protocol type index,please don't revise this value }, "MID360": { "lidar_net_info": { "cmd_data_port": 56100, # command port "push_msg_port": 56200, "point_data_port": 56300, "imu_data_port": 56400, "log_data_port": 56500 }, "host_net_info": [ { "lidar_ip": ["192.168.2.100"], # Lidar ip "host_ip": "192.168.2.5", # host ip "cmd_data_port": 56101, "push_msg_port": 56201, "point_data_port": 56301, "imu_data_port": 56401, "log_data_port": 56501 } ] }, "lidar_configs": [ { "ip": "192.168.2.100", # ip of the LiDAR you want to config "pcl_data_type": 1, "pattern_mode": 0, "extrinsic_parameter": { "roll": 0.0, "pitch": 0.0, "yaw": 0.0, "x": 0, "y": 0, "z": 0 } } ] } ``` **Launch1:** ```
标签:C++, Colcon, HAP, Homebrew安装, Livox, Mid-360, ROS, ROS2, ROS Foxy, ROS Humble, ROS Noetic, SLAM, 传感器集成, 开源驱动, 数据擦除, 机器人, 激光雷达, 点云数据, 物联网设备, 硬件接口, 自动驾驶, 自动驾驶感知, 雷达驱动