drake icon indicating copy to clipboard operation
drake copied to clipboard

Support "mechanical reduction" in MultibodyPlant urdf parser

Open RussTedrake opened this issue 1 year ago • 9 comments

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.

RussTedrake avatar Sep 25 '24 13:09 RussTedrake