calling WeldFrames(world_frame, body_frame, ... ) works fine.
calling WeldFrames(body_frame, world_frame, ...) results in the Finalize call trying to add a second mobilizer to that pair inside the AddQuaternionFreeMobilizerToAllBodiesWithNoMobilizer, which results in a the message:
throw std::runtime_error(
"This multibody tree already has a mobilizer connecting these two "
"bodies. More than one mobilizer between two bodies is not allowed");
I had to dig in in debug mode to realize what I had done wrong. Based on the documentation of the WeldFrames method, I would expect that either call should produce a valid outcome.
Also, it would be way more helpful if the error messages gave the names (or at least indices) of the offending bodies.
calling
WeldFrames(world_frame, body_frame, ... )
works fine. callingWeldFrames(body_frame, world_frame, ...)
results in the Finalize call trying to add a second mobilizer to that pair inside theAddQuaternionFreeMobilizerToAllBodiesWithNoMobilizer
, which results in a the message:I had to dig in in debug mode to realize what I had done wrong. Based on the documentation of the
WeldFrames
method, I would expect that either call should produce a valid outcome.Also, it would be way more helpful if the error messages gave the names (or at least indices) of the offending bodies.