magazino / pylon_camera

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

Frame rate #28

Closed xepost closed 6 years ago

xepost commented 6 years ago

Hi,

The max frame rate I get from ros does not match to the specs and the frame rates I get from pylon Viewer. I have tried the latest version of the software on daA1280-54um, daA1600-60um and acA1920-150um.

The frame rate I get from acA1920-150um is similar to what I get if I set the Sensor Readout mode to Normal instead of Fast, thinking that they might be related. From the pylon Viewer I get 55,61 and 150 fps for daA1280-54um, daA1600-60um and acA1920-150um respectively.

Another issue is how can we call user set's savings from RoS driver ?

You can see the logs below.

[ INFO] [1507797817.641419408]: No Device User ID set -> Will open the camera device found first [ INFO] [1507797817.896556001]: Found camera with DeviceUserID N/A: daA1280-54um [ INFO] [1507797817.998186892]: Cam has binning range: x(hz) = [1 - 2], y(vt) = [1 - 1]. [ INFO] [1507797817.998315158]: Cam has exposure time range: [10 - 1e+06] measured in microseconds. [ INFO] [1507797817.998395708]: Cam has gain range: [0 - 18.0278] measured in dB. [ INFO] [1507797817.998464220]: Cam has gammma range: [0.25 - 2]. [ INFO] [1507797817.998532050]: Cam has pylon auto brightness range: [25.5 - 255] which is the average pixel intensity. [ INFO] [1507797817.998619946]: Cam supports the following [GenAPI|ROS] image encodings: ['Mono8'|'mono8'] ['Mono12'|'NO_ROS_EQUIVALENT'] [ WARN] [1507797817.998670233]: No image encoding provided. Will use 'mono8' or 'rgb8' as fallback! [ WARN] [1507797818.128703051]: [] name not valid for camera_info_manger [ INFO] [1507797818.154810623]: CameraInfoURL needed for rectification! ROS-Param: '/pylon_camera_node/camera_info_url' = '' is invalid! [ WARN] [1507797818.154909389]: Will only provide distorted /image_raw images! [ INFO] [1507797818.155640757]: Startup settings: encoding = 'mono8', binning = [1, 1], exposure = 13936, gain = 0, gamma = 1, shutter mode = default_shutter_mode [ INFO] [1507797818.156033256]: Desired framerate 250.00 is higher than max possible. Will limit framerate to: 25.98 Hz [ INFO] [1507797818.157779322]: Start image grabbing if node connects to topic with a frame_rate of: 25.9781 Hz [ INFO] [1507797818.157937063]: Camera not calibrated

################################################################################ process[pylon_camera_node-2]: started with pid [23327] [ INFO] [1507797886.810743783]: No Device User ID set -> Will open the camera device found first [ INFO] [1507797887.072757470]: Found camera with DeviceUserID N/A: daA1600-60um [ INFO] [1507797887.176956446]: Cam has binning range: x(hz) = [1 - 2], y(vt) = [1 - 1]. [ INFO] [1507797887.177075819]: Cam has exposure time range: [10 - 850000] measured in microseconds. [ INFO] [1507797887.177157287]: Cam has gain range: [0 - 24.0143] measured in dB. [ INFO] [1507797887.177244584]: Cam has gammma range: [0.25 - 2]. [ INFO] [1507797887.177313752]: Cam has pylon auto brightness range: [25.5 - 255] which is the average pixel intensity. [ INFO] [1507797887.177400277]: Cam supports the following [GenAPI|ROS] image encodings: ['Mono8'|'mono8'] ['Mono12'|'NO_ROS_EQUIVALENT'] [ WARN] [1507797887.177450890]: No image encoding provided. Will use 'mono8' or 'rgb8' as fallback! [ WARN] [1507797887.252042106]: [] name not valid for camera_info_manger [ INFO] [1507797887.281953281]: CameraInfoURL needed for rectification! ROS-Param: '/pylon_camera_node/camera_info_url' = '' is invalid! [ WARN] [1507797887.282034605]: Will only provide distorted /image_raw images! [ INFO] [1507797887.282734670]: Startup settings: encoding = 'mono8', binning = [1, 1], exposure = 16439, gain = 0.115184, gamma = 1, shutter mode = default_shutter_mode [ INFO] [1507797887.283175592]: Desired framerate 250.00 is higher than max possible. Will limit framerate to: 30.43 Hz [ INFO] [1507797887.285038575]: Start image grabbing if node connects to topic with a frame_rate of: 30.4294 Hz [ INFO] [1507797887.285205456]: Camera not calibrated

################################################################################

setting /run_id to cad5a1ec-af29-11e7-bf71-80fa5b3aea6e process[rosout-1]: started with pid [23569] started core service [/rosout] process[pylon_camera_node-2]: started with pid [23586] [ INFO] [1507797969.940313059]: No Device User ID set -> Will open the camera device found first [ INFO] [1507797970.201851175]: Found camera with DeviceUserID N/A: acA1920-150um [ INFO] [1507797970.449816427]: Cam has binning range: x(hz) = [1 - 4], y(vt) = [1 - 4]. [ INFO] [1507797970.449944276]: Cam has exposure time range: [105 - 1e+06] measured in microseconds. [ INFO] [1507797970.450052102]: Cam has gain range: [0 - 12.0092] measured in dB. [ INFO] [1507797970.451102246]: Cam has gammma range: [0 - 3.99998]. [ INFO] [1507797970.452156586]: Cam has pylon auto brightness range: [50 - 205] which is the average pixel intensity. [ INFO] [1507797970.454060802]: Cam supports the following [GenAPI|ROS] image encodings: ['Mono8'|'mono8'] ['Mono10'|'NO_ROS_EQUIVALENT'] ['Mono10p'|'NO_ROS_EQUIVALENT'] [ WARN] [1507797970.454128755]: No image encoding provided. Will use 'mono8' or 'rgb8' as fallback! [ WARN] [1507797970.516184271]: [] name not valid for camera_info_manger [ INFO] [1507797970.545051917]: CameraInfoURL needed for rectification! ROS-Param: '/pylon_camera_node/camera_info_url' = '' is invalid! [ WARN] [1507797970.545127496]: Will only provide distorted /image_raw images! [ INFO] [1507797970.548246829]: Startup settings: encoding = 'mono8', binning = [1, 1], exposure = 5000, gain = 0, gamma = 1, shutter mode = default_shutter_mode [ INFO] [1507797970.548958100]: Desired framerate 250.00 is higher than max possible. Will limit framerate to: 112.50 Hz [ INFO] [1507797970.551190612]: Start image grabbing if node connects to topic with a frame_rate of: 112.499 Hz [ INFO] [1507797970.551330538]: Camera not calibrated

marc-up commented 6 years ago

The value you see is the return value of the 'camer.maxPossibleFrameRate()' and highly depends the connection settings and the exposure time. I can't tell you exactly how this value is internally calculated, this might be a question for the Basler support. Regarding user set saving: This feature is currently not implemented, but might be done via a string parameter describing the file path to the user set and loading this one if the parameter is available instead of 'UserSetSelector_Default'. This would mean, that all given parameters would be overridden on startup. Feel free to create a branch for this feature.