C ++ pcl_ros:如何使用最新的 100 条消息生成点云

c++ pcl_ros: How to generate point cloud with latest 100 messages

本文关键字:消息 最新 pcl ros 何使用      更新时间:2023-10-16

我有一个 rostopic,它接收每条消息的单帧 (2D( 点云(具有 x,y 坐标(,我需要创建一个连接最新 100帧(在 z 轴上的 (3D( 点云(。目的是始终显示由最新100 帧组成的点云,例如 FIFO 队列。

我可以使用 cloud->points.push_back (pcl::P ointXYZ(pt.x, pt.y, z((; 方法在 z 轴上连接帧。

棘手的部分是在达到 100 帧后如何删除最旧的帧?(例如:删除 z 索引为 1 的点(我试图使用方法points.erase(首先迭代器,最后迭代器(,但是我不知道如何传递迭代器参数。甚至,如果我能做到这一点;如何将现有点云从 z=1 开始?感谢对此的任何帮助。

由于cloud->points是一个 std::vector,请参阅 std::vector::erase 以获取有关如何传递迭代器参数的示例。