由于刚才讲到,Datatype=7体现一个FLOAT32,长度需要4个bytes,以是x的下一个字段y就要从Offset=4开始。
接下来看不同其他Fileds。这里我的LiDAR数据包括: x, y, z, intensity, ring信息,以是共有5个字段。需要注意的是,每个字段用什么类型,是和rosbag中读取和转化有关的,这又涉及到ros中PCL的转化,这里不做展开先容,可以参考之前的博客:【学习记载】Ouster雷达运行fastlio提示 Failed to find match for field ‘ring‘ 的办理办法。我们这里只讲,数据是这个格式,在matlab内里是什么样子的。为什么用FLOAT32,或者uint16,这些是雷达驱动底层、代码接口定义的,这里不做探究。
在我的数据中,intensity也是FLOAT32类型,ring是uint16类型,以是具体的intensity如下,从第12个bytes开始读取7类型的数据: