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. 并发编程(二)------并发类容器ConcurrentMap

    并发类容器: jdk5.0以后提供了多种并发类容器来替代同步类容器从而改善性能. 同步类容器的状态都是串行化的. 他们虽然实现了线程安全,但是严重降低了并发性,在多线程环境时,严重降低了应用程序的吞吐 ...

  2. [iOS]UIDynamicAnimator动画

    创建动画 UIDynamicAnimator *animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view]; 协议代理 ...

  3. Linux各个文件及其含义

    树状目录结构: 以下是对这些目录的解释: /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令. /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像 ...

  4. 记利用frp配合nginx实现内网透传

    frp下载 背景 : 内网有一台服务器A 在NAT背后 无法被其他客户端访问 借助公网服务器B来配置内网透传 即可通过B来访问A 服务端安装frps 启动: ./frps -c frps.ini 配置 ...

  5. 重写UICollectionViewFlowLayout报cache mismatched frame警告

    在重写UICollectionViewFlowLayout的时候会有很多坑,比如: Logging only once for UICollectionViewFlowLayout cache mis ...

  6. Redis(三)

    1.服务器部署好redis后 在项目里边添加 StackExchange.Redis.dll (可以去nuget下载) 2.添加SERedisHelper.cs  里边有  对应的缓存的相关方法 us ...

  7. PHP实现多继承 trait 语法

    原文地址:http://small.aiweimeng.top/index.php/archives/50.html PHP没有多继承的特性.即使是一门支持多继承的编程语言,我们也很少会使用这个特性. ...

  8. Role Helper

    using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using System.Collections.Ge ...

  9. 【python安装】Windows上安装和创建python开发环境

    1. 在 windows10 上安装python开发环境 Linux和Mac OS都自带python环境,但是Windows没有,所以需要自行安装. 第1步:访问 python官网,下载Windows ...

  10. CTF-安恒19年一月月赛部分writeup

    CTF-安恒19年一月月赛部分writeup MISC1-赢战2019 是一道图片隐写题 linux下可以正常打开图片,首先到binwalk分析一下. 里面有东西,foremost分离一下 有一张二维 ...