-
Notifications
You must be signed in to change notification settings - Fork 41
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
[dartsim] Ensure Link and Model APIs continue to work after joint creation in DART #227
Conversation
Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
We do this by keeping track of links separately from DART so that APIs such as `Model::GetLink()` and `Link::GetIndex` are not affected by BodyNode's moving from one skeleton to another when a joint is created between different (nested) models. Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
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.
Looks pretty good! I left a few minor comments/questions.
Also, it looks like you forgot to include the issue number this PR would close in the description (the description currently says Closes #
). @azeey can you add that in?
Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
7a393b5
to
0bb7d9e
Compare
Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
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.
Looks good to me! Just waiting on CI to come back as green, hopefully 🤞
🎉 New feature
Summary
When a DART joint is created between two BodyNodes in DART, the child body node is moved from its original skeleton to the parent skeleton. This breaks APIs such as
Model::GetLink(std::string)
,Model::GetLink(std::size_t)
andLink::GetIndex()
. This PR fixes this by keeping track of links separately from DART.Requires
Test it
Run tests
Checklist
codecheck
passed (See contributing)Note to maintainers: Remember to use Squash-Merge