Checking the calibration now collects fewer higher quality observations.
When checking or performing a new fit, the fit error is checked against a threshold that likely indicates a problem with the calibration.
Code to check the existing calibration. It does the following:
+ Collects a reduced number of new observations with which to check the current calibration.
+ Visualizes and computes the fit of the current calibration to the new observations.
Future work:
+ Improve the reduced number of observations to increase efficiency.
+ Check the numeric results of the fit and provide a warning if the quality is low.
Apparently, upstream RealSense changes in ROS Melodic broke Stretch URDF creation. More information about the changes can be found using the following information:
+ realsense-ros release: https://github.com/IntelRealSense/realsense-ros/releases/tag/2.2.14
+ Debian package: ros-melodic-realsense2-description/bionic,now 2.2.14-1bionic.20200630.141906
+ relevant commit: f7cd5fced5
The corrected issue has to do with changes to "use_nominal_extrinsics" specified in the D435i xacros in the realsense2_description package.
The current commmit also changes the d435i launch file for Stretch (d435i_basic.launch) so that it no longer performs "initial_reset" by default. "initial_reset" appears to have resulted in long delays and freezing when bringing up the camera on the robot.
An excerpt from Intel's documentation for initial_reset follows:
"initial_reset: On occasions the device was not closed properly and due to firmware issues needs to reset. If set to true, the device will reset prior to usage." from https://github.com/intel-ros/realsense