prosilica_node frame rate drop

asked 2014-07-09 08:56:25 -0600

autonomy gravatar image

updated 2014-07-09 08:56:47 -0600

I'm running prosilica_node and rostopic hz reports that the node is publishing at 20Hz or so while using ~15% of the CPU (per system monitor). As soon as I run another node that subscribes to and does something with the images (~30% CPU), the camera frame rate drops to 12Hz, even if I do nothing with the images - just sleep in the image callback. When I kill my image subscriber, the prosilica framerate goes back up to 20Hz.

Has anyone seen this happen? Can anyone think of a reason for this?

edit retag flag offensive close merge delete

Comments

Are you rectifying the images somewhere? Would you mind trying the same with another driver? https://github.com/srv/avt_vimba_camera

Miquel Massot gravatar image Miquel Massot  ( 2014-07-09 09:29:00 -0600 )edit

Nope, no rectification, no processing. The same thing happens if I run the prosilica node and use image_view to view the stream, regardless of whether I used the raw image or the compressed image. I can't try avt_vimba_camera - I'm on Fuerte and don't have time to even try to convert it to rosbuild.

autonomy gravatar image autonomy  ( 2014-07-09 10:42:01 -0600 )edit

rostopic hz is also a subscriber that subscribes and does nothing with the images. Do you see a similar frame rate drop if you run multiple instances of rostopic hz? Are you running the prosilica in polled or streaming mode? Do the diagnostics have any useful data?

ahendrix gravatar image ahendrix  ( 2014-07-09 11:00:18 -0600 )edit

(side note - Fuerte is not supported by the build farm any more. Even if you do find a bug and get it fixed, the fix will probably only be released into Hydro and Indigo. You might be able to get a Groovy release if you supply a separate patch to the rosbuild branch)

ahendrix gravatar image ahendrix  ( 2014-07-09 11:03:09 -0600 )edit

I am running in streaming mode. I DO see a similar frame rate drop if I run multiple instances of rostopic hz! But only for the raw_image topic, /compressed rate seems to stay the same with 3 rostopic hz instances.

autonomy gravatar image autonomy  ( 2014-07-09 11:47:29 -0600 )edit

That seems odd. Is it possible that you're saturating a network link somewhere? Are you subscribers running on the same computer as the driver node?

ahendrix gravatar image ahendrix  ( 2014-07-09 14:04:15 -0600 )edit

Running locally over a gig-e link, sys monitor shows 214MiB/s spikes on the network. Tried using the top command - with nothing subscribed, the node is using 20% of the CPU, when rostopic is subscribed, top reports 40% CPU used by prosilica and 10% for each rostopic subscriber (on a core, not total)

autonomy gravatar image autonomy  ( 2014-07-09 14:34:21 -0600 )edit