magazino / pylon_camera

ROS-Driver for Basler Cameras
BSD 3-Clause "New" or "Revised" License
78 stars 108 forks source link

Increase image frame rate #25

Open zhangyongwei93 opened 6 years ago

zhangyongwei93 commented 6 years ago

Hello, The camera I used is basler daA1600-60uc, USB interface, ROS is kinetic, when I use pylon viewer software to capture image with Bayer8 format, the frame rate can up to 60fps, but when I use this ROS package with bayer_rggb8 format , the output include this


Desired framerate 60.00 is higher than max possible. Will limit framerate to: 30.60 Hz

the image can capture normally, but the image topic only 25.4fps. How to increase the frame rate? Thanks

NikolasE commented 6 years ago

What's your exposure? And is the framerate higher for other formats?

zhangyongwei93 commented 6 years ago

When the exposure decrease, the framerate will increase, it can up to about 44fps while exposure is 6000 microseconds, but when I set exposure_auto to true, the framerate back to 30fps. And framerate is lower for other formats, such as rgb8 format, about 17fps. Using pylon viewer software is normal.

NikolasE commented 6 years ago

What's your exposure when you activate exposure_auto? @marceldebout

qinvav commented 5 years ago

Hello. I’m experiencing the same issue. acA2040-35gc, Bayer 2048x1536, Ethernet, ROS Kinetic.

  1. Default settings, resulting picture is way too dark. Pylon Viewer – 34fps, exposure(us) – 3000; ROS driver – 28fps, , exposure(us) – 3000.
  2. ”Auto Functions” settings, resulting picture is very bright. Pylon Viewer – 34fps, exposure(us) – 27910; ROS driver – 16fps, , exposure(us) – 19299.
  3. In general: longer exposure – fewer fps, as if the exposure time adds to frame period.

Do you have any ideas what could cause this?

SherifN commented 5 years ago

I am also having the same issue with daA1600-60uc 1600x1200, USB interface, ROS melodic. Pylon Viewer ~41fps ROS Node ~ 20fps Is there already a solution?

kspons commented 4 years ago

same issue with acA2500-60uc. in ROS will not go above 18.84 Hz

qinvav commented 4 years ago

I might be wrong but I believe that the reason for the difference in FPS is different grabbing strategies. Pylon viewer uses so-called “free-running” mode, which yields maximum FPS. This driver uses (presumably) WaitForFrameTriggerReady() + ExecuteSoftwareTrigger(), which is slower, but necessary for stereo/multiple cameras synchronization (I guess). If someone is not afraid to get his hands a bit dirty I could share my driver for GigE cameras (should work for other types with minor modifications), it is fast :-)

claudiofantacci commented 4 years ago

May be related to https://github.com/basler/pylon-ros-camera/issues/28 and/or https://github.com/basler/pylon-ros-camera/issues/29, even thought the implementation may be different in some part.