Gazebo resources: Tutorials | Q&A | Documentation | Blog

Use case of multiple "worlds" in an SDF

Could someone please explain the use case for SDF supporting multiple “worlds” within a single SDF file? It’s mentioned here http://sdformat.org/tutorials?tut=spec_world&cat=specification&#appendix and in the format description, but it doesn’t seem as if Gazebo actually supports this option.

The SDF spec supports multiple world tags in a single file, but it doesn’t specify how they should be used.

On Gazebo classic, there’s some support for loading multiple worlds throughout the API, but the implementation is not complete, so it would take some effort to make use of the feature. Here’s an issue from 2013 about it.

On Ignition Gazebo, we started supporting multiple worlds running in parallel in the same process, like this test world. However, that use case is not well supported right now, as we’re having an issue running multiple physics engines in parallel.

We’ve been having internal discussions about how to better support multiple worlds in parallel, so the current implementation on Ignition Gazebo may change. It would be great to hear about possible use cases for it.

That’s my question to you. What were the original use cases for it? To me it seems like an arbitrary complication that might be better off if removed. I’m having a hard time wrapping my head around why it was created to begin with. Was it for a classroom/competition setting?