pcap数据类型及velodyne16数据类型解析

pcap文件

pcap文件是一种常用的数据报存储格式,只不过里面的数据是十六进制的,如果用记事本打开显示的是乱码,用安装了HEX-Editor插件的Notepad++打开,能够以16进制数据的格式显示,用wireshark这种抓包工具就可以正常打开这种文件,愉快地查看里面的网络数据报了,同时wireshark也可以生成这种格式的文件。可以理解为pcap是一种通用的网络传输文件格式。
详细的解释见这边博客pcap文件详解

Velodyne原始数据采集

在这里插入图片描述

Velodyne原始数据的为一个一个数据包,每个数据包中记录了16根激光头探测到信息。VLP采集到的数据是基于UDP协议进行传输的,因此可以同多种方式获取激光雷达数据:
1.自己写程序,获取VLP实时产生的数据,之前用QT写过,但是自己造的车轮不是圆的。
2.直接用官方给的,官方给出了WIN版—VeloView,VeloView依赖winpcap、paraview、qt、python.想成功安装比较费劲,但是也安装了,能够实时采集VLP16产生的数据,并且可以导出excel格式,可以说是相当便于理解。
3.还有Ubuntu版,WIN版需要安装很多依赖安装比较麻烦,所以采集原始数据用的ubuntu,并且在ROS采集原始数据,采集的原始数据为rosbag,采集完成成后用PCL将rosbag数据转化成PCD格式即可。
WIN10下采集到的数据如图:WIN下采集到的数据

VLP原始数据格式及解析

在这里插入图片描述
这是VLP用户使用说明中的数据包说明。其实能把用户使用说明全看明白,激光雷达的安装、拆卸、使用、显示点云数据是完全没问题的。
这是一个完整的数据包,一个数据包中有12个数据块。每个数据块均以两个字节的起始标识符“ FF EE”开头,然后是两个字节的方位角值(旋转角度),然后是32个3字节的数据记录。42字节的标志头、12个数据记录块,每个数据记录块由2个字节标志FF EE+2个字节方位角+32*(2字节距离+1字节反射率),12个数据记录块共1200个字节。最后是4字节的时间戳和2个工厂字节。
在这里插入图片描述
其中一个channel data是3个字节组成的,前两个字节是距离,第三个字节是反射率。这就是数据包的大体说明,一定要仔细阅读VLP自带的用户说明,里面有详细地讲到。
这是VLP说明书中展示的通过Wireshark截取部分数据包:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
依据上图数据包的最左边为00000h表示行标识,左图第一行画红线部分FFEE为数据包的开头标识,E063十六进制两字节标识当前的角度,B6072A三字节前两字节B607标识雷达激光的探测距离信息,2A表示激光反射强度。最后面六个字节表示数据帧的时间戳和雷达信息参数,其中6D69940F表示时间戳,而3722表示工厂字节。
1、旋转角度值的计算
例如上图第一个数据包的旋转角度为E063
a、反转两个字节变成十六进制63E0
b、把63E0变成无符号的十进制为25568
c、再把25568除于100.0得到255.68,那么得到的值255.68就是当前的旋转角度值
2、16线激光分别测得的距离
例如上一个图第一个数据包第一个激光线的距离,其值为B6072A
a、B6072A其中B607为距离2A为反射强度,首先反转两个距离的字节变成07B6
b、把07B6变成无符号的十进制为1974
c、该型号雷达的分辨率为2.0mm,所以激光束测得的距离为1974 * 2mm = 3948mm
d、3948mm转化为米等于3.948m
3、获得帧的时间戳和雷达型号参数
例如上一个图最后六个字节的数据6D69940F3722
a、前四个字节的数据为时间戳为6D69940F,然后反转顺序0F94696D
b、0F94696D无符号十进制的值为261384557,单位为us
c、把261384557除以1000000可获得当前的时间(单位:秒)
d、后两个字节3722表示雷达的型号和参数,具体的意义如下图所示:
在这里插入图片描述
4、把角度和距离信息转化为三维坐标XYZ值
其中R的值为激光雷达测得的与障碍物的直线距离,该值为上述第2点测得的值,其中垂直角度ω可通过查表方法获得,每个激光束对应的角度ω是固定,而α则有第1点测得的旋转角度值。已知旋转角度α、垂直角度ω和R通过图中所述的公式即可求得XYZ值。
在这里插入图片描述
在这里插入图片描述
文章参考:Velodyne VLP-16激光雷达数据格式解析

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值