KumarRobotics / flea3

ROS driver for flea3/grasshopper3 camera
21 stars 34 forks source link

driver is really slow #27

Closed inecho closed 6 years ago

inecho commented 6 years ago

Recently i installed this driver and i actually find it really great, but i was wondering why the frame rate is so slow. By using two flea3 cameras i get an avg frame rate of 3Hz whereas by using the original pointgrey driver i get around 15Hz. Im still preferring your package, because it is really stable and without dropouts for the cost of time lags up to 2 seconds.. is there any good explanation for that behavior?

versatran01 commented 6 years ago

Is this issue happening all the time or just occasionally? Possible reasons:

  1. usbfs issue
  2. not enough current
  3. use usb3 instead of usb2
inecho commented 6 years ago

It is happening all the time, systematically. They are both gigE cameras and they also get unlimited current

versatran01 commented 6 years ago

This driver is not designed for gige cameras, therefore I'd recommend that you use the original one.

inecho commented 6 years ago

Well, the your driver is still performing better than the original one. I made some test datasets to vizualize the performance issue in both. When im using an imu(300Hz), odometry(300Hz), velodyne(20Hz) and a tracker(10Hz) i have no problems to sample the data. As soon as i connect one or both cameras i get timeouts. Using your driver they are about 1sec and with the original one about 20sec! this is really a pain... and may affect other users too.

Maybe you have a guess why i get those timeouts. What is different in your code?

This image shows the recordings with flea3-driver timeout-flea3driver

Recordings with pointgrey_camera_driver timeout-ptgrey-driver

versatran01 commented 6 years ago

What I recommend is to run everything else as normal in ros. Then open one camera using flycapture or spinview (you need to install either flycapture or spinnaker sdk). Then you want to check if flycapture/spinview can acquire images at desired framerate (with everything else still running). If yes, then you want to make sure the driver has the same parameters. If no, then this might be a bandwidth issue.

ZhiangChen commented 5 years ago

I encountered the same situation. It is not the issue of the driver. I bumped up the frame rate by

rosrun rqt_reconfigure rqt_reconfigure