-
Notifications
You must be signed in to change notification settings - Fork 290
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
Physics system: update link poses if the canonical link pose has been updated #876
Conversation
Signed-off-by: Ashton Larkin <[email protected]>
FYI, gazebosim/gz-physics#264 should be partially fixed by gazebosim/gz-physics#268 |
Signed-off-by: Ashton Larkin <[email protected]>
Codecov Report
@@ Coverage Diff @@
## ign-gazebo4 #876 +/- ##
===============================================
+ Coverage 65.97% 66.00% +0.02%
===============================================
Files 239 239
Lines 17657 17681 +24
===============================================
+ Hits 11649 11670 +21
- Misses 6008 6011 +3
Continue to review full report at Codecov.
|
Signed-off-by: Ashton Larkin <[email protected]>
78a8297
to
db748c0
Compare
Signed-off-by: Ashton Larkin <[email protected]>
@azeey, this is ready for review now. I also left a note in the PR description about not being able to test nested models for this in Dome, as we discussed offline. |
Signed-off-by: Ashton Larkin <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! I tested it using the attached shapes.sdf
where I modified all the links to be in one model , set the canonical link, and changed the poses of the links.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just a small comment
Signed-off-by: Ashton Larkin [email protected]
🦟 Bug fix
Summary
As pointed out in gazebosim/gz-physics#264 (comment), if the pose of a model's canonical link changes, then the poses for all other links in this model must be updated (even if these links haven't moved) since these other link poses are given w.r.t. the model whose pose was just updated. I appeared to have removed this functionality in #669 (on accident, of course 🙂) when working on physics system performance updates, so I am adding it back in this PR. I've also added logic (and test coverage) to support pose updates for canonical links that are not the first link of a model (this has already been fixed in Edifice, but wasn't fixed for Dome yet).
A note about nested models: since nested model support is limited in Dome, I wasn't able to write tests that check for pose updates of nested models in this PR. I have left a TODO note for myself to add this test coverage when we forward port these changes to Edifice. Since we don't have test coverage for nested models yet, we should probably leave #871 open until this PR is forward ported to Edifice and nested model test coverage is included.
It's also worth noting that the physics system in Edifice/Dome has a few differences that were made for performance. This means that we may have some conflicts to resolve when porting this forward - I'm expecting that the implementation for this bug fix in Edifice/Fortress will differ somewhat from the Dome implementation (I can handle merging this bug fix forward once this PR is merged).
Checklist
codecheck
passed (See contributing)Note to maintainers: Remember to use Squash-Merge