Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal to add support for managing simulation worlds #4

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

ayushgnv
Copy link

@ayushgnv ayushgnv commented Apr 1, 2025

Proposal for World Management Services for Simulation Interfaces Standard

These interfaces provide standardized world management across simulation_interfaces.

The proposed API introduces functionality to dynamically load and unload worlds, enabling automated testing across diverse simulation environments without restarting the simulator. This would allow for workflows where users can load a world file, spawn entities, and run SIL testing facilitating continuous operation on remote systems (sometimes in headless mode).

For Isaac Sim and O3DE (@adamdbrw), these services would likely be useful as these platforms support loading worlds dynamically.

Unlike Entities only one world should be loaded at a time. Attempting to load a world when a world already exists should result in automatically unloading the previously loaded world before loading the current one.

Change Summary:

  • New message: WorldResource
  • New services: LoadWorld, UnloadWorld, GetCurrentWorld, GetAvailableWorlds
  • Added corresponding feature flags (40-44) to SimulatorFeatures.msg
  • Added world_formats field to track supported world file formats

@ayushgnv ayushgnv changed the title Proposal to add support for modifying simulation worlds Proposal to add support for managing simulation worlds Apr 1, 2025
@pijaro
Copy link

pijaro commented Apr 8, 2025

I think it's a good idea.

However, I'm missing an additional simulator state. Setting up a new world will take time, and we should consider that. I suggest adding something like this to SimulationState.msg:

uint8 STATE_INITIALIZING = 4  # Simulation resources are being loaded; the simulation is not running and cannot be started, stopped, or paused.

@adamdbrw
Copy link
Contributor

adamdbrw commented Apr 9, 2025

Good PR, I would love to follow up and propose changes soon, will submit as a PR targeting this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants