Velodyne-16c激光雷达数据包解析与坐标计算方法
1. 数据包接收与数据包格式
VELOCYNE-16c激光雷达使用UDP的形式向网络发送数据。在雷达web端设置页面,或通过命令行进行设置后,在接收端匹配雷达IP与雷达UDP端口号即可接受雷达数据。
雷达总共有三种形式的扫描方式,分别对应三种形式的数据包内容:(1)strongest (2) last (3) dual retuen mode
本文在此以strongest模式作为例子进行介绍。具体模式信息参照vlp-16 user manual.pdf
数据包结构如图:
图 单点模式(strongest模式)
假设当前雷达转速为600rpm,则雷达角分辨率为0.2°
数据包开始的第一个Azimuth N为当前激光点返回的方位角(具体定义下一章介绍)
数据包中共有N~N+23个点云,即共24个点云
2. 数据解析与坐标计算
目前官方user manual能够在网上方便地下载得到,因此本章中部分内容涉及官方文档的描述
2.1 雷达坐标系定义
2.2 坐标转换
数据包中的数据结构如下二图所示,本文不再赘述
数据包中channel 0~15分别对应的照射角度如下:
通过以上解析,可以得到在极坐标系下的各点坐标信息。进行转换,即可得到XYZ坐标系下的点坐标信息。
3. 需要解决的问题
- 雷达扫描频率为10Hz,每秒数据包在480帧左右,即每次扫描会产生48个左右的数据包,需要将分散的数据包数据合并称为一次扫描的点云数据
- 获得点云之后的绘图问题:点云数量较大,若全部进行绘图会消耗大量计算资源,同时由于点云数量的巨大,会导致点云图显示效果的下降(如下图的效果对比)。如何简化绘图过程?如何优化绘图效果?
- 再labview等平台的自建数据解析与采集程序中,如何对点云数据进行采集?是采集解析后的坐标点参数按时间顺序帧保存?还是保存原始UDP数据包?
4. 参考
- CSDN博客:https://blog.csdn.net/qq_34911636/article/details/89946329
- 手册 :Velodyne-16c User Manual(自行搜寻下载,本文在此不提供下载帮助)