Error using Teledyne Dalsa camera with ROS camera_aravis

I’m using ROS Noetic with camera_aravis to try and grab frames from a Lucid RGB camera and a Teledyne Dalsa IR camera. I’m running rosrun camera_aravis cam_aravis and the Lucid RGB camera is working as expected but the Dalsa IR camera is not. I get an error:

Aravis-CRITICAL **: arv_stream_get_statistics: as asertion ‘ARV_IS_STREAM (stream)’ failed
Aravis-CRITICAL **: arv_gv_stream_get_statistics: as asertion ‘ARV_IS_GV_STREAM (gv_stream)’ failed

Resent buffers = 14072223281749
Missing = 11

GLib-GObject-CRITICAL **: g_object_unref: assertion ‘G_IS_OBJECT (object)’ failed
Segmentation fault (core dumped)

Is this an inherent issue with Dalsa cameras or is there a work around to get this camera working on ROS?

Thanks in advance.

Hi @JohnMerila,

I guess this question is related to the camera_aravis ROS package.
I therefore suggest re-posting the same questions as an issue there.

I think this error can come from the camera being misconfigured by the default parameters of the camera_aravis driver.
Try writing a launch file similar to camera_aravis.launch and see which values are reasonable for your IR camera. Especially the values pixel_format, width and height matter.

Our survey vehicle has a FLIR IR camera and we use the following settings:

...
<arg name="pixel_format" default="Mono16"/>
<arg name="width" default="640"/>
<arg name="height" default="480"/>
...

This gives us a 16 bit grayscale image of the IR recording.

You can also use arv-tool --name=<camera-guid> genicam to print the camera features and possible values as a XML file to help you find the correct configuration.

The arv-viewer is useful for you to figure out if the aravis driver can read out the IR camera image.
If so, this indicates that the issues lies on the camera_aravis ROS package.

Hope this helps.