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

Nested models which don't contain the canonical link will not have accurate poses #592

Closed
brawner opened this issue Jan 28, 2021 · 5 comments
Assignees
Labels
🏢 edifice Ignition Edifice

Comments

@brawner
Copy link
Contributor

brawner commented Jan 28, 2021

In a nested model, poses are relative to the canonical link, which may be in another model. This prevents a nested model that doesn't contain the canonical link from having a correct pose and it means that the link inside that model has a pose relative to the canonical link in another model.

In this example, one sphere starts off 1 meter above an inclined plane. The canonical link is model_00::model_10::link_00. When simulating, the pose of model_00::model_11::link_01 changes and is relative to model_00::model_10::link_00, while the pose of model_00::model_11 remains its originally specified pose.

I would expect the pose model_11 to update and the pose of link_01 to remain 0 in this case.

PoseToCanonicalLink.mp4
@brawner
Copy link
Contributor Author

brawner commented Jan 28, 2021

@EricCousineau-TRI per today's meeting

@brawner
Copy link
Contributor Author

brawner commented Jan 28, 2021

This issue follows up #542

@brawner brawner added the 🏢 edifice Ignition Edifice label Jan 28, 2021
@EricCousineau-TRI
Copy link
Contributor

I think I understand now - so the physics are as expected (both spheres's move in sensible ways), but the GUI's indication of the non-canonical-link-containing-model (and it's link) are unexpected.

So the solution would be to tell the GUI / Physics engine what to express those links relative to?

And the other question - is the time-varying position of model_00 what you expect?

@brawner
Copy link
Contributor Author

brawner commented Jan 28, 2021

Yes to both questions. model_00 definitely updates as expected, since it follows the canonical link. model_10 is also correct because the reference frame of link_00, model_10 and model_00 are all identical. The issue is with models and links that don't contain this canonical link.

@azeey
Copy link
Contributor

azeey commented Jul 23, 2021

I believe this has been fixed since #685. I've reproduce the example in the issue in case anyone else wants to test it out:

pose_to_canonical_link.sdf.txt

@azeey azeey closed this as completed Jul 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏢 edifice Ignition Edifice
Projects
None yet
Development

No branches or pull requests

3 participants