-
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
[tpe] Add empty nested model construction and nested model entity management #229
Conversation
Signed-off-by: Addisu Z. Taddese <[email protected]>
Signed-off-by: Addisu Z. Taddese <[email protected]>
Signed-off-by: Addisu Z. Taddese <[email protected]>
Signed-off-by: Addisu Z. Taddese <[email protected]>
Signed-off-by: Addisu Z. Taddese <[email protected]>
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 <[email protected]>
Signed-off-by: Addisu Z. Taddese <[email protected]>
…t in TPE Signed-off-by: Addisu Z. Taddese <[email protected]>
Signed-off-by: Addisu Z. Taddese <[email protected]>
Signed-off-by: Addisu Z. Taddese <[email protected]>
Signed-off-by: Addisu Z. Taddese <[email protected]>
Signed-off-by: Addisu Z. Taddese <[email protected]>
…ties Signed-off-by: Addisu Z. Taddese <[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.
The implementation of the feature for dartsim
looks fine, but I would urge us to change the implementation for TPE. If we split the children
container into separate links
and nestedModels
containers, then we can replace some dynamic_cast
ing with static_cast
and eliminate O(N) complexity counts for finding the element counts.
Signed-off-by: Addisu Z. Taddese <[email protected]>
Signed-off-by: Addisu Z. Taddese <[email protected]>
Signed-off-by: Addisu Z. Taddese <[email protected]>
Signed-off-by: Addisu Z. Taddese <[email protected]>
…s into dartsim_nested_entities
Signed-off-by: Addisu Z. Taddese <[email protected]>
Signed-off-by: Addisu Z. Taddese <[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.
Looks great after addressing the comments from @mxgrey. I just have a few things to add before merging.
Signed-off-by: Addisu Z. Taddese <[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.
Everything looks good to me after the patch that was brought in via e5679df. The updated indexInContainerToId
method definitely makes things easier in EntityManagementFeatures
. I just left one question I had, as I am trying to still wrapping my mind around some of these physics concepts.
I have addressed all the feedback. In the interest of time, I'll dismiss this review so we can merge this. Please feel to give it another look and I'll address any addition feedback in a follow-up PR.
🎉 New feature
This is the same as #228, but for TPE.
Summary
This adds two new features:
ConstructEmptyNestedModelFeature
, which allows users to create a nested model without having to useConstructSdfNestedModel
GetNestedModelFromModel
, which allow retrieving a nested model from it's parentModel
entity.Requires:
[dartsim] Fix joint construction errors due to link name duplication or BodyNodes moving to other skeletons #220[dartsim] Ensure Link and Model APIs continue to work after joint creation in DART #227[dartsim] Add empty nested model construction and nested model entity management #228Test it
Run tests
Checklist
codecheck
passed (See contributing)Note to maintainers: Remember to use Squash-Merge