Chico joint calibration: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
(bulleted list) |
||
| Line 1: | Line 1: | ||
We explain here to how calibrate Chico's joint encoders. | We explain here to how 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 <code>iCubInterface --config $ICUB_ROOT/app/iCubLisboa01/conf/icubRaw.ini</code> - the emergency/fault button must be pressed | |||
* Launch <code>robotMotorGui</code> | |||
* Manually align the joints to a desired zero position and write down the values provided by <code>robotMotorGui</code> | |||
* Open <code>$ICUB_ROOT/app/iCubLisboa01/conf/iCub_Calibration_Lisboa_001.xls</code> | |||
* Go to the desired joint section; edit the yellow fields with the values that you have previously noted down; observe the resulting red values. | |||
* Edit <code>$ICUB_ROOT/app/iCubLisboa01/conf/icub_<limb>_safe.ini</code> and 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 <code>$ICUB_ROOT/app/iCubLisboa01/conf/icub_<limb>.ini</code> as well. | |||
* | |||
* Launch <code>iCubInterface --config $ICUB_ROOT/app/iCubLisboa01/conf/icubSafe.ini</code> - again, the emergency/fault button must be pressed | |||
* 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 robotMotorGui 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). | |||
= Example: shoulder calibration = | |||
* With <code>canLoader20</code>, flash the old firmware version 1.51 to board number 2 (example for right shoulder: pcan, net 2, board 2). | |||
* For the <code>icubRaw.ini</code> phase, 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; let's call these "first value" and "second value" in <code>robotMotorGui</code>. | |||
With canLoader20, flash back to the new firmware version 1.53. | * 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 <code>robotMotorGui</code>. | ||
* Update the XLS file as per general procedure. | |||
* With <code>canLoader20</code>, flash back to the new firmware version 1.53. | |||
[[Category:Vislab]] | [[Category:Vislab]] | ||
Revision as of 16:01, 13 November 2009
We explain here to how 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
- 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 values 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
- 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 robotMotorGui are 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; let's call these "first value" and "second value" inrobotMotorGui.
- 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.