Open scpeters opened 11 months ago
Assigning to Rico for disposition
Thanks @scpeters, that's good info and I suspect we'll add the parsing.
Big picture, do you have suggestions for how Drake can keep tabs on additions/changes to the SDFormat specification? Maybe release notes or a news file for libsdformat releases? Or any blog page that announces new SDFormat specification versions? I didn't find anything after some quick searching.
Big picture, do you have suggestions for how Drake can keep tabs on additions/changes to the SDFormat specification? Maybe release notes or a news file for libsdformat releases? Or any blog page that announces new SDFormat specification versions? I didn't find anything after some quick searching.
@jwnimmer-tri thanks for the feedback. We included info about the mimic and auto-inertial calculation features in the Gazebo Harmonic release announcement, but I can see how it would be easy to miss the libsdformat / SDFormat parts of that since that was focused more on Gazebo. I'm discussing with the other libsdformat / SDFormat maintainers about how to better communicate new features and will get back to you.
In addition to more clearly communicating our released features, are you also interested in staying updated on features under development? I believe we pinged some Drake folks for feedback on the SDFormat feature design documents (at github.com/gazebosim/sdf_tutorials) while they were under development, but that was a bit ad hoc. Perhaps a tracking issue for major new features in each planned version would be helpful?
I've opened https://github.com/gazebosim/sdformat/issues/1353 to track improving communication of new SDFormat features.
In addition to more clearly communicating our released features, are you also interested in staying updated on features under development?
It's a good question. If you like, you could drop a note in our slack drakedevelopers.slack.com
, perhaps in the #ros
channel(?), when anything substantial is happening. That might be onerous for you, though.
Possibly a better answer is if a few Drake people subscribe to pull request notifications on https://github.com/gazebosim/sdf_tutorials. That way, we'll get an auto-ping when a new one is opened. I'll do that myself now, and see how it works.
Is your feature request related to a problem? Please describe.
Since https://github.com/RobotLocomotion/drake/pull/20503 was merged, coupler constraints are now created when parsing an SDFormat file containing custom
drake:mimic
tags, which are treated in a similar manner to the//joint/mimic
tags supported in the drake URDF parser (see https://github.com/RobotLocomotion/drake/pull/18728, https://github.com/RobotLocomotion/drake/issues/17663) and in the official URDF documentation. Recently,mimic
tags have been added to SDFormat 1.11 under the//joint/axis
and//joint/axis2
elements, so I think it would be nice if drake could parse these elements instead of / in addition to the customdrake:mimic
tags. The SDFormat syntax formimic
differs slightly from URDF in the following ways:mimic
elements are specified in a//joint/axis
or//joint/axis2
element instead of within//joint
. This allows support for mimicking individual axes of multi-axis joints.multiplier
andoffset
parameters are specified as child elements of an SDFormatmimic
element instead of XML attributes.mimic
element defines an additionalreference
parameter that applies to the constraint equation as shown below. Whenreference
== 0, the specification is identical to the URDF definition.Describe the solution you'd like
Drake should create coupler constraints based on
//joint/axis/mimic
,//joint/axis2/mimic
, and//joint/drake:mimic
tags.Describe alternatives you've considered
The
//joint/drake:mimic
tag could be considered for deprecation if the syntax for the official tags is satisfactory.Additional context