如何解释通过UDP传输的LiDar数据包?

2024-10-05 14:31:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是Velodyne vlp-16激光雷达,需要解释它通过UDP广播的原始值。在

我已经建立了一个插座,我正在获取读数,但我不知道如何分解和解释我得到的数据作为距离和角度。在


import socket

IP_ADDRESS = "192.168.1.77"
PORT_NO = 2368

IP_ADDRESS_2 = "127.0.0.1"
PORT_NO_2 = 6789

serverSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
serverSocket.bind((IP_ADDRESS, PORT_NO))

sendingSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
array = [None]*64

while True:
    array = serverSocket.recv(1248)[0:1248]
    for x in range(42, 48, 1):
        print(x, end ="\n")
    print()

我看到字节数据通过UDP传送过来,但我不知道如何将其转换成一段距离。我得到的数字在0到600之间。在

Packet Structure

Velodyne Coordinates


Tags: 数据noipportaddresssocketarraysock
1条回答
网友
1楼 · 发布于 2024-10-05 14:31:57

这本手册有一些关于安装的好信息

https://velodynelidar.com/lidar/products/manual/63-9113%20HDL-32E%20manual_Rev%20G.pdf

第5页的一般设置

  1. 与HDL-32E建立通信
  2. 从包含的数据库.xml数据文件
  3. 分析数据包的旋转、距离和强度数据(建议使用Wireshark)
  4. 对数据应用垂直角度校准因子
  5. 根据需要绘制或存储数据

手册还提到了数据库.xml将udp解析为有用的度量

这个解析器使用这个db文件

https://github.com/ritzalam/velodyne-lidar-parser

相关问题 更多 >