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字节。

  1. 建议: 为了计算时间偏移量,建议将数据包中的数据块编号为011

时间戳

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. tomcat启动错误org.springframework.beans.factory.CannotLoadBeanClassException的解决

    tomcat启动时一直报这个错误,但是报错的类确实存在. 清空tomcat,更新maven项目,重配tomcat都没有解决. 最后解决办法: Eclipse环境:Project-->clean ...

  2. 部分用户间接性访问不了linux服务器解决方法

    linux的/etc/sysctl.conf中应设置 net.ipv4.tcp_tw_reuse = net.ipv4.tcp_tw_recycle = 参考文章: https://ieevee.co ...

  3. alibaba之Nacos

    本文为转载文章 原文链接:https://windmt.com/2018/11/09/intro-to-spring-cloud-alibaba-nacos/ 上个月最后一天的凌晨,Spring Cl ...

  4. 使用DBNEWID Utility 修改oracle数据库的 db name 和 dbid

    使用DBNEWID Utility 工具可以同时修改数据库名.DBID,也可以只修改其中一项 官方参考: https://docs.oracle.com/cd/E11882_01/server.112 ...

  5. Oracle 数据库备份和恢复配置

    可能的失败及其解决方法 失败类型 我们坑你遇到的失败或错误分为两大类:物理和逻辑.物理错误一般是硬件错误或使用数据库的应用程序中的软件错误,而逻辑错误一般在终端用户级别(数据库用户和管理员). 按从轻 ...

  6. 关于alias同时使用多个命令小记。

    为了方便自己快速使用命令,接触了一下alias.在使用多个命令时,一般有两种方式.各有不同 根据需求选择. 直接上代码: 1.alias Name='(date;pwd;cmd1;cmd2) 写法简洁 ...

  7. 使用mock.js进行数据模拟

    mock.js的文档真的是无力吐槽,只说明API怎么使用,完全不说明mock.js这个工具怎么用到项目里面,最有意思的是google的大部分文章复制官网的API,不管是react还是Vue都是下面的流 ...

  8. javascript用户密码加密,js密码加密

    1.base64加密 在页面中引入base64.js文件,调用方法为: <!DOCTYPE HTML> <html> <head> <meta charset ...

  9. MySQL安装及配置

    MySQL安装 我是在Windows上安装的MySQL.首先登录MySQL的官网下载安装包. 最后献上5.5.28这个服务器的下载连接地址: http://cdn.mysql.com/Download ...

  10. VS2015创建WDK的问题

    在微软官网找了半天.. 搜索window driver kit,好吧.进入一页英文页面.. https://docs.microsoft.com/en-us/windows-hardware/driv ...