Skip to content

Conversation

@davidetome
Copy link

@davidetome davidetome commented Feb 7, 2022

As per the title, this PR contains the mods made w/ @ale-git for the AMO incremental calibration on the shoulders.

cc @S-Dafarra @pattacini

@davidetome davidetome added the enhancement New feature or request label Feb 7, 2022
@davidetome davidetome requested a review from pattacini February 7, 2022 15:57
@davidetome davidetome self-assigned this Feb 7, 2022
@davidetome davidetome requested a review from S-Dafarra February 7, 2022 15:57
@pattacini
Copy link
Member

Only a quick comment.
If I'm not mistaken, I've seen @S-Dafarra reporting somewhere that devel is now the branch to use.
Is this correct? If so, just edit the base branch straight from within the PR dashboard.

@davidetome
Copy link
Author

https://github.com/icub-tech-iit/task-force-miscellanea/issues/100#issuecomment-1027124290

@pattacini
Copy link
Member

icub-tech-iit/task-force-miscellanea#100 (comment)

Ok, sorry for the noise then!
I was wrong.

Copy link
Member

@S-Dafarra S-Dafarra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @davidetome. I have noticed that you probably lost the joint (7) from the calibration order. In addition, the limits you set for the shoulder pitch seem a bit weird. I remember we checked them on the robot, and the shoulder pitch should have +25/-180 range of motion. If you read a different limit it is possible that the encoder was not calibrated

<!-- 0 1 -->
<param name="hardwareJntPosMax"> 25 165 </param>
<param name="hardwareJntPosMin"> -180 0 </param>
<param name="hardwareJntPosMax"> 36.2 165 </param>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

36.2 is the measured angle of the hard stop; this is necessary to let the incremental procedure work

cc @ale-git

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Measured how? Is it possible that the encoder was miscalibrated? The mechanical range of motion should be 205deg

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moving by hand to the hard stop and reading the motorgui.
@ale-git I'm right?

<!-- 0 1 -->
<param name="hardwareJntPosMax"> 25 165 </param>
<param name="hardwareJntPosMin"> -180 0 </param>
<param name="hardwareJntPosMax"> 36.2 165 </param>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above, this limit is a bit weird

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

36.2 is the measured angle of the hard stop; this is necessary to let the incremental procedure work

cc @ale-git

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As @davidetome said, we measured the back hard stop position after absolute calibration, in order to make the encoder reading the same when switched to hard stop. We did it more than once, so it is not likely (though still possible) that we ran into a miscalibration. Anyway, a difference of 16 degrees must be evident after hard stop calibration... how does the shoulder seem when you put it in 0 position? We checked the 0 and 90 degrees position and it seemed fine. Maybe the limit was reduced for control reasons? In this case only the sotware limit should have been changed, but maybe this wasn't clear at that time. Another possibility is that something wasn't properly mounted, as happened once in the shoulder yaw. I suggest 1) to visually check the 0 and 90 degrees positions and 2) to check the CAD limits.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@S-Dafarra , I thought we should check again the limits (both) to see if one increases the other one decreases.. what about @ale-git?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes you can check if the other limit is ok. Good idea.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately the documentation doesn't help
image

Anyway, if we want the back limit at 25 deg all we need to do is to put 25 instead of 36.2 in the calibration file. I strongly suggest to make the quick test of moving the joint by hand to hard stops and see 1) if the upper limit is still -180 and 2) if the arm really reaches the vertical position, since I doubt about this last point.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The shoulder pitch has been recently changed by Elio Massa: see https://github.com/icub-tech-iit/tickets/issues/1410#issuecomment-953972983.

Maybe, @ale-git @davidetome you were not aware of this.
And the documentation is sadly not up-to-date, yep.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Anyway, if we want the back limit at 25 deg all we need to do is to put 25 instead of 36.2 in the calibration file. I strongly suggest to make the quick test of moving the joint by hand to hard stops and see 1) if the upper limit is still -180 and 2) if the arm really reaches the vertical position, since I doubt about this last point.

I did exactly this 😉

image

I guess also the corresponding parameter in the calibration file (

<param name="calibrationZero"> 36.2 -8.4 -51.3 -5 0 0 0 0 0 0 0 0 0 0 0 0 </param>
) should change right?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the 36.2 value must be changed to your actual desired limit.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pattacini I didn't know about the limit upgrade! It seems 170 degrees more than 180 with respect to the vertical axis btw, but the 0 is arbitrary of course :)

@davidetome
Copy link
Author

davidetome commented Feb 10, 2022

Today w/ @ale-git we fixed the shoulders pitch limits.
Effectively the lower bound was 25 deg, Maybe we was unlucky last week 😄
Tested and works.

⚠️ We noticed that the torso pitch joint, doesn't move. May be due to the cabling activity of this morning in order to add the FT58 on the right pitch (it is connected to the EMS EB5 in the torso). @Gandoo could you have a check on the wiring?

cc @pattacini @S-Dafarra @Fabrizio69

@S-Dafarra
Copy link
Member

Thanks a lot @davidetome! Merging

@S-Dafarra S-Dafarra merged commit 996a239 into devel_iCubGenova09 Feb 10, 2022
@gabrielenava gabrielenava deleted the fix/add-amo-inc-calib branch July 31, 2023 12:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants