anqixu / ueye_cam

A ROS nodelet and node that wraps the driver API for UEye cameras by IDS Imaging Development Systems GMBH.
Other
60 stars 102 forks source link

Camera time out #6

Closed anuppari closed 10 years ago

anuppari commented 10 years ago

I frequently get an error saying: "Failed to acquire image from UEye camera 'camera' (IS_TIMED_OUT)" My launch looks like this:

<include file="$(find ueye_cam)/launch/rgb8.launch" />
<param name="ueye_cam_nodelet/color_mode" type="str" value="mono8" />
<param name="ueye_cam_nodelet/image_width" type="int" value="752" />
<param name="ueye_cam_nodelet/image_height" type="int" value="480" />
<param name="ueye_cam_nodelet/auto_exposure" type="bool" value="False" />
<param name="ueye_cam_nodelet/auto_frame_rate" type="bool" value="False" />
<param name="ueye_cam_nodelet/pixel_clock" type="int" value="40" /> <!-- in MHz (max 40) -->
<param name="ueye_cam_nodelet/gain_boost" type="bool" value="False" />
<param name="ueye_cam_nodelet/auto_gain" type="bool" value="False" />
<param name="ueye_cam_nodelet/frame_rate" type="double" value="1.0" /> <!-- ignored if auto frame rate -->
<param name="ueye_cam_nodelet/exposure" type="int" value="10" /> <!-- in ms (ignored if auto exposure)-->

I'm using the uEye UI-1226LE-M-GL camera. Everything seems to work fine if I keep auto_exposure, auto_frame_rate and auto_gain on. However when I set them to specific values, it throws the time out error. If I plug the camera into a USB3.0 port, it works fine at the max frame rate, but the camera is a USB2.0 camera and should be able to support the max frame rate and pixel clock of 40 MHz in this slot.

To make sure its not the camera, I put the set the frame rate to 1 and very small exposure time in the above launch file, and yet I still get timeout errors.

anqixu commented 10 years ago

This error means that the underlying IDS driver is timing out when asked to pull an image from your camera. FYI in non-auto frame rate mode, the time out time is set to 2 * (1000ms / frame_rate) (search for eventTimeout in ueye_cam_nodelet.cpp), which is quite conservative.

Therefore, the cause of this error is most likely related to your hardware / OS-level software, e.g.:

Here are some suggestions: