ThundeRatz / travesim

Gazebo simulation environment for IEEE Very Small Size Soccer robots
MIT License
29 stars 0 forks source link

Image Compression Error #10

Closed LucasHaug closed 3 years ago

LucasHaug commented 3 years ago

Ao rodar a simulação na branch feature/camera e tentar gerar uma bagfile com todos os tópicos que estavam sendo publicados, ocorreu um problema com tópicos realcionados à câmera, aparentemente devido ao formato da imagem. O erro era mostrado pelo gazebo e não pelo rosbag, sendo o seguinte:

[ERROR] [1601755303.697558886, 24.779000000]: Compressed Depth Image Transport - Compression requires sing
le-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).                        

Tentei desabilitar a parte de compressão da imagem como é feito aqui, tentei mexer em alguns parâmetros que estavam disponíveis no servidor de parâmetros do ros e também tentei mudar o formato da imagem que era publicada pela câmera, mas nenhuma dessa coisas resolveu.

A única forma de "resolver" que encontrei foi excluindo os tópicos que se relacionavam a parte de compressão da imagem na hora de gerar a bagfile, fazendo do seuinte jeito:

rosbag record -a -x "(.*)/compressed(.*)"
thor-gh[bot] commented 3 years ago

Hi! Thank you for opening an issue for this project!
Please, make sure you followed the project's contribution guidelines, a team member will answer when possible.

--

Olá! Obrigado por abrir uma issue para esse projeto!
Por favor, tenha certeza que leu as diretrizes de contribuição do projeto, alguém da equipe responderá assim que possível!

FelipeGdM commented 3 years ago

Existem algumas respostas no ROS answers que podem nos ajudar, como aqui ou aqui. Não entendi muito bem a causa do problema ou porque só o Haug esbarrou nisso, mas a solução parece ser desativar o plugin de conversão de imagens e existem 3 formas de fazer isso

  1. Não se inscrever no tópico, como o @LucasHaug mesmo sugeriu com
rosbag record -a -x "(.*)/compressed(.*)"
  1. Desabilitar o plugin por meio do param server
        <!-- disable compressed depth plugin for image transport -->
        <group ns="image_raw">
            <rosparam param="disable_pub_plugins">
              - 'image_transport/compressedDepth'
            </rosparam>
        </group>
  1. Simplesmente desisntalar o plugin do sistema com
sudo apt remove ros-noetic-theora-image-transport ros-noetic-compressed-image-transport

A solução 2. parece ser a mais limpa e genérica, basta adicionar o comando no gazebo.launch

LucasHaug commented 3 years ago

Só registrando aqui que colocando isso aqui em baixo no final do gazebo.launch foi.

  <!-- disable compressed depth plugin for image transport -->
  <group ns="/camera/image_raw">
      <rosparam param="disable_pub_plugins">
        - 'image_transport/compressedDepth'
      </rosparam>
  </group>