-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Analyze problem of AMO reading random joint position values #535
Comments
As shown by the logs and image below, if we take the action described in the body of the issue, where we basically move the receiver of the AMO encoder far way from the magnetic disk we can see how the readings tends to varies a lot being meaningless with respect to the expected ones. Furthermore if we take a look to the raw values, first of all we can see how the values written in the registries responsible for keeping the diagnostic errors are different from zero for all the timeframe in which the encoder receiver is not in the standard position anymore (~500 to 540 sec ). Then we can see how the frequency of the variation of the raw values increased. Thus, said all of this, I would say that the problem related to the "random" (if we wanna call them in this manner) readings of the joint when using the AMO has been identified and I'm quite sure that the cause of this problem is due to a change of the standard position of the AMO receiver with respect to the magnetic disk (thing that theoretically should never happen when using the robot). Moreover, as you can see from the first logs I'll add below, I've also tried to see what happens if we remove the cable of the AMO encoder from the receiver connect. In this case we have actually an error and the joint is moved to a fault condition.
independently to the consecutive errors in the readings that we have. Thus, as already said above, we should work better on the diagnostic, retrieving more info from the HAL of the AMO diagnostic. cc: @valegagge |
Hi @MSECode , |
Sure, moreover I'll keep in mind that we still need to open an issue to address the problem of the improvement of the low level (HAL) diagnostic of the AMO. Do we prefer to keep this discussion on a separate issue or make it part or continuation of https://github.com/icub-tech-iit/study-encoders/issues/37 ? What do u think? |
Thanks for pointing out this. I suggest opening a new issue in icub-fw and adding it to the epic https://github.com/icub-tech-iit/study-encoders/issues/21. Thanks |
As already noticed in some occasions and mentioned in the following issues:
we have seen that it might happen that the AMO encoder starts, at a certain point, to read values that are not compliant with the expected ones given by the imposed movement. After some tests, most of which shown in this issue: https://github.com/icub-tech-iit/study-encoders/issues/31, we have observed that this problem verifies deterministically when we move the AMO sensor away from the magnetic disk while it is moving. As a matter of fact, in that configuration, i.e. when the receiver and the magnetic disk are not in the standard location (which should be extremally accurate and with really minimal variations from what written in the documentation), the encoder board is not able anymore to make the transformation mandatory for writing in the registries a meaningful value of the raw position, so that the controller can rescale that to degree inside its working loop.
Therefore, in order to reproduce this behavior, I've moved the encoder in velocity mode quite slowly, thus to add to the reading less disturbances as possible, and then I start to take the receiver far away from the magnetic disk.
Dod
Verifies the behavor documented in the issues and seen on the robot where we start to have "random" readings
The text was updated successfully, but these errors were encountered: