drake
drake copied to clipboard
Support "mechanical reduction" in MultibodyPlant urdf parser
I've found myself wanting to parse a urdf that has actuators specified with a <mechanicalReduction> tag whose value is far from 1. The URDF parser current warns
warning: A 'actuator' element contains a mechanicalReduction element with a value '113.90625' other than the default of 1. MultibodyPlant does not currently support non-default mechanical reductions.
In fact, I think we added support for gear ratios in #14167.
~~The urdf actuators also have a <motorInertia> specified. These tags are silently ignored.~~
More bizarre, we actually do support these things, but via custom <drake:rotor_inertia> and <drake:gear_ratio> tags. https://github.com/RobotLocomotion/drake/blob/8c7133c16d91b6ef6bae5e2cd844c31def53e3f7/multibody/parsing/detail_urdf_parser.cc#L832-L860
Is it possible that the urdf spec changed since we added these?
My ask is that we do support the real urdf tags.
Possibly we can/should deprecate the drake custom tags and update any urdfs that we've authored with them? cc @joemasterjohn who authored the initial support.