ros-drivers / flir_camera_driver

156 stars 148 forks source link

Spinnaker FLIR Camera (ROS Driver) - Doesn't give me RGB data #77

Open diwamanic opened 2 years ago

diwamanic commented 2 years ago

Hi peeps, Diwakar here. I am a bit kinda beginner in ROS. I am right now working in a project where we are using FLIR Cameras for the data streaming.

I have used this ROS driver for getting the data inside my ROS environment.

For that, I have installed the Spinnaker version (spinnaker-2.4.0.143-amd64).

But, the problem is that I am only able to get the gray scale image at the fps of close to 57 Hz.

I poked around the source code inside the ROS driver and understood that they are using .cfg file to set the 'image_coding' parameter. So, I adjusted that to default to 'rgb8packed' from 'mono8'.

But, it results in two issues: 1) When I run the camera.launch file, it gives me an error for the fps, says that the fps shoots higher than the limit possible. And then, I lowered the fps rate to 10 Hz, and then it works.

2) But, the resulting image in the topic /camera/image_raw is kinda tinted red. (It feels as if it is a filtered image). How do I recover a colored image, that which I can get from a normal camera?

So, I need to recover the image (normal color image) and then also I would like to get a increased frame rate , because 10 Hz is very low, I feel. Is there a work around for my issue?

If possible, could someone try reproduce the issue and see how it works for you and let me know? It would be really great, if I could solve this issue, as my Master thesis really depends on whether I can get it working as soon as possible.

Thank you very much in advance. Diwakar.

SasaKuruppuarachchi commented 2 years ago

The reason could be the ros driver being not compatible with your camera model. Following workaround may help. If the camera works in Spinview save the settings in to a user set and set it to default. Then Go to the src/camera.cpp and disable the setNewConfiguration() function by adding a return clause. This worked for my FLIR BFLY U3 23S66