-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Read auto-exposure values #1197
Comments
I wonder if a solution might already exist that includes the dynamic reconfigure system for changing parameters dynamically during runtime instead of in the launch file. RealSense camera parameters, including those of the RGB and stereo cameras, can be dynamically affected in ROS using the Dynamic Reconfigure (rqt_reconfigure) interface. A rosparam get / instruction may therefore be able to read the current settings of Dynamic Reconfigure. |
I have tested dynamic_reconfigure on My impression is that the sensor properties are read on the node start, but later are not updated. |
It may be that the auto-exposure being enabled prevents the exposure reading from being updated. The "real" exposure value is in the camera metadata. The link below has an explanation from a member of the RealSense team about the mechanics of the exposure system. IntelRealSense/librealsense#1624 (comment) On Windows 10, metadata support is built in. For Linux users, the support has to be patched in. IntelRealSense/librealsense#5596 (comment) There is a "bypass" backend method of installing the Librealsense SDK on a computing device with an internet connection with the flag -DFORCE_RSUSB_BACKEND=true. It is not dependent on Linux versions, kernel versions or patches. Metadata support is included in that installation method, so it is one of the easiest ways to get metadata support. It can be installed by using a CMake instruction like the one below in the Build folder of the Librealsense root directory (Librealsense > Build): cmake ../ -DFORCE_RSUSB_BACKEND=true -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true |
Indeed, the librealsense allows for reading the exposure from the device. What I am wondering is, if this feature could be included in the ROS driver, for example get the real exposure value using dynamic reconfigure. We use vanilla ROS node and would prefer to keep it this way. |
I agree that this is a nice enhancement. I'll appreciate a PR on the subject or look into it myself as time and priorities permit. |
@doronhi I could prepare a PR, only if this was supported by hardware. With the latest firmware Do you know if RGB will support reading exposure metadata from frame? |
I checked and it is a know limitation with RGB sensor. The automatic and manual exposure settings are separate and I don't know of a way to obtain the value of the calculated auto-exposure value for the D4xx series. |
Thanks a lot. As for frame exposure time for depth, it could be published to an independent topic next to camera_info. |
I wonder if it would be possible to occasionally update the dynamic parameter instead of adding another topic. Seems more intuitive to me. |
Hi @piotrpolatowski Do you wish to continue with this case please? Thanks! |
Case closed due to no further comments received. @piotrpolatowski If you do decide to kindly create a PR at a future date and submit it, please create a new issue on this GitHub to go with it. Thanks! |
Hello,
are you planning to allow querying the sensor?
I'm interested in reading the exposure time for enabled auto exposure, like IntelRealSense/librealsense#3717
This would be very convenient to let realsense adjust the exposure time and later collect series of images with same settings. We want to compare images over time and dynamic exposure causes us problems, whereas picking right exposure to a new environment seems like a complicated task which is solved on the device.
Best regards
Piotr
The text was updated successfully, but these errors were encountered: