Skip to content
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

Make the joint encoder diagnostic more general as possible #533

Closed
valegagge opened this issue Nov 8, 2024 · 3 comments
Closed

Make the joint encoder diagnostic more general as possible #533

valegagge opened this issue Nov 8, 2024 · 3 comments
Assignees

Comments

@valegagge
Copy link
Member

A long time ago the only joint encoder available were the AEA and in the diagnostic message we refer to them. Now we have different type of joint encoder, so we need to make the diagnostic message more general.

For example in this issue robotology/icub-tech-support#1901, the user was left blindsided.

Dod
The joint encoder diagnostic messages are clearer.

@valegagge valegagge removed their assignment Nov 22, 2024
@MSECode
Copy link
Contributor

MSECode commented Nov 25, 2024

Considering the problems we had with the diagnostic described in the body of the issue and the desire to always make the diagnostic of our system more general and complete as possible, thus to remove from the final user all the effort of interpretation of the logs information, we have chosen not only to make the aforementioned messages more general but to improve them with other useful information.
Therefore, we have added to the following messages:

  • case eoerror_value_MC_abs_enc_invalid
  • case eoerror_value_MC_abs_enc_spikes
  • case eoerror_value_MC_abs_enc_timeout

the name of the type of the absolute encoder interested by the fault. This has been done since now we are starting to always use new types of encoders for the same joints in different robots. Therefore, it might be helpful to show to the user what type of encoder is mounted on the faulted branch, without having them to check this information in the configuration files.

The code we are working on is available in the following branches:

@MSECode
Copy link
Contributor

MSECode commented Nov 25, 2024

I've tested on a bench setup the changes applied to the diagnostic. As you can see from the line I retrieved from the logs below, now the diagnostic message related to the errors we can have for a joint encoder is more general and we can also see the info about the type of encoder we have mounted at the joint.
In order to get these logs, I've pushed the external fault button to be in a safe condition. Then, I've disconnected and then reconnected the encoder cable from the sensor board.

[ERROR] from BOARD 10.0.1.1 (three-encoders-setup) time=1419s 114m 367u : MC: Absolute encoder invalid data. Hardware problem in the magnetic position sensor of the joint caused invalid position readings. (Joint=three_encoders_joint (NIB=0), encoderPort=0, encoderType=AMO)

[WARNING] from BOARD 10.0.1.1 (three-encoders-setup) time=1409s 180m 295u : MC: Absolute encoder has spikes. There is impulsive noise in the measures of the magnetic position sensor of the joint. (Joint=three_encoders_joint (NIB=0), encoderPort=0, encoderType=AMO)

@MSECode
Copy link
Contributor

MSECode commented Dec 2, 2024

Test done and PR opened. Are all linked here:
robotology/icub-firmware-build#174

In the PRs we have also add the fixes needed for a correct type 10 calibration with have been slightly revised.

@MSECode MSECode closed this as completed Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants