Robot Arm Calibration
Sawyer's joint torque sensors only needs to be calibrated occasionally based on use. We recommend calibrating the arm after shipping, after large impacts with the environment, or when you notice a strong pull in zero-g mode.
The calibrate_arm.py script is located in the intera_sdk repo.
Before running the Calibration script, you must remove any grippers and other attachments from the arm; level the robot using the feet on its base; and make sure that there are no obstructions within the arm's reach. The arm will move through the most of its accessible range, and collisions will result in a failed calibration.
Note: The recommended order of operations in calibration is:
- Move the arm near the front of the robot
- Run the calibrate_arm routine
- Then immediately reboot
The new calibrated values will not be applied until the arm is rebooted.
Note: The Intera Manufacturing Mode UI will run through this entire routine for you by selecting Calibrate from the "System" menu.
Calibrate - calibrate_arm.py
To run the calibrate_arms.py script, simply type in a properly initialized `intera.sh` shell:
$ ./intera.sh $ rosrun intera_interface calibrate_arm.py
usage: calibrate_arm.py [-h] optional arguments: -h, --help show this help message and exit
What is this doing?
Sawyer's joint torque sensors are being calibrated. Because we know the mass and center off mass for each rigid segment of Sawyer's arm, we know the expected torque due to gravity on each joint in any given arm pose. By sampling the torque sensor readings at a set of known poses, we can find the correct calibration values for the torque sensors.
The torque sensors will not have a direct affect on the arm's position repeatability, but may affect the feed-forward and gravitational torques calculated to improve motion tracking.
Note: The estimated gravitational torques depends on the accuracy on the arm's kinematic model, link mass properties, and torque sensing. Because the estimated torques are not perfect, the arm may drift if the cuff is not firmly held while zero-g mode is active.