VLP16线用户手册

文档 

传感器数据

分组类型和定义

传感器产生两种类型的数据包:数据包和位置数据包。位置包有时也被称为遥测包或GPS包。

数据包包括传感器测量到的三维数据以及返回光脉冲的表面的校准反射率。数据包中还包含一组方位角和一个4字节的时间戳,以及两个标识传感器模型和返回模式的工厂字节

了解模型和返回模式可以为您的软件提供信息,从而自动调整以适应不同的数据格式。如果您将传感器配置为使用GPS时间源同步,则位置包提供接收到的最后一条GPRMC NMEA消息的副本。

位置包还提供一个字节来标识PPS信号的状态,以便与时间源同步。

定义

下面几节将解释传感器数据包构造。

发射序列

当传感器中的所有激光器发射时,就会发生发射序列。它们按特定于给定产品线的顺序发射。包括激光充电时间。发射序列有时被称为发射群。

激光通道

激光通道是单个903纳米激光发射器和探测器对。每个激光通道固定在相对于传感器的水平面的特定仰角上。通过特定激光通道的数据包位置来推断其仰角。



数据点

数据点是通过一个激光通道测量激光脉冲的反射。

数据点在数据包中表示为三个字节——两个字节的距离和一个字节的校准反射率。距离是一个无符号整数。它有2毫米粒度。因此,报告值51,154表示102,308 mm或

102.308米。校准反射率的报告在0到255的范围内,正如在第32页的关键特性所描述的。仰角(ω)推断是基于数据点的位置在一个数据块。

方位角

双字节方位值(α)标志字节后出现在每个数据块的开始。方位角是一个无符号整数。它表示一个百分之一的角度。因此,原始值27742应该解释为277.42°。

数据块

每个数据块中都包含来自16个激光器的两个发射序列的信息。每个包包含来自的数据12个数据块中有24个发射序列。每个数据块只返回一个方位.

一个数据块由100字节的二进制数据组成:

  • 两个字节的标志
  • 两个字节的方位角
  • 32个数据点

[2+2+(32x3)]=100字节。

建议: 为了计算时间偏移量,建议将数据包中的数据块编号为0到11

时间戳

4字节时间戳是一个32位无符号整数,用于标记第一个数据块的第一个触发序列中的第一个数据点的时刻。时间戳的值是自最小时开始经过的微秒数。num- ber的范围从0到3,599,999,999,一小时内的微秒数。

时间戳是至关重要的,因为它被地球参考软件用来匹配从惯导系统得到的相应数据。惯导系统为俯仰、横摇、偏航、纬度、经度和海拔提供一系列的时间戳值。从INS(惯导)通过将数据点的时间与时间戳数据匹配,用户的软件可以用数学方法将数据从传感器的坐标系转换为基于地球的参考坐标系。时间戳使用GPS/INS的UTC时间来进行匹配。

当传感器启动时,它开始使用内部时间参考来计算微秒,然而,传感器可以通过UTC时间同步它的数据,所以你可以确定每个激光在任何特定的包的准确发射时间。

UTC同步要求用户提供的GPS/INS接收器来生成同步的PPS信号和NMEA GPRMC定位消息。GPRMC定位消息提供UTC时间的分秒。

传感器从GPRMC消息中读取分秒数,并使用这些信息将传感器的时间戳设置为过去一小时的微秒数。

工厂字节

从固件版本3.0.29.0开始,每个数据包都包含一对字节,称为工厂字节(它们的值指示方位角和数据点在包中的组织方式。

它们的包位置、值的意义如下:



返回模式字节表示分组的方位和数据点是如何组织的。每一个传感器模式线有垂直排列的激光,角度稍微有点不同。

使用Product ID字节识别正确的垂直(或仰角)集合。

数据包结构

数据包长度为1248字节,通过端口2368上的UDP数据包发送。数据包由42字节的协议报头、12个数据块、一个4字节的时间戳和两个工厂字节组成。

数据包有两种格式:

  • 单回波模式
  • 双回波模式

单返回模式的数据包结构:



双回波模式的数据包结构:

在双回波模式中传感器为每个方位角发射发送一对数据块。

奇数编号的块(1,3,…, 9, 11)包含最强或次强的返回值和偶数块(0,2,...,8,10)为最后一次回波。

如果最强回波也是最后的回波,那么次强的回波也会产生。如果只有一个回波被探测到。数据将会被标志位偶数|奇数的块对(0|1, 2|3, 4|5, 6|7, 8|9, 10|11).

下面的图显示了单包在单返回模式下的Wireshark跟踪。数据相对于数据包中初始字节的位置/偏移量显示在括号中。

包的开始:



包的结束:

VLP16线用户手册.md的更多相关文章

  1. CentOS7修复python拯救yum - 转载

    原文:http://blog.51cto.com/welcomeweb/2132654 本人正在吹着空调,喝着茶水,然后qq头像抖了两下,业务开发同学给我打了个招呼,“忙么?帮个忙可以不?” 这很明显 ...

  2. Lidar激光雷达市场

    Lidar激光雷达市场 近年来,激光雷达技术在飞速发展,从一开始的激光测距技术,逐步发展了激光测速.激光扫描成像.激光多普勒成像等技术,如今在无人驾驶.AGV.机器人等领域已相继出现激光雷达的身影. ...

  3. R_Studio(学生成绩)对数据缺失值md.pattern()、异常值分析(箱线图)

    我们发现这张Gary.csv表格存在学生成绩不完全的(五十三名学生,三名学生存在成绩不完整.共四个不完整成绩) 79号大学语文.高等数学 96号中国近代史纲要 65号大学体育 (1)NA表示数据集中的 ...

  4. AnyCAD .Net SDK 用户手册 v2013.1

    AnyCAD .Net SDK 用户手册 v2013.1 1. 简介 AnyCAD .Net SDK为.Net4.0开发者提供简单易用的三维建模和三维可视化的API.SDK主要由三维建模的API和可视 ...

  5. 分析一下FastDFS_java_client中TestClient.java这个文件以及跟它关联的这条线

    本来先打算上个图来说明一下这条线的,可是我的画图工具还没有安装好,我先把跟TestClient.java相关的几个文件代码贴上来,但是由于代码行数还是不少的,所以请大家阅读文章的时候先不要展开代码,等 ...

  6. 为项目编写Readme.MD文件

    了解一个项目,恐怕首先都是通过其Readme文件了解信息.如果你以为Readme文件都是随便写写的那你就错了.github,oschina git gitcafe的代码托管平台上的项目的Readme. ...

  7. .md即markdown文件的基本常用编写语法(图文并茂)

    序言: 很久没有写博客了,感觉只要是不写博客,人就很变得很懒,学的知识点感觉还是记不住,渐渐地让我明白,看的越多,懂的越少(你这话不是有毛病吗?应该是看的越多,懂的越多才对),此话怎讲,当你在茫茫的前 ...

  8. .md即markdown文件的基本常用编写语法

    因为现在的前端基本上都用上了前端构建工具,那就难免要写一些readme等等的说明性文件,但是这样的文件一般都是.md的文件,编写的语法自然跟其他格式的文件有所区别,本文也是我学习写markdown文件 ...

  9. CSDN新版Markdown编辑器(Alpha 2.0版)使用示例(文首附源码.md文件)

    CSDN新版Markdown编辑器(Alpha 2.0版) 使用示例 附 本文的Markdown源码: https://github.com/yanglr/AlgoSolutions/blob/mas ...

随机推荐

  1. SharePoint2013代码操作权限组的几个Demo

    1,清明节闲来无聊,敲代码吧,不知道敲什么,不敲吧,又好像比较颓废,不思进取.遂把以前项目中别的同事负责的权限模块的代码看一看,做俩个Demo. (1)代码创建组 protected void Cre ...

  2. c++高精度计算(加法)

    本文提供给刚入坑的新手 关于高精度的计算网上百度一下可以了解到许多 今天我分享的只是一些自己的心得,更详细的可以去看原博主的原创文章(https://blog.csdn.net/fanyun_01/a ...

  3. WebGl 缩放(矩阵变换)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. Vue使用moment.js处理前端时间格式问题

    使用moment.js处理格式显示问题: 1.首先引入moment.js插件 npm install moment --save 2.入口文件main.js中导入并使用 3.在项目中使用即可:data ...

  5. 对大数据的批量导入MySQL数据库

    自己的库里有索引在用insert导入数据时会变慢很多 使用事务+批量导入 可以配置使用spring+mybatis整合的方式关闭自动提交事务(地址),选择批量导入每一百条导入使用list存储值传入到m ...

  6. [修正] Firemonkey SpeedButton 鼠标移开按钮后 IsPressed 为 False 的问题

    未修正: 修正代码: 请将 FMX.StdCtrls.pas 复制到自己的工程目录下,再修改如下代码: procedure TCustomButton.RestoreButtonState; begi ...

  7. Hbase(1)-MySQL海量数据存储的启发

    宽表拆分 有一张user表,记录了用户的信息,,如果表中的列有很多,就称之为宽表,为了提升效率,会进行垂直拆分 拆分后 将用户的信息分为基本信息和其他信息,页面一开打就需要展示的信息为基本信息,其他信 ...

  8. 使用树莓派拍摄延时动画,制作GIF图

    本期教大家将编写一个小脚本用树莓派来捕获多个图像,然后可以将这些图像组合成动画GIF,使用延时摄影功能,可以在几秒钟内查看非常慢的事情. 我们需要用到ImageMagick,这是一个用于图像处理的命令 ...

  9. JQuery树插件——ztree

    API与Demo:http://www.treejs.cn/v3/api.php 使用插件,第一步依然是引入: <link rel="stylesheet" href=&qu ...

  10. 20155210潘滢昊 2016-2017-2 《Java程序设计》第2周学习总结

    20155210潘滢昊 2016-2017-2 <Java程序设计>第2周学习总结 教材学习内容总结 %%:表示字符串中的%. %d:以十进制整数格式输出 %f:以十进制浮点式格式输出 % ...