ROS中sensor_msgs::PointCloud2类型消息解读
- 实例
header:
seq: 2116
stamp:
secs: 1586919439
nsecs: 448866652
frame_id: "LidarSensor1"
height: 1
width: 3
fields:
-
name: "x"
offset: 0
datatype: 7
count: 1
-
name: "y"
offset: 4
datatype: 7
count: 1
-
name: "z"
offset: 8
datatype: 7
count: 1
is_bigendian: False
point_step: 12
row_step: 36
data: [143, 194, 117, 53, 10, 215, 163, 53, 222, 238, 165, 64, 143, 194, 117, 53, 10, 215, 163, 53, 222, 238, 165, 64, 143, 194, 117, 53, 10, 215, 163, 53, 222, 238, 165, 64]
is_dense: True
- 变量解释
header --头文件,包含消息的时间戳和坐标系
height --点云的高度,如果是无序点云,则为1
width --每行点云的宽度
fields --每个点的成员变量,其中name为对应成员变量的名字,datatype为变量的数据类型,具体对应关系如下
// uint8 INT8 = 1
// uint8 UINT8 = 2
// uint8 INT16 = 3
// uint8 UINT16 = 4
// uint8 INT32 = 5
// uint8 UINT32 = 6
// uint8 FLOAT32 = 7
// uint8 FLOAT64 = 8
is_bigendian –
point_step --每个点占用的比特数,1个字节对应8个比特数
row_step --每一行占用的比特数
data --为序列化后的数据,直接获得不了信息,序列化是为了方便信息传输和交换,使用时需要反序列化
is_dense --是否有非法数据点,true表示没有
[1] https://www.it610.com/article/1295405967835471872.htm