Configuration
Environment Configuration
The environments in Space ROS can be configured in two ways:
- Modifying the
configs/env.yamlfile. - Using environment variables.
The default configuration file (configs/env.yaml) contains various settings that control the seed, scenario, level of detail, and options for assets (robot, object, terrain, vehicle).
Example env.yaml:
seed: 42 # SPACEROS_DEMO_SEED [int]
scenario: moon # SPACEROS_DEMO_SCENARIO [mars, moon, orbit]
detail: 0.125 # SPACEROS_DEMO_DETAIL [float]
assets:
robot:
variant: dataset # SPACEROS_DEMO_ASSETS_ROBOT_VARIANT [dataset]
object:
variant: procedural # SPACEROS_DEMO_ASSETS_OBJECT_VARIANT [primitive, dataset, procedural]
terrain:
variant: procedural # SPACEROS_DEMO_ASSETS_TERRAIN_VARIANT [none, primitive, dataset, procedural]
vehicle:
variant: dataset # SPACEROS_DEMO_ASSETS_VEHICLE_VARIANT [none, dataset]
Setting Configuration via Environment Variables
To override specific values from the configuration file, environment variables can be passed during execution using the run.sh script. For instance:
spaceros_procgen_envs/run.sh -e SPACEROS_DEMO_DETAIL=1.0 -e SPACEROS_DEMO_SCENARIO=mars ros2 run spaceros_procgen_envs ...
This command sets the environment detail level to 1.0 and the scenario to mars.
CLI Arguments
The following arguments are common across all entrypoint scripts (teleop.py, agent_random.py, agent_zero.py, run_spaceros.py):
-h,--help: Display the help message and exit.--task TASK,--demo TASK,--env TASK: Specify the name of the task or environment. You can list available tasks usinglist_envs.py.--num_envs NUM_ENVS: Number of parallel environments to simulate.--disable_ui: Disable the majority of the Isaac Sim UI.--headless: Force the display to remain off, making the simulation headless.--device DEVICE: Set the device for simulation (e.g.,"cpu","cuda", or"cuda:N"whereNis the device ID).
Additional Environment Variables
SPACEROS_DEMO_SKIP_REGISTRATION
By setting this to "true" or 1, you can skip registering environments with the Gymnasium registry. This can be useful in specific deployment or testing scenarios.