登录/注册

单线激光雷达数据包

更多

好的,我们来详细解释一下典型的单线激光雷达数据包(Data Packet) 的结构和含义。

单线激光雷达(如常见的RPLIDAR A系列、SICK TiM系列部分型号等)在机器人、AGV、扫地机等领域广泛应用。它通过快速旋转的激光发射器和接收器,在一个平面上扫描,获取一系列离散点的距离信息,形成一个“线”的轮廓。每次完整的360°旋转扫描到的所有点,或者由雷达内部或上位机软件组织成的特定数量的点集合,通常被打包成一个个“数据包”发送给上位机。

一个典型的单线激光雷达数据包通常包含以下几个核心部分,具体细节因雷达型号和通讯协议(如UDP, TCP, Serial)而异,务必参考具体雷达的通信协议手册。以下是一个通用化的描述:

  1. 起始头/同步头:

    • 作用: 标识一个数据包的开始,让接收方能正确地识别数据包的起始位置。这对于串口或网络传输中避免数据粘包至关重要。
    • 内容: 通常是固定的几个字节的特殊字符组合(如0xAA, 0x55, 0x5A, 0xA5或其组合),或者特定的ASCII字符串。
    • 长度: 固定几个字节。
  2. 时间戳:

    • 作用: 记录该数据包(或其中包含的扫描点数据)产生的时间点。
    • 意义:
      • 数据同步: 用于与IMU、里程计、其他传感器或上位机时间进行同步。
      • 运动畸变补偿: 机器人自身移动时,扫描一圈需要时间(几十毫秒到几百毫秒),位于扫描圈起始、中间、结束处的点,其测量时刻对应的机器人位置是不同的。高精度应用需要利用时间戳补偿这个运动。
      • 计算扫描频率: 对比连续数据包的时间戳可以精确计算雷达的实际扫描频率。
    • 内容: 可能是雷达内部计数器(单位可能是ns, μs, ms),也可能是自雷达启动以来的时间(UTC时间戳不常见,多用于高级型号)。
    • 长度/精度: 通常是4字节(uint32,单位ms或μs)或8字节(uint64, ns)。精度越高,对同步和补偿越有利。
  3. 扫描点数据集合:

    • 作用: 数据包的核心部分,包含本次扫描获得的一个或多个点的测量信息。
    • 结构: 每个扫描点本身通常由以下几个字段组成:
      • 距离:
        • 作用: 测量点到雷达中心的直线距离。
        • 单位: 毫米(mm)最常见,部分雷达可能用厘米(cm)或米(m)。
        • 类型: 通常是16位无符号整数(uint16)或32位浮点数(float)。
        • 范围与精度: 需要了解雷达的最大最小量程(如0.15m-12m),以及精度(例如±30mm)。超出量程的值通常是特定标识(如最大值0xFFFF)。
      • 角度:
        • 作用: 测量点相对于雷达0°参考方向的角度。
        • 单位: 度(°)最常见,有时用弧度(rad)。0°参考方向(机械0°)定义见雷达手册(通常在电机线束或特定标记位置)。
        • 类型: floatuint16(如0-36000代表0.00-359.99°)。更常见的是雷达直接给出角度值(float度)。
        • 重要: 角度值是每个点独立测量的关键信息! 它定义了点在扫描线上相对于雷达零位的位置。这与通过旋转步进推算出来不同(雷达通常使用编码器记录每个脉冲的角度)。
      • 质量/信号强度/置信度/错误标志(可选,但强烈推荐):
        • 作用: 表示该测量点的可靠性或信号强度信息。
        • 内容:
          • 信号强度: 激光反射回来的光强度(如uint8uint16)。值越高,反射越强(如白墙),值越低反射越弱(如黑色物体、远距离物体、玻璃)。可用于过滤低质量点或区分材质。
          • 置信度: 雷达计算出的对该点距离值的置信程度(百分比或0-100值)。
          • 错误标志位: 标识该点是否无效(例如超过量程、信号过弱、硬件错误)。这比单纯给最大距离值更清晰。
        • 意义: 过滤噪声点、无效点,提高点云质量,对算法稳定性很重要。
  4. 扫描起始标志位(Scan Tag):

    • 作用: 最重要的标记之一! 用于标识这个点是否是本次360°扫描的第一个点(或“新一圈扫描的开始点”)。
    • 内容: 通常是一个布尔值(1位)或者一个特定的枚举值(如0=正常点, 1=扫描起始点),嵌入在每个扫描点数据中,或者作为数据包的一个独立字段。较新的设计普遍在每个点数据里包含一个is_scan_start标志位。
    • 意义:
      • 分割扫描圈: 上位机需要依赖这个标志来确定从哪里开始算新的一圈扫描。没有它,连续的流数据无法被分割成完整的360°扫描帧。
      • 计算角度增量: 相邻点间的角度增量(步进)很重要,但这个增量可能不均匀(电机转速波动、角度编码器分辨率、点云重采样等)。scan_tag标识的起始点为计算相对角度提供了绝对参考。
    • 注意: 不同雷达处理方式不同。有些雷达每个数据包包含一整圈或固定点数(如360点/圈),则包本身可能就代表一圈,不一定需要每点带标签。串行发送不定长点数据的雷达更依赖这个标志。查阅手册确认!
  5. 点数量/包长度:

    • 作用: 指明该数据包中包含了多少个扫描点数据。
    • 位置: 可能在数据包头(在时间戳之后),或者在数据包尾部(校验和前)。
    • 类型: 通常是16位无符号整数(uint16)。
  6. 校验和:

    • 作用: 用于验证数据传输过程中是否出现错误(比特翻转、丢包等)。接收方计算数据包的校验和,与包内提供的校验和比较,不一致则丢弃该包。
    • 类型: 常见的算法有CRC8, CRC16, CRC32, XOR和(Checksum)。CRC16/CRC32更鲁棒。
    • 位置: 几乎总是在数据包的尾部。

总结一个典型的单线激光雷达数据包流程:

  1. 接收方检测到起始头 -> 知道新包来了。
  2. 读取时间戳 -> 记录数据产生时间。
  3. 读取点数量 -> 知道后面要解析多少个点(如果包是固定点数或点在头中指定)。
  4. 循环读取N(点数量)个扫描点数据:
    • 读取距离值,转换成实际距离(如mm)。
    • 读取角度值,转换成实际角度(如°)。
    • (可选)读取质量/强度/错误标志
    • 检查扫描起始标志 -> 如果是True,则标识为新扫描圈的开始点。
  5. 读取校验和 -> 与前面计算的数据校验和对比,确认数据完整性。
  6. 上位机软件收到数据包后:
    • 利用scan_tag将连续的点流分割成一圈一圈的扫描。
    • 根据每个点的距离角度,计算该点在雷达坐标系下的笛卡尔坐标(x, y)
      • x = range * cos(angle)
      • y = range * sin(angle)
    • 结合时间戳进行时间同步或运动畸变补偿(若需要)。
    • 利用质量信息过滤噪点或进行其他处理。
    • 将点云用于SLAM建图、定位、避障等算法。

关键点强调:

例子(高度简化伪代码表示一个点数据包,仅表达概念):

[起始头: 2字节: 0xAA55]
[时间戳: 4字节 (uint32, ms): 123456789]
[点数量: 2字节 (uint16): 360] // 假设一圈360点
// 循环360次,每次读取一个点
FOR i=1 TO 360:
    [距离: 2字节 (uint16, mm): 2530] // 表示2.53米
    [角度: 4字节 (float32, degrees): 127.5] // 精确到小数点后
    [质量: 1字节 (uint8, 信号强度): 200] // 0-255, 越高越好
    [扫描起始标志: 1字节 (bool): 0] // 0 表示正常点,1 表示该点是扫描起点 (注意:对于一圈的第一个点,这里是1)
ENDFOR
[校验和: 2字节 (CRC16): 0x34D2]

希望这份详细的中文解释能帮助您理解单线激光雷达数据包的构造!

激光雷达点云数据包含哪些信息

)、环境监测、城市规划等领域。激光雷达点云数据是激光雷达系统收集到的一系列三维空间坐标点,包含了丰富的空间信息。本文将介绍

2024-08-29 17:18:56

单线激光雷达和多线激光雷达区别

单线激光雷达和多线激光雷达区别  单线

2023-12-07 15:48:33

单线激光雷达是什么 如何选型

机器人 、无人驾驶 、 轨道交通、 测绘作业…这些年随着这些行业喷井式的爆发,激光雷达迅速占领了人们的眼球,享受到了弱水三千只取一瓢的待遇。那么激光雷达的选型就变得尤为重要,本文我们就

2022-07-06 17:34:56

delta2A激光雷达参考手册

Delta-2A SDK 包含了方便用户对 Delta-2A 系列进行性能评估与早期开发所需的数据手册、规格书、驱动包(Linux 和 ROS)和 Windows

资料下载 jf_55983519 2023-06-06 15:41:21

自制激光雷达设计

1、概述由于课题要求,需要设计一款适合于果园应用的激光雷达。因此采用单线扫描激光雷达和角度传感器来设计能采集二维

资料下载 佚名 2021-11-06 20:21:01

基于单线激光雷达的数字重构系统综述

基于单线激光雷达的数字重构系统综述

资料下载 佚名 2021-07-05 16:22:35

基于拉曼激光雷达的大气水汽监测系统

基于拉曼激光雷达的大气水汽监测系统

资料下载 佚名 2021-06-23 14:39:00

小米2D激光雷达拆解资源下载

小米2D激光雷达拆解资源下载

资料下载 ah此生不换 2021-04-06 09:50:08

TOF高速单线激光雷达相关资料分享

STM32 Cube MX学习笔记——TOF 高速单线激光雷达 L10_串口中断通信1. TOF 高速单线

2022-03-02 07:19:03

多线激光雷达单线激光雷达区别

。是一家能提供单点、单线到多线全系列、dtof、itof全品类激光雷达方案定制化的公司,而且掌握了机器人移动底盘技术。在激光雷达核心硬件、专用芯

2022-02-10 18:36:41

如何设计一款适合于果园应用的激光雷达

1、概述由于课题要求,需要设计一款适合于果园应用的激光雷达。因此采用单线扫描激光雷达和角度传感器来设计能采集二维

2021-11-12 08:15:02

FMCW激光雷达与dTOF激光雷达的区别在哪?

FMCW激光雷达与dTOF激光雷达的区别在哪?

2021-07-23 13:22:37

激光雷达

想了解行业国内做固态激光雷达的厂家,激光雷达里面是怎么样的啊

2021-01-17 15:29:39

激光雷达知多少:从技术上讲讲未来前景

,其云底高度的测量范围可达7500m。 按线数分类: 单线激光雷达 单线激光雷达

2020-07-14 07:56:45

多线与单线激光雷达的区别

集中于国外,包括美国的Velodyne、Quanegy以及德国的IBEO品牌等。以Velodyne为首的多线激光雷达价格昂贵,均在万元(美元)级别以上,一般车企难以承受如此高昂的价格。相比来说,单线

2019-08-13 14:09:41

7天热门专题 换一换
相关标签