Consideration of STEP or Collada for Describing the ROS Environment

Received some great notes from the recent developers’ meeting hosted by @Levi-Armstrong and I figured I would post them hear to drive a continued discussion.

From Levi…

The primary discussion was on what the format will be for describing ROS environment. The current supported candidates are SDF and URDF, but should we move toward an industry standard like STEP or collada. The recommendation was to get a ROS2 working group put together to select the next format going forward. It was also discussed what the effort would be to write converters for each of the major solid modeling software. This would help with determining if we should lean more toward and industry standard versus a custom format like SDF and URDF.

Thoughts on the idea of leveraging an existing industrial standard?
If this is maybe of interest, does this require setting up a ROS2 working group?
If so, how do we go about getting that group going and how do we ensure it stays active and the appropriate folks are involved?

Looking forward to feedback…

Matt R.

FYI… for what it is worth, other industrial standards groups are looking at aligning with URDF, so a middle ground, or synergy between the two is not out of the question…

2 Likes

I’m glad this is being brought up, thank you!

I want to note that Collada is already somewhat supported in ROS via a conversion to URDF. But it only supports robot geometry, not whole environments. My point is that there is already long standing precedence for that format in our community.

Additionally, OpenRave runs on Collada, so it would be great to have that standard shared between ROS projects like MoveIt and Tesseract.

One downside to Collada, as has been discussed in many past threads on Collada vs URDF vs SDF, is that its a very messy format. But I don’t think that out weights its existing popularity in many other domains.

1 Like

One aspect to keep in mind is that various tools support various subsets of the collada standard. It might be confusing to end-users if your robot has no joints any more after changing some color in say sketchup. Same goes for STEP of course. Another point is that both standards are huge and complex so it might take some time to implement a sufficient subset and we might need a caching system/format for preprocessed STEP files.

I attended the developer meeting (and in fact suggested forming a ROS 2 working group around this topic), and I believe neither STEP nor Collada were being proposed as the only options.

Both formats have appeared on lists of candidates in the past, and of all candidates have the highest adoption in (traditional) industry (Collada is even an Industy 4.0 standard).

I believe this is the reason @mrobinson mentions them here.

If/when a working group is formed, all other options should (and will) be considered as well.

It might even be that in the end it turns out that writing export/import plugins for a nr of popular (solid) modelling tools to a non-industry-standard (but ROS community preferred) format is the best option. Depending on the effort involved (and the backing of such a proposal) it’s not even such a strange idea.

I would say this also goes for STEP and in fact many other “industry standard” standards. It’s a very unfortunate situation.

1 Like

As I’ve just read about it again, I’m going to add it to the discussion here: Pixar’s Universal Scene Description.

From the linked page:

Universal Scene Description (USD) is the first publicly available software that addresses the need to robustly and scalably interchange and augment arbitrary 3D scenes that may be composed from many elemental assets.

I especially like this part (emphases mine):

USD provides for interchange of elemental assets (e.g. models) or animations. But unlike other interchange packages, USD also enables assembly and organization of any number of assets into virtual sets, scenes, and shots, transmit them from application to application, and non-destructively edit them (as overrides ), with a single, consistent API, in a single scenegraph. USD provides a rich toolset for reading, writing, editing, and rapidly previewing 3D geometry and shading. In addition, because USD’s core scenegraph and “composition engine” are agnostic of 3D, USD can be extended in a maintainable way to encode and compose data in other domains.

This would seem to allow for updating robot descriptions by overlaying changes, making things like truely composable models possible (ie: base robots + dressout without creating a third .xacro).

It would also seem to allow runtime updatable models, as the format supports overlaying changes natively.

2 Likes

This does sound promising, compared to some of what typically has to be done to manage issues related to proprietary formats/standards and addition of .xacros as you note. Seems like there should be something we could do to benchmark some of these approaches.