c ++ pcl_ros: Como gerar nuvem de pontos com as últimas 100 mensagens

votos
0

I têm um rostopic que recebe um ponto de turvação único frame (2D) (com coordenadas x, y) por mensagem e preciso para criar uma nuvem de pontos (3D) concatenar as últimas 100 quadros (mais de eixo z). O objetivo é mostrar sempre uma nuvem de pontos feitos fora das últimas 100 quadros como uma fila FIFO.

Eu pode concatenar as armações utilizando cloud> points.push_back (PCL :: PointXYZ (pt.x, pt.y, z)); método ao longo do eixo z.

A parte complicada é depois de atingir até 100 quadros como remover a estrutura mais antiga? (Ex: Remover pontos com índice z 1) Eu estava tentando usar o método points.erase (iterador primeiro, iterador passado) , mas eu não sei como passar o iterador parâmetro. Mesmo, se eu pudesse conseguir isso; como posso mudar a nuvem de pontos existentes para começar a partir de z = 1? Agradeço qualquer ajuda nisto.

Publicado 20/09/2018 em 04:09
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

Desde cloud->pointsé um std :: vector, ver std :: vector :: apagar para um exemplo de como passar o parâmetro iterador.

Respondeu 20/09/2018 em 04:43
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more