I suspect the "RBM" stands for "Rigid Body Manipulator". Such a class no longer exists in C++ Drake. The new name is "RigidBodyTree". Thus, the library's name should be updated to reflect the name of the software abstraction.
The problem is maintaining compatibility with downstream projects that are linked against "drakeRBM".
Might have been "rigid body mechanics" but I agree that "rigid body tree" is better.
It was definitely "Rigid Body Manipulator" (though I like the backronym, @sherm1!) :+1: for "drakeRigidBodyTree"
Minor derailment: it would also be really nice for build parallelism to get the parsers out of this library. Then the many objects that need to link against RigidBodyTree, but not a parser, won't be blocked on compiling the parsers, which is extremely slow.
This isn't a trivial change right now because RBT itself is rife with convenience calls to parsers, but @liangfok has already marked most of those as deprecated.
Agreed. My next step is to further decouple the parsers from the RigidbodyTree by having the parsers output ModelSpec container objects, which are consumed by a soon-to-be-introduced RigidBodyTree::addModel() method. This will allow us to hide the logic that assigns each model a unique ID. We can also pull out the URDF and SDF parsers into their own libraries.
Perhaps hand the library rename over to @amcastro-tri as part of the #3481 work?
I can either do it in #3481 or separately. Either way I like the rename to drakeRigidBodyTree.
There is no longer a library with this name (or a relevant analogue).
Most helpful comment
Agreed. My next step is to further decouple the parsers from the
RigidbodyTreeby having the parsers outputModelSpeccontainer objects, which are consumed by a soon-to-be-introducedRigidBodyTree::addModel()method. This will allow us to hide the logic that assigns each model a unique ID. We can also pull out the URDF and SDF parsers into their own libraries.