Open JetGang opened 4 years ago
Hi, I have your exact problem. I launch the driver during boot in order to start recording a video .mp4 and a rosbag immediately, but after 1/2 minutes I have this error:
spinnaker-start[843]: [ INFO] [[ERROR] [1612878222.719928123]: [SpinnakerCamera::grabImage] Image received from camera ID is incomplete.
After this error the recording stops, but the rosbag is not affected.
Did you found any solution?
Hi all
Same issue here with:
...
[ INFO] [/camera/camera_nodelet_manager]: [SpinnakerCamera]: (21023432) AutoAlgorithmSelector set to Ae.
[ INFO] [/camera/camera_nodelet_manager]: [SpinnakerCamera]: (21023432) AasRoiEnable set to 1.
[ INFO] [/camera/camera_nodelet_manager]: [SpinnakerCamera]: (21023432) AutoExposureLightingMode set to Normal.
[ INFO] [/camera/camera_nodelet_manager]: using default calibration URL
[ INFO] [/camera/camera_nodelet_manager]: camera calibration URL: file:///home/andreu/.ros/camera_info/0.yaml
[ INFO] [/camera/camera_nodelet_manager]: Unable to open camera calibration file [/home/andreu/.ros/camera_info/0.yaml]
[ WARN] [/camera/camera_nodelet_manager]: Camera calibration file /home/andreu/.ros/camera_info/0.yaml not found.
[ERROR] [/camera/camera_nodelet_manager]: [SpinnakerCamera::grabImage] Image received from camera 2 is incomplete.
[ERROR] [/camera/camera_nodelet_manager]: Failed to disconnect with error: [SpinnakerCamera::disconnect] Failed to disconnect camera with error: Spinnaker: Can't de-initialize camera. Camera is still streaming. [-1004]
The error happens when some other node subscribes to some published topic, for instance when I run:
rosrun image_view image_view image:=/camera/image_raw
but not necessarily just after calling image_view. It might happen after some seconds
After doing on the code folder:
grep -R "Image received from camera"
It seems that the exception is thrown here: https://github.com/ros-drivers/flir_camera_driver/blob/kinetic-devel/spinnaker_camera_driver/src/SpinnakerCamera.cpp#L339
So may be related with an issue on setting a too short timeout, specially for high-res cameras (i.e 20MP): https://github.com/ros-drivers/flir_camera_driver/blob/kinetic-devel/spinnaker_camera_driver/src/SpinnakerCamera.cpp#L458
Timeout is set from here: ( grep -R "setTimeout" ): https://github.com/ros-drivers/flir_camera_driver/blob/kinetic-devel/spinnaker_camera_driver/src/nodelet.cpp#L522
I tried to drastically increase the timeout but the error still happens.
And also to directly remove the timeout with :
Spinnaker::ImagePtr image_ptr = pCam_->GetNextImage();
which according Spinnaker API is EVENT_TIMEOUT_INFINITE without success.
Any suggestion will be welcome. Thanks a lot.
Andreu
As a "non-serious" workaround, you can replace the exception thrown here by a simple ROS_WARN message, and the driver execution carries on ...
For 3 Flir GigE Camera initialisation simultaneously. Please set Acquisition Frame Rate less than 17.
My Code works I have used 10 meter Cat6 cable for each and set Acquisition Frame Rate less than 12 and It worked for me.
cam.AcquisitionFrameRateAuto = "Off"
cam.AcquisitionFrameRateEnable.SetValue(True)
cam.AcquisitionFrameRate.SetValue(12)
cam.AcquisitionFrameRate_set = 12
cam.BeginAcquisition()
anyone have solved the problem?
Also Try to fix the Bandwidth for multiple camera
@mhosmar-cpr Hello,
I use three BFS-U3-28S5C-C cameras and try to trigger them simultaneously, but it crashed sometimes(not every time) when I launch the driver and try to display the images. I also tried to adjust the official
Trigger.cpp
and make it work with multi-cameras, and I don't meet any similar error so far.By the way, it also causes my desktop's crash after this error shows up.
Would you please help me to check the error? Thanks for helping!