c ++ pcl_ros: как создать облако точек с последними 100 сообщениями - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть ростопика, которая получает однокадровое (2D) облако точек (с координатами x, y) на сообщение, и мне нужно создать (3D) облако точек, объединяющее последние 100 кадров (болееось z).Цель состоит в том, чтобы всегда показывать облако точек, составленное из последних 100 кадров, как очередь FIFO.

Я могу объединить кадры, используя cloud-> points.push_back (pcl:: PointXYZ (pt.x, pt.y, z)); метод по оси z.

Сложная часть после достижения до 100 кадров, как удалить самый старый кадр?(Пример: удаление точек с индексом z 1) Я пытался использовать метод points.erase (первый итератор, последний итератор) , но я не знаю, как передать итератор параметр.Даже если бы я мог этого достичь;Как я могу сдвинуть существующее облако точек, чтобы начать с z = 1?Ценю любую помощь по этому вопросу.

1 Ответ

0 голосов
/ 20 сентября 2018

Поскольку cloud->points является std :: vector, см. std :: vector :: erase для примера того, как передать параметр итератора.

...