Open nicewiz opened 3 years ago
Can you try commenting out the two lines where the binning is being set on the camera - https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver/blob/f6ab2909ba2a4e250d7838331c83d4b588badb0f/src/capture.cpp#L686
We tried commenting out all the lines where fatal error occurred and it works out. Then we went and checked the camera settings in spinview and found that some valuables like BinningHorizontal might have been locked in our camera so the function SetIntValue() can't work. Also could be other reasons but not sure. Thanks for your advice! BTW how can we save the image data from camera in ros?
In ROS you can just use rosbag record to save all the ROS messages.
Looks like the right way to address this would be to put https://github.com/neufieldrobotics/spinnaker_sdk_camera_driver/blob/f6ab2909ba2a4e250d7838331c83d4b588badb0f/src/camera.cpp#L173
line under else
. That should throw an error but let the code continue.
we find it work if commenting out those lines throwing errors
but in this way we cannot set the camera to color mode nor we can set acquisition rate to other values
put ptr->SetValue(val);
line under else
may let code continue but cannot set color to rgb(should not work)
still trying other ways to solve it
@nicewiz you can use SpinView to figure out exactly which variables you need to play with to get your desired settings and then try to replicate that in the driver.
@shahvi This leads to a former question -> we find some variables in spinview are locked(cannot be changed or not in a correct operation?)
So are there any relations between the error aforementioned on the top of this issue and the following code?
if (!IsAvailable(ptr) || !IsWritable(ptr)) ROS_FATAL_STREAM("Unable to set " << setting << " to " << val << " (ptr retrieval). Aborting...");
@nicewiz yes, if something is locked in SpinView, most likely we would not be able to change it from the driver.
Got it! Are there any methods to unlock them in SpinView? There are lots of important variables we wanna reset.
Usually I have seen that the variables that are locked or grayed out are not supported by the camera hardware. Eg. If the camera is Grayslake then color option is grayed out.
What variables are you trying to change?
Strangely we cannot set color in driver though color mode supported and acquisition frame rate is locked so we can't set it to 20 or more
System Description Camera Name and Model: Grasshopper3 GS3-U3-123S6C Operating System: Ubuntu 16.04 Spinnaker Version: 2.0.0.147 ROS Version: kinetic 1.12.17
Computer details Processor:Intel i7-7500U 2.70GHz RAM: 8GB
Multiple Cameras Only How is the triggering setup? Master/Slave or all slaves or all software triggered?
For USB 3.0 cameras: On same USB 3.0 bus or different buses? Is the USB 3.0 hub externally powered?
For Ethernet cameras: How busy is the network, does the system work in grayscale, at a lower resoultion (binning) and framerate?
Do the cameras work with SpinView? Yes, perfectly.
Describe the bug I have installed the spinnaker_sdk_camera_driver as described in the readme file, but run into following error(s) when launching the acquisition.launch file:
both cameras are recognized and stated as "connected" in the output.I have set Binning to 0 or other values, and color mode is deactivated and still got the following error.
Error Messages
Screenshots If applicable, add screenshots to help explain your problem.
Best Regards!