-
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: Errors about redundant / reversed weld joints should provide more information #9939
Comments
@hongkai-dai ran into this recently:
(less verbose, but still a bit obtuse for world welding / parent-child mismatch?) I won't be able to address this - @amcastro-tri I'm assigning to ya, but if you don't think it's actionable, feel free to close! |
Related: #13040 |
Running into this again in Anzu; in this case, doing a dual-arm setup, and I'm playing with how I glue stuff together (topology) to make calibration (touch-point) a bit simpler for readers to digest. \cc @siyuanfeng-tri |
Thanks Eric. cc'ing @joemasterjohn since eventually we'll clean up the whole tree vs model topology. |
Closing this -- #17429 is close enough. |
Eric's original post (and the follow-up posts) were about adding two welds, where the complaint is that the second weld is redundant. #17429 is about welding to the middle of a model, which is a different exception path. They don't seem like the same issue to me? |
My thought is that if we can properly handle the analysis that leads us to use a reverse mobilizer to fix #17429 that analysis will also detect cases where we can't. But I think you're right that we should leave this open until we can verify that the error messages are tolerable. |
Ran into a case where an IIWA SDF had a world-weld joint, but we accidentally added a secondary / redundant weld.
The error message from
MultibodyTreeTopolgoy
is verbose, but doesn't point to the frames in question (which is honestly the most useful information).The easiest solution is to print out the frame index, and instruct the user to use
get_frame(index).name()
to figure out the user-friendly bits.The text was updated successfully, but these errors were encountered: