Livox-Mid-360 固态激光雷达ROS格式数据分析

前言:

Livox-Mid-360 官方采用livox_ros_driver2ROS功能包发布ROS格式的数据,livox_ros_driver2可以把Livox原始雷达数据转化成ROS格式并以话题的形式发布出去。

下面列举一些雷达的基本概念:

  • 点云帧:雷达驱动每次向外发送的一组雷达数据集合称为一帧雷达数据。如果帧率是10HZ,那么每帧点云数据是100ms内雷达扫描的点云集合。每发布一次toptic就是一帧。注意:一帧激光点云数据并不一定是雷达旋转一周所扫描的点云数据。
  • 点云帧发布频率:1s内雷达发送的帧数,比如10HZ表示1s内雷达发送10帧的点云数据,即每100ms发送一帧点云数据。
  • 扫描频率:雷达的扫描频率一般是针对机械式旋转激光雷达而言的,指1s内雷达旋转的圈数。固态激光雷达的扫描方式和旋转式激光雷达不同,不同产品、厂商有不同的方式。

1.livox_ros_driver2

livox_ros_driver2包中用于处理livox-mid-360的接口有rviz_MID360.launch文件,负责连接到 MID360 LiDAR 设备、发布 pointcloud2 格式数据、自动加载 rviz。

Livox ros 2内部主要参数配置说明:

  • publish_freq:设置点云发布,浮点数据类型的频率,推荐值为5.0、10.0、20.0、50.0等。最大发布频率为 100.0 Hz。
  • multi_topic:如果 LiDAR 设备有独立的主题来发布点云数据 0 -- 所有 LiDAR 设备都使用相同的主题发布点云数据 1 -- 每个 LiDAR 设备都有自己的主题来发布点云数据
  • xfer_format:设置点云格式,0 -- Livox pointcloud2(PointXYZRTLT)点云格式, 1 -- Livox 自定义点云格式, 2 -- PCL 库中的标准点云 2 (pcl :: PointXYZI) 点云格式。

2.点云数据:

查看livox_ros_driver2发布出的话题,/livox/lidar 的消息类型为:sensor_msgs/PointCloud2,sensor_msgs/PointCloud2消息的内容为下(注意:这是一帧点云的消息类型,不是每个点云的信息):


其中每个参数的意义参考以下文章:

sensor_msgs/PointCloud2雷达数据信息-CSDN博客

2.1 PointCloud2数据结构

sensor_msgs/PointCloud2 Message
File: sensor_msgs/PointCloud2.msg
Raw Message Definition
# 该消息包含一个n维点的集合,它可能包含额外的信息,如法线、强度等。点数据以二进制blob的形式存储,其布局由“fields”数组的内容描述。

# 点云数据可以组织为2d(类似图像)或1d(无序)。以二维图像组织的点云可以由立体或飞行时间等相机深度传感器产生。

# 传感器数据采集时间,坐标坐标系ID (3d点)。
Header header
	uint32 seq
	time stamp			# topic发布的系统时间 unit:秒
	string frame_id		# topic发布的系统时间 unit:纳秒

# 点云的二维结构。如果云是无序的,高度为1,宽度是点云的长度(个数)。
uint32 height            #也就是线数,固态激光雷达点云不分线数,所以是1
uint32 width

# 描述通道及其在二进制数据块中的布局。
PointField[] fields				# 每个点的数据类型,不同枚举值对应不同类型

bool    is_bigendian			# 字节的排列顺序
uint32  point_step				# 单点的数据字节步长
uint32  row_step				# 一行数据的字节步长
uint8[] data					# 存储点云的数组,总长度为row_step*height

bool is_dense					# 如果没有非法数据点为真

2.2 fields数据结构

sensor_msgs/PointField Message
File: sensor_msgs/PointField.msg
Raw Message Definition
# 该消息以PointCloud2消息格式保存一个 点 条目的描述。
PointCloud2 message format.
uint8 INT8    = 1
uint8 UINT8   = 2
uint8 INT16   = 3
uint8 UINT16  = 4
uint8 INT32   = 5
uint8 UINT32  = 6
uint8 FLOAT32 = 7
uint8 FLOAT64 = 8

string name			# 名
uint32 offset		# 从点结构开始的偏移量
uint8  datatype		# 枚举数据类型
uint32 count		# 有多少个元素

2.3 实际数据分析

header: 					// 点云的头信息
  seq: 4873
  stamp: 					// 时间戳
    secs: 595
    nsecs: 698295140
  frame_id: "livox_frame"
height: 1					// 如果cloud 是无序的 height 是 1
width: 9984					// 点云的长度(点云中点的个数)
fields: 					// 该消息以PointCloud2消息格式保存一个 点 条目的描述。
  - 
    name: "x"				// “x”坐标信息
    offset: 0				// 从点结构开始的偏移量
    datatype: 7				// 枚举数据类型		FLOAT32 
    count: 1				// 域中有多少个元素
  - 
    name: "y"				// “y”坐标信息
    offset: 4
    datatype: 7				// FLOAT32  占4个字节
    count: 1
  - 
    name: "z"				// “z”坐标信息
    offset: 8
    datatype: 7				// FLOAT32  占4个字节
    count: 1
  - 
    name: "intensity"		// 反射强度坐标信息
    offset: 12
    datatype: 7				// FLOAT32  占4个字节
    count: 1
  - 
    name: "tag"				// 回波信息
    offset: 16
    datatype: 2				// UINT8    占1个字节
    count: 1
  - 
    name: "line"
    offset: 17
    datatype: 2				// UINT8    占1个字节
    count: 1
is_bigendian: False			// 数据存储方式,包括大端与小端,具体解释见后文参考链接
point_step: 18				// 一个点占的字节数 
row_step: 179712			// 一行的长度占用的字节数
data:[省略]
is_dense: True				// 没有非法数据点
---

  • 17
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
您好!关于Livox Mid-360激光雷达的测试,我可以提供一些基本的信息。 Livox Mid-360是一款高性能、高精度的激光雷达,适用于各种应用场景,包括自动驾驶、无人机、机器人等。它采用了Livox独特的扫描方式,可以实现高分辨率、高点云密度的数据获取。 在进行测试时,您可以考虑以下几个方面: 1. 功能测试:验证激光雷达的基本功能,包括扫描速度、角度范围、数据输出等。您可以通过连接激光雷达到计算机或其他设备,并使用相应的软件进行测试。 2. 数据质量测试:检查激光雷达输出的点云数据的质量,包括点云分辨率、噪声水平、距离精度等。可以将激光雷达放置在合适的环境中,观察并分析生成的点云数据。 3. 鲁棒性测试:测试激光雷达在不同环境下的性能表现,例如室内、室外、不同天气条件等。可以尝试在不同场景下进行测试,观察激光雷达的稳定性和可靠性。 4. 功能集成测试:将激光雷达与其他设备或系统进行集成测试,例如与导航系统、地图构建算法等。验证激光雷达在集成环境中的表现,并确保其与其他组件的兼容性。 请注意,在进行测试之前,确保您已经详细阅读了Livox Mid-360的用户手册,并按照指导进行操作。此外,根据您的具体需求,您可能需要进一步深入研究和测试Livox Mid-360的特性和性能。希望这些信息对您有所帮助!如果您有任何其他问题,我将很愿意继续帮助您。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jiqiang_z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值