Chico joint calibration: Difference between revisions
Jump to navigation
Jump to search
m (changed "to how" to "how to") |
|||
| Line 23: | Line 23: | ||
* Verify these things: | * Verify these things: | ||
** that the zero position makes physical sense, i.e., it is really close to the desired zero; | ** that the zero position makes physical sense, i.e., it is really close to the desired zero; | ||
** manually move the joints a bit around the zero position, check that the values provided robotMotorGui are changing continuously, without glitches or jumps | ** manually move the joints a bit around the zero position, check that the values provided by <code>robotMotorGui</code> are changing continuously, without glitches or jumps | ||
* Calibration is now complete. You are ready to run <code>iCubInterface</code> with the motors enabled (emergency button up). | * Calibration is now complete. You are ready to run <code>iCubInterface</code> with the motors enabled (emergency button up). | ||
Revision as of 16:19, 13 November 2009
We explain here how to calibrate Chico's joint encoders.
General calibration procedure
- Power-cycle (i.e., switch off and on) the board controlling the joint that you want to calibrate.
- Launch
iCubInterface --config $ICUB_ROOT/app/iCubLisboa01/conf/icubRaw.ini- the emergency/fault button must be pressed down
- Launch
robotMotorGui
- Manually align the joints to a desired zero position and write down the values provided by
robotMotorGui
- Open
$ICUB_ROOT/app/iCubLisboa01/conf/iCub_Calibration_Lisboa_001.xls
- Go to the desired joint section; edit the yellow fields with the
robotMotorGuivalues that you have previously noted down; observe the resulting red values.
- Edit
$ICUB_ROOT/app/iCubLisboa01/conf/icub_<limb>_safe.iniand write the new "red" values that you have just read in the XLS. The rows to edit are typically: Zeros, Min, Max, Encoders, Calibration1, Calibration3.
- Update
$ICUB_ROOT/app/iCubLisboa01/conf/icub_<limb>.inias well.
- Launch
iCubInterface --config $ICUB_ROOT/app/iCubLisboa01/conf/icubSafe.ini- again, the emergency/fault button must be pressed down
- Verify these things:
- that the zero position makes physical sense, i.e., it is really close to the desired zero;
- manually move the joints a bit around the zero position, check that the values provided by
robotMotorGuiare changing continuously, without glitches or jumps
- Calibration is now complete. You are ready to run
iCubInterfacewith the motors enabled (emergency button up).
Example: shoulder calibration
- With
canLoader20, flash the old firmware version 1.51 to board number 2 (example for right shoulder: pcan, net 2, board 2).
- For the
icubRaw.iniphase, follow the instructions of the general calibration procedure above. Manually place the 3 shoulder joints to a position that is consistent to the desired values (0, 0, any). This corresponds to the arm being vertical and perpendicular to the floor. Write down the first two encoder values provided byrobotMotorGui; let's call them "first value" and "second value".
- Next, manually put the shoulder to position (first value - 30, second value + 30, 0), which means that the third joint is in a position that corresponds to the desired zero. Take note of the "third value" provided by
robotMotorGui.
- Update the XLS file as per general procedure.
- With
canLoader20, flash back to the new firmware version 1.53.