-
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
Auto exposure not working in r200 cameras #131
Comments
Hi @tulku , Yes we are able to reproduce it. We will work on fixing this issue and will notify once it is fixed. |
I can reproduce the same issue with an LR200. The
|
I tested this again with a downgraded firmware to see if it solved the problem:
But autoexposure is still not working. |
Hi, Figured it out myself: setting the option rs::option::r200_lr_auto_exposure_enabled does the job. |
@pfuersattel @rjingar This still does not seem to work with the latest release. Any guidance on when this might be addressed would be much appreciated - without auto-exposure it's hard to use the camera reliably in a variety of lighting conditions. |
Added Color auto exposure Added Color manual exposure related to issue #213
LR gain should be set only when LR auto exposure is disabled
Resolved in release 1.8.0 |
* Don't ignore linker flags set by user Yocto's bitbake sets global LDFLAGS that include the option --hash-style=gnu. If this option is ignored then bitbake's QA checks report that QA Issue: No GNU_HASH in the elf binary: '/[...]/opt/ros/indigo/lib/librealsense_camera_nodelet.so' [ldflags] The patch includes user defined linker flags to CMAKE_SHARED_LINKER_FLAGS defined in the project's CMakeList.txt. Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com> * Make system wrapper function generic Error message was assume only use was dynamic reconfigure Added boost as ROS dependency -- should have already been required. * Added imu_start_ts for imu sync * Added frame callbacks instead of rs_wait_for_frames * Added imu_mutex for data sync to callback * Refactored setStreams * Removed prepareTopics thread; replaced with setDepthEnable * Changed depth_scale_meters to local var * Renamed getStreamData to setImageData * Change color stream default to 30fps Improve reliability of the camera by reducing the color stream to 30fps by default. This will be the highest frame rate which will be validate with VGA or higher resolutions for use with ROS. Default files will no longer use the librealsense preset modes as they will be depreciated in the future. * Fixed boost mutex error when destroying ZR300 nodelet Replaced boost::mutex with std::mutex * Added destructor to ZR300 nodelet to join thread * Fix F200/SR300 tests for new default 30fps The F200 and SR300 tests were attempting too much code reuse by include the r200_nodelet_default.launch file. When the Default launch files were changed to set 30fps as the new default for the color stream, F200/SR300 also had to set new defaults for the Depth stream to prevent using the invalid R200 depth default. The R200 default file does NOT pass the depth_width and depth_height to the nodelet so the override values were lost. * Add Dynamic Transforms support -- multi-cam Due to a ROS bug which prevents publishing more than one static transform in separate processes, enable the use of dynamic camera transforms when needed for multiple camera support. Static transforms are still the default. See: ros/ros_comm#146 ros/geometry2#181 * Code Review Fixes * Enable ROS Lint Many minor fixes to be compliant with ROS Lint standards. * C++11 Flagged ROS Lint items Suppressing these for now, but should be investigated as they are not compliant with current ROS standards. * Update Change log for release * 1.7.0 * Update RGBD launch files. Modify the r200/sr300 RGBD-style launch files to no longer use the RGBD depth/ir/rgb_processing flags to control whether the corresponding stream is also enabled. For example, now turning off RGBD depth *processing* will no longer disable the depth stream itself. * Do not register IR callback if stream disabled Work around bug in librealsense where the callback for IR is called even if the stream is disabled if IR2 stream is enabled. See IntelRealSense/librealsense#393 * Start IMU in startCamera * Fix Multi-cam example launch file Leading '/' required to ensure both cameras use the same nodelet manager due to group name space. * Added try-catch for start and stop device * Fixed spacing before comment - roslint failure * Disable Fisheye and IMU on ZR300 for RGBD launch * Fixed roslint tabs errors * Allow Disabling of IMU after PR#175 Refactoring PR IntelRealSense#175 broke the logic for disabling IMU * Updated Change Log for 1.7.0 * Added retry in tests to avoid random failures * Also exclude swap files from Git * Use shared timestamp for SR300/F200 cameras Due to camera hardware issues on the SR300 and F200, reverted back to using a common timestamp updated by the fastest stream. This was the old behaviour when rs_wait_for_frames was used prior to release 1.7.0. * Generate Warning for non-validated camera firmware Compare the camera's firmware version to the validated firmware version. Log a warn message if the two firmware versions do not match. If the camera is ZR300, also check the adapter firmware version and the motion module firmware version. * Updated Change Log for 1.7.1 * 1.7.1 * Git ignore QT Creator *.workspace files * Upload 18 bat tests Upload first version of stable bat tests, there are 2 common tests to check librealsense and realsense_camera installed, and there are 4 specific tests of each camera (R200/F200/SR300/ZR300) to check camera info matrix, enabled tf, set power off/on and force power off/on, totally 18 tests. All the tests are based on rospy, using python script as test type. * Changed fisheye_strobe and fisheye_external_trigger to static params * Change tf to using setRPY for consistency * Create tool to get debug info Create a node tool that, when run, will display the user's operating system, kernel, ROS version, RealSense version, librealsense version, and the type and firmware of any detected cameras. * Fix minor spelling errors * Updated the maintainers * Update change log * 1.7.2 * Added SyncNodelet class * Updated F200 to be based on SyncNodelet * Updated SR300 to be based on SyncNodelet * Fixed roslint errors * Removed getTimestamp override from F200 and SR300 * Updated r200 to be based on SyncNodelet * Added loop checking of start/stop camera * Update Debug Tool Update debug tool to show motion module and adapter firmwares for the ZR300 camera. Update the validated firmware versions. * Added check for depth_enable dynamic change * Dynamic reconfigure of SR300 exposure controls * Updated Copyright to 2017 * Added SyncNodelet destructor * Added blank lines for readability after closing braces * Fixed LR auto exposure issue IntelRealSense#131 LR gain should be set only when LR auto exposure is disabled * Add option to link against non-catkin librealsense In OpenEmbedded setups where both meta-ros and meta-intel-realsense layers are used it's problematic to avoid two copies of librealsense installed onto an embedded target: one catkit-based installed under /opt/ros and one other installed to a standard system location. This patch adds an option making realsense_camera link against librealsense provided by the host system. By default the currently existing behavior is preserved. Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com> * Enable roslint when CATKIN_ENABLE_TESTING is True roslint depends on catkin_run_tests_target() which is defined only when CATKIN_ENABLE_TESTING is True. Thus run roslint functions in CMakeLists.txt only when testing is enabled. Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com> * Exposed autoexposure toggle and exposure control for F200, R200. Updated copyright data on nodelets * Fix build timing issue for catkin * Make ZR300 consistent with other cameras Recent color auto exposure code changes are slightly different for SR300/F200/R200 from ZR300. Mainly the ZR300 needed the same if condition added for only setting the manual value when auto exposure is disabled. * Updated changelog * 1.8.0 * Enable configuration of the TF publication rate when using tf_dynamic The parameter is called tf_publication_rate * 1.8.0 -- Updated * librealsense: Fix link when the system library is used Otherwise librealsense won't be listed as a dependency for the nodelet that will fail to load due to undefined symbols. Signed-off-by: Murilo Belluzzo <murilo.belluzzo@intel.com> * Add RGDB launch file for the ZR300
Added Color auto exposure Added Color manual exposure related to issue IntelRealSense#213
System Configuration
Expected Behavior
When setting auto_exposure to 1, the camera should adjust the exposure value so that the image is well exposed (avoid under/over exposure). Ideally, getting rid of holes due to too much IR reflections.
Actual Behavior
Enabling the auto_exposure value does not change the exposure setting of the camera.
Steps to Reproduce
To produce and under exposed image: Set auto exposure to 0, and manually adjust the exposure value to 50, you should see a dull IR image. Then re-enable auto_exposure, like in the picture:
To produce and over exposed image: Set auto exposure to 0, and manually adjust the exposure value to 164, you should see a very bright IR image. Then re-enable auto_exposure:
If I understand auto_exposure correctly, whenever it is active, it should adjust the exposure to whatever is the best value at that moment, so the previously, manually set values, should have no effect when re enabling auto_exposure.
For the pictures in the issue, the camera is facing a wall, at a distance between 80 to 90cm.
The text was updated successfully, but these errors were encountered: