The tilt backlash model is supposed to compare the current tilt
angle of the head with the head_tilt_backlash_transition_angle
to determine if head_tilt_looking_up element of the backlash state
is true or false. This is due to the head resting against
different sides of the tilt joint based on whether it's looking up
or looking down.
At some point, an error was introduced in which
head_tilt_looking_up was set based on the recent relative motion
of the head tilt joint. This is the way backlash state is
determined for the telescoping arm and head panning.
In contrast, the head tilt backlash state depends on gravity
and where the center of mass of the head is relative to the
tilt joint's axis of rotation. As such, the head tilt backlash
state depends on the tilt angle of the head.
+ Users may define out-of-range goals intentionally if they want to move any joint to its limit without knowing the joint's calibrated limit for a specific robot
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
+ move up or down to contact handles
+ use new stretch_driver custom effort thresholds
+ successful with tool chest drawer, but has 10 second timeouts after each move until contact