VLP16线用户手册.md
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的更多相关文章
- CentOS7修复python拯救yum - 转载
原文:http://blog.51cto.com/welcomeweb/2132654 本人正在吹着空调,喝着茶水,然后qq头像抖了两下,业务开发同学给我打了个招呼,“忙么?帮个忙可以不?” 这很明显 ...
- Lidar激光雷达市场
Lidar激光雷达市场 近年来,激光雷达技术在飞速发展,从一开始的激光测距技术,逐步发展了激光测速.激光扫描成像.激光多普勒成像等技术,如今在无人驾驶.AGV.机器人等领域已相继出现激光雷达的身影. ...
- R_Studio(学生成绩)对数据缺失值md.pattern()、异常值分析(箱线图)
我们发现这张Gary.csv表格存在学生成绩不完全的(五十三名学生,三名学生存在成绩不完整.共四个不完整成绩) 79号大学语文.高等数学 96号中国近代史纲要 65号大学体育 (1)NA表示数据集中的 ...
- AnyCAD .Net SDK 用户手册 v2013.1
AnyCAD .Net SDK 用户手册 v2013.1 1. 简介 AnyCAD .Net SDK为.Net4.0开发者提供简单易用的三维建模和三维可视化的API.SDK主要由三维建模的API和可视 ...
- 分析一下FastDFS_java_client中TestClient.java这个文件以及跟它关联的这条线
本来先打算上个图来说明一下这条线的,可是我的画图工具还没有安装好,我先把跟TestClient.java相关的几个文件代码贴上来,但是由于代码行数还是不少的,所以请大家阅读文章的时候先不要展开代码,等 ...
- 为项目编写Readme.MD文件
了解一个项目,恐怕首先都是通过其Readme文件了解信息.如果你以为Readme文件都是随便写写的那你就错了.github,oschina git gitcafe的代码托管平台上的项目的Readme. ...
- .md即markdown文件的基本常用编写语法(图文并茂)
序言: 很久没有写博客了,感觉只要是不写博客,人就很变得很懒,学的知识点感觉还是记不住,渐渐地让我明白,看的越多,懂的越少(你这话不是有毛病吗?应该是看的越多,懂的越多才对),此话怎讲,当你在茫茫的前 ...
- .md即markdown文件的基本常用编写语法
因为现在的前端基本上都用上了前端构建工具,那就难免要写一些readme等等的说明性文件,但是这样的文件一般都是.md的文件,编写的语法自然跟其他格式的文件有所区别,本文也是我学习写markdown文件 ...
- CSDN新版Markdown编辑器(Alpha 2.0版)使用示例(文首附源码.md文件)
CSDN新版Markdown编辑器(Alpha 2.0版) 使用示例 附 本文的Markdown源码: https://github.com/yanglr/AlgoSolutions/blob/mas ...
随机推荐
- .net core 实践笔记(二)--EF连接Azure Sql
** 温馨提示:如需转载本文,请注明内容出处.** 本文链接:https://www.cnblogs.com/grom/p/9902098.html 笔者使用了常见的三层架构,Api展示层注入了Swa ...
- Struts2+AJAX+JQuery 实现用户登入与注册功能
要求:必备知识:JAVA/Struts2,JS/JQuery,HTML/CSS基础语法:开发环境:MyEclipse 10 关于UI部分请查看下列链接,有详细制作步骤: 利用:before和:afte ...
- Field userService in com.wuji.controller.UserController required a bean of type 'com.wuji.service.UserService' that could not be found
Field userService in com.wuji.controller.UserController required a bean of type 'com.wuji.service.Us ...
- vim内替换文件内容
几个常用的方法如下: :%s/foo/bar/g 把全部foo替换为bar,全局替换 :s/foo/bar/g 当前行替换foo为bar :%s/foo/bar/gc 替换每个foo为bar,但需要确 ...
- C++_类和对象
类和对象 OOP第二课 1 类的构成 1.1 从结构到类 1.2 类的构成 2 成员函数的声明 2.1 普通成员函数形式 2.2 将成员函数以内联函数的形式进行说明 3 对象的定义和使用 3.1 对象 ...
- 自己动手写一个简易对象关系映射,ORM(单例版和数据库池版)
准备知识 DBUtils模块 <<-----重点 DBUtils是Python的一个用于实现数据库连接池的模块 此连接池有两种连接模式: DBUtils提供两种外部接口: Persist ...
- 一次JVM内存调优过程
项目中,有个同事写的JOB,使用到查询数据库大量历史协议数据(大概300W左右),由于对存放数据的list或map没有做“用完即时声明释放”. 导致此Jar部署在windows service后,进程 ...
- GUN交叉工具链各模块的作用
名称 归属 作用 arm-linux-as binutils 编译ARM 汇编程序 arm ...
- 在Linux Mint 19 / Linux Mint 18上安装VirtualBox 6.0 / 5.2
如果你直接可以 sudo apt-get install virtualbox-6.0那就相安无事 否则参考https://www.itzgeek.com/how-tos/linux/linux-mi ...
- stm32 IO口八种模式区别
初学STM32,遇到I/O口八种模式的介绍,网上查了一下资料,下面简明写出这几种模式的区别,有不对的地方请大家多多指正! 上拉输入模式:区别在于没有输入信号的时候默认输入高电平(因为有弱上拉).下拉输 ...