[URDF-NG] ROS2 URDF2 discussion

My opinion on what should be done in the short term has changed over the past few months. While I still find it annoying that Gazebo and ROS do not have a common format, I don’t believe that switching to SDF for all ROS applications (or vice versa) makes sense, because:

  • Switching existing tools that use URDF over to SDF would require a large effort. Tons of tools/libraries/etc use URDF, and switching would be non-trivial.
  • Switching to SDF doesn’t provide most of the things that I want out of a robot data exchange format
  • As @wjwwood and @tfoote have pointed out, TF and associated tools need to have a tree in order to work. There are solutions (provide a way to specify a root node for the tree, or to specify the entire tree), but my feeling is that this is only the first of many edge cases that would be run into.
  • The existing tools for taking a robot described by a URDF, converting it to SDF, and spawning it in gazebo work “well enough” for me.
  • This isn’t just a question of urdf/sdf. On top of those I have an SRDF for moveit, yaml files for describing other robot-specific formats that aren’t in any spec yet, etc.

On top of these technical issues, there is the higher level decision of who decides what goes in the spec, and what the process is for that. One reason we have so many different robot description formats is that many of the interested parties prefer to have the flexibility to decide on their own what goes into a format. For TF/moveit/rviz/etc to share the same description format with gazebo (for example) people from all of those groups would need to have input into the spec. @nate_koenig would you be ok with changes to sdformat being chosen by a committee, where gazebo was only one of several participants?

Longer term, I do think that defining a format (or set of formats) that are broadly used in the robotics community is extremely important, but I’ll post some thoughts about that separately in [URDF-NG] Next-generation robot descriptions

EDIT: Removed reference to “long term section” - I’m going to post those thoughts on the next gen robot description thread.