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

Update dynamic properties #195

Merged
merged 7 commits into from
Sep 20, 2024

Conversation

chalongrath
Copy link
Contributor

Update some dynamic properties of the robots to reflect the most recent values. Note that the inertia matrices of UR3, UR3e, UR5, and UR5e are generated by the cylindrical inertia, since most of the values provided by UR are zeros and could potentially cause simulation to blow up. Those quantities may be updated later when appropriate values are found.

Copy link
Collaborator

@fmauch fmauch left a comment

Choose a reason for hiding this comment

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

From a first glimpse this looks good, thank you very much. Did you test those values with a simulator, e.g. Gazebo?

@urrsk
Copy link
Member

urrsk commented Sep 12, 2024

It could be nice if e.g. @VinDp have time to test them in GZ

Copy link
Collaborator

@fmauch fmauch left a comment

Choose a reason for hiding this comment

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

I rebased this locally to rolling and manually tested a ur3, ur3e, ur5, ur5e, ur10, ur10e, ur16e, ur20, ue30 with gz sim. I can confirm that the robot doesn't explode there and moves as expected.

The inertia look a little funny, especially the orientation of the visualizations of the shoulder and wrist1, wrist2. I am not an expert on simulation / dynamics calculation. Does this look correct to you?

Screenshot_20240919_123747-1
Screenshot_20240919_123819
Screenshot_20240919_123842
Screenshot_20240919_123831

Also, please rebase this branch onto the rolling branch and change the PR's base to rolling. It should be a straightforward backport that we can trigger automatically as soon as it is merged to rolling.

Content-wise I only reviewed the ur10, but the comments there should probably be valid for all models. Please also have a look at the masses as we've just been updating them in #187. For example, this PR currently proposes to change the ur20's wrist_3 mass to the value of the ur30. While I am writing this it seems strange to me, that those should be different. Is that information on https://www.universal-robots.com/articles/ur/application-installation/dh-parameters-for-calculations-of-kinematics-and-dynamics/ correct? Looking at the config files on URSim it indeed seems to be the value you used in this PR. One of them is probably wrong.

config/ur20/physical_parameters.yaml Show resolved Hide resolved
config/ur10/physical_parameters.yaml Show resolved Hide resolved
config/ur10/physical_parameters.yaml Show resolved Hide resolved
@chalongrath
Copy link
Contributor Author

@fmauch Thank you for testing these in Gazebo sim for me. Very appreciated. I'm not sure how to change to rolling. I was just thinking that we could cherry-pick or merge from humble from rolling. Perhaps, you can guide me once everything is reviewed and accepted.

@fmauch
Copy link
Collaborator

fmauch commented Sep 20, 2024

@fmauch Thank you for testing these in Gazebo sim for me. Very appreciated. I'm not sure how to change to rolling. I was just thinking that we could cherry-pick or merge from humble from rolling. Perhaps, you can guide me once everything is reviewed and accepted.

I tried that locally and I could simply rebase your branch on rolling without any further modifications. As written, we introduce changes on rolling and then backport to all distros where we want to make that change available, in this case all 4 distributions. I'm happy to assist / do the rebase once everything is done (which I guess it is by now, so I'll take another look)

@fmauch fmauch self-requested a review September 20, 2024 08:25
Copy link
Collaborator

@fmauch fmauch left a comment

Choose a reason for hiding this comment

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

This is looking good to me, thank you very much for your efforts. As discussed earlier I will rebase this onto rolling and backport it.

Comment on lines +51 to +52
y: 0.0 # model.y
z: -0.0293 # model.z
Copy link
Collaborator

Choose a reason for hiding this comment

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

The online documentation says different about this, as well. Your values match the values in URSim, though.

@fmauch fmauch changed the base branch from humble to rolling September 20, 2024 08:46
@fmauch fmauch merged commit 60e6974 into UniversalRobots:rolling Sep 20, 2024
8 checks passed
mergify bot pushed a commit that referenced this pull request Sep 20, 2024
* Remove unused dh_parameters
* Rename prop__wrist_2_cog to prop_wrist_2_cog for consistency
* Update mass and cog and use full inertia matrix.
* Update max_efforts (torque limits)
* Remove code and values that are no longer needed.

---------

Co-authored-by: Rune Søe-Knudsen <[email protected]>
(cherry picked from commit 60e6974)
mergify bot pushed a commit that referenced this pull request Sep 20, 2024
* Remove unused dh_parameters
* Rename prop__wrist_2_cog to prop_wrist_2_cog for consistency
* Update mass and cog and use full inertia matrix.
* Update max_efforts (torque limits)
* Remove code and values that are no longer needed.

---------

Co-authored-by: Rune Søe-Knudsen <[email protected]>
(cherry picked from commit 60e6974)
fmauch pushed a commit that referenced this pull request Sep 20, 2024
* Remove unused dh_parameters
* Rename prop__wrist_2_cog to prop_wrist_2_cog for consistency
* Update mass and cog and use full inertia matrix.
* Update max_efforts (torque limits)
* Remove code and values that are no longer needed.

---------

Co-authored-by: Rune Søe-Knudsen <[email protected]>
fmauch pushed a commit that referenced this pull request Sep 20, 2024
* Remove unused dh_parameters
* Rename prop__wrist_2_cog to prop_wrist_2_cog for consistency
* Update mass and cog and use full inertia matrix.
* Update max_efforts (torque limits)
* Remove code and values that are no longer needed.

---------

Co-authored-by: Rune Søe-Knudsen <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants