【发布时间】:2021-10-13 19:48:02
【问题描述】:
我目前正在使用 Livox Avia LiDAR,并且正在使用 ROS 访问其 PointCloud2 格式的数据流。 激光雷达主要用于测量视轴中的物体到激光雷达的距离。
有人知道如何读取 PointCloud2 的距离吗?
提前致谢
【问题讨论】:
标签: ros point-cloud-library point-clouds lidar
我目前正在使用 Livox Avia LiDAR,并且正在使用 ROS 访问其 PointCloud2 格式的数据流。 激光雷达主要用于测量视轴中的物体到激光雷达的距离。
有人知道如何读取 PointCloud2 的距离吗?
提前致谢
【问题讨论】:
标签: ros point-cloud-library point-clouds lidar
您需要更具体地说明“读取距离”的含义,因为在谈论 PC2 数据时可能会用到多个距离。我假设您正在谈论从传感器到单个测量点的距离。如果是这种情况,您可以使用以下方法从点云数据中提取更多可用信息
生成器函数read_points() 得到(x, y, z) 然后直接计算距离。您可以像这样抓取 x、y、z 格式的所有点:
from sensor_msgs import point_cloud2
def pc2_callback(msg):
generator = point_cloud2.read_points(msg, skip_nans=True, field_names=("x", "y", "z"))
【讨论】: