gpt4 book ai didi

ros - PointCloud2的内容​​是什么?

转载 作者:行者123 更新时间:2023-12-02 00:14:22 31 4
gpt4 key购买 nike

PointCloud2的内容​​在ROS中是什么意思?

  1. fields.offset?
  2. fields.datatype?
  3. fields.count?
  4. point_step?
  5. row_step?

它的 documentation

这是 Velodyne LiDAR 发布的 PointCloud2 消息:

header: 
seq: 1071
stamp:
secs: 1521699326
nsecs: 676390000
frame_id: "velodyne"
height: 1
width: 66811
fields:
-
name: "x"
offset: 0
datatype: 7
count: 1
-
name: "y"
offset: 4
datatype: 7
count: 1
-
name: "z"
offset: 8
datatype: 7
count: 1
-
name: "intensity"
offset: 16
datatype: 7
count: 1
-
name: "ring"
offset: 20
datatype: 4
count: 1
is_bigendian: False
point_step: 32
row_step: 2137952
data: [235, 171, 54, 190, 53, 107, 250, ...

  1. 为什么 Velodyne-HDL64e LiDAR 中的高度等于 1?我预计它是 64。

  2. 最后,比如data中171的值是多少?是 Y 还是一个范围(针对哪个光束)?

最佳答案

也许我来晚了,但对于任何有同样问题的人:

对于问题1.-3。见this .另外你需要记住的是,数据存储为 uint8,但你的点应该在 float32 中,如果我没看错的话。因此,每个值(x、y、z、强度等)或“字段”都存储为多个 uint8 字节。所以你需要4个数据条目来表示一个点的x值。以字节为单位的一个点的总长度存储为“point_step”,回答你的第四个问题。

  1. Field Offset 是从该点开始到该字节开始存储该字段的字节数。所以每个点都有 x 的前 4 个字节,然后以 4 的偏移量开始 y 等的字节。

  2. 和 3.:fields.datatype 和 fields.count:参见 this

  3. point.step 是一个点的字节数或数据条目数

  4. row_step:看自己链接,所以是“每行点数*point_step”

  5. 可能您的扫描仪逐行发布?我其实不确定这个。

  6. 不,前 4 个条目表示 x 值,因此 235、171、190、53 等于:11101011 10101011 10111110 00110101 这表示一个 float32 值。 171 没有关于点的 x、y 或 z 值的直接信息。

关于ros - PointCloud2的内容​​是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57507876/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com