ros-drivers / pointgrey_camera_driver

ROS driver for Pt. Grey cameras, based on the official FlyCapture2 SDK.
128 stars 180 forks source link

Poor Frame Rate with shared ethernet channel #190

Open LukeAI opened 5 years ago

LukeAI commented 5 years ago

I have a couple of bfly-pge-31s4c-c cameras

(set to bgr8 and 2x2 binning. So each image should be 1024 x 768 x 24 / (8*10**6) = 2.36MB)

I've increased Ubuntu's incoming network buffer to 25MB and I've found that I can get 45FPS with just one camera running. (which is around what I'd expect since 45 * 2.36MB is around 106MB and the 1Gb interface has a peak theoretical capacity of 120GB)

So I was hoping that I might be able to get 22 fps or something approaching that with 2 cameras. However, having played around with frame_rate and packet_delay in the launch file I have found that I can only stably get 14 FPS (with packet_delay = 0 ) Is this expected? Is there another tunable I'm missing?

This multi-camera tutorial by Flir suggests that higher packet_delay should improve performance for multi-camera setups (presumably to stop interface buffers filling up?) but I found that it gave me worse FPS. https://www.flir.com/support-center/iis/machine-vision/application-note/setting-up-multiple-gige-cameras/