-
Notifications
You must be signed in to change notification settings - Fork 34
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add new page Calibration type 10 details (#354)
Co-authored-by: Ugo Pattacini <ugo.pattacini@iit.it>
- Loading branch information
Showing
4 changed files
with
23 additions
and
0 deletions.
There are no files selected for viewing
20 changes: 20 additions & 0 deletions
20
docs/robot_calibration_types/amo_encoder_joint_calibration_10_details.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Calibration type 10 details - AMO Encoder Joint Calibration | ||
|
||
This section illustrates the details of the calibration procedure used for the `iCub 3/ergoCub` joints that mount an AMO encoder at the slow shaft. | ||
As already detailed in the [`calibration-10-procedure`](./standard_calibration_types.md/#calibration-10) joints provided with the `AMO` encoder are currently calibrated so that it can be handled as an incremental encoder coupled with a quadrature encoder placed at the motor. | ||
|
||
## Calibration workflow | ||
|
||
Complete pipeline for the `calibration type 10` using `AMO encoder` at joint and `quadrature encoder` at motor. | ||
<p align="center"> | ||
<img src="../img/calibration-amo-abs-enc.png" width="700"> | ||
</p> | ||
|
||
As you can see in the above-reported state machine, after the calibration command is received by the EMS, a timer of 30 seconds gets triggered; afterward, we wait until the motor encoder calibration ends; finally, the calibration procedure 10 commences. | ||
|
||
The procedure basically consists in moving the slow shaft towards one of the hardware limits as defined in the position set within the calibration parameter `calibrationZero`. The value of the PWM used is in turn defined through the parameter `calibration1`. The joint moves until the limit is reached within a time window and within a predefined maximum length, whose values are coded in the firmware. | ||
|
||
Finally, if the `hard-stop` limit position is found before the `CALIBRATION TIMEOUT` expires, the zero of the `AMO encoder` is updated with the found offset and the whole calibration completes correctly; otherwise, the joint is moved to the `NOT CONFIGURED` state, the PWM is set to `zero` and the motor switched to `IDLE`. | ||
|
||
The FW verifies if the joint has reached the hard position by checking that the encoder position does not change for 1 second, meaning that the relative increase of joint position is smaller than 6.5 deg (1200 iCubDegrees) within 1 second. The encoder position considered for the check is processed to filter out the spikes. | ||
|
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters