-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
mbp: Support programmatic composition of "sub-plants"? #13074
Comments
@EricCousineau-TRI a few thoughts:
|
This is a really nice idea -- it would go a long way toward cutting the knot on #12849 . However as @sherm1 notes it would also incur all of the complexity that motivates the 12849 case -- the correct shuffling and interpretation of state and the implementation of state readback into the parent -- and it would lay a serious landmine under any logic that uses fortran style "offset into flat vector" logic to address mbp states (ie, nearly all of it 😭 😡 ). |
Sorry for the lag! I will try to break this apart as requested by EOD today. |
Will update this issue to handle the harder task (decomposition). Will make a new issue for the easier task (composition). EDIT: Done #13177 |
Lowering priority for now since this was a lesser issue for users per the Mutating Multibody Models meeting. |
Per convo, also should be achievable by current public API, without having to a method on |
I am working on a prototype of this in Python, as part of #13133 Similar to what Robert ran into, I'm seeing parsing taking up at least 50% of my team for clutter gen. I want to see if I can cut that down by some sort of subgraph decomposition and assembly and stuff. |
I think I have a prototype in Anzu that covers the workflows I want. See here for a copy-pasta version: This can handle composition via sub-plants. |
See user pain point that could be partially addressed by the "subgraph" approach: https://stackoverflow.com/questions/65583969/visualizing-an-autodiff-multibodyplant-in-pydrake#comment115962920_65584221 |
Composition
It would be nice to be able to assemble different plants together, i.e. throw them both into the same world, and then throw in some welds.
This would most likely require #12703 (the topology solution proposed in the issue).
Use Cases
MultibodyPlant
s when parsing, without having to do weird gymnastics to remember hierarchyThe text was updated successfully, but these errors were encountered: