@ -8,6 +8,24 @@ Hello Robot Inc. uses this code to calibrate each robot prior to shipping. Users
In addition, after changing a tool, this code can be used to generate a new calibrated URDF that incorporates the tool without performing a new calibration optimization.
## Visually Inspecting the Current Calibration
The following command will allow you to visually inspect a calibration with Rviz. You can use RViz to see how well the robot's 3D body model matches point clouds from the 3D camera. While visualizing the 3D model and point clouds in RViz, you can use keyboard commands in the terminal to move the head around, the lift up and down, and the arm in and out. The keyboard commands will be printed in the terminal.
A good calibration should result in a close correspondence between the robot's 3D body model and the point cloud throughout the ranges of motion for the head, lift, and arm. You may notice higher error when the head is looking upward due to challenges associated with head tilt backlash. You might also notice higher error when the arm is fully extended, since small angular errors can result in larger positional errors at the robot's wrist.
In the images below, examples of good and bad fit between the point cloud and the geometric model are presented side by side. To make the distinction clear, the images have green and red circles indicating where the fit is either good or bad.
![](../images/calibration_comparison1.png)
![](../images/calibration_comparison2.png)
## Calibrate the Stretch RE1
1. Make sure the basic joint limit calibration has been performed.
@ -63,17 +81,7 @@ In addition, after changing a tool, this code can be used to generate a new cali
Use RViz to visually inspect the calibrated model. The robot's 3D body model should look similar to the structure of your robot.
You can then use RViz to see how well the robot's 3D body model matches point clouds from the 3D camera. While visualizing the 3D model and point clouds in RViz, you can use keyboard commands in the terminal to move the head around, the lift up and down, and the arm in and out.
A good calibration should result in a close correspondence between the robot's 3D body model and the point cloud throughout the ranges of motion for the head, lift, and arm. You may notice higher error when the head is looking upward due to challenges associated with head tilt backlash. You might also notice higher error when the arm is fully extended, since small angular errors can result in larger positional errors at the robot's wrist.
This script moves the most recent calibration files to the reversion directory and updates the calibration with the most recent remaining calibration files.
Use RViz to visually inspect the calibrated model. The robot's 3D body model should look similar to the structure of your robot. You may refer to the section above to see examples of good and bad fit.
## Generate a New URDF After Changing the Tool
@ -91,6 +99,14 @@ After changing the tool xacro you will need to generate a new URDF and also upda
This will update the uncalibrated URDF with the current xacro files and then create a calibrated URDF using the most recent calibration parameters.
## Revert to a Previous Calibration
When a new calibration is performed, it is timestamped and added to the calibration directory under "stretch_user/". If you'd like to revert to a previous calibration, you may run the following command. It will move the most recent calibration files to a reversion directory and update the calibration in the stretch_description package from the remaining most recent calibration files.