Benchmark Configuration
Environment Configuration
The environments can be configured in two ways:
- Modifying the
env.yaml
file. - Using environment variables.
The default configuration file contains various settings that control the seed, scenario, level of detail, and options for assets (robot, object, terrain, vehicle).
seed: 42 # SRB_SEED [int]
scenario: mars # SRB_SCENARIO [mars, moon, orbit]
detail: 0.5 # SRB_DETAIL [float]
assets:
robot:
variant: dataset # SRB_ASSETS_ROBOT_VARIANT [dataset]
object:
variant: procedural # SRB_ASSETS_OBJECT_VARIANT [primitive, dataset, procedural]
terrain:
variant: procedural # SRB_ASSETS_TERRAIN_VARIANT [none, primitive, dataset, procedural]
vehicle:
variant: dataset # SRB_ASSETS_VEHICLE_VARIANT [none, dataset]
Setting Configuration via Environment Variables
Values from the configuration file can be overridden using environment variables. Furthermore, you can directly pass them into the .docker/run.bash
script. For instance:
.docker/run.bash -e SRB_DETAIL=1.0 -e SRB_SCENARIO=moon ...
CLI Arguments
The following arguments are common across all entrypoint scripts, e.g. teleop.py
, random_agent.py
and ros2.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"
whereN
is the device ID).
Additional Environment Variables
SRB_SKIP_REGISTRATION
(default:false
): When set to"true"
|1
, automatic registering of environments with the Gymnasium registry is disabled. This can be useful in specific deployment or testing scenarios.SRB_SKIP_EXT_MOD_UPDATE
(default:false
): When set to"true"
|1
, the Rust extension module will not be automatically recompiled on startup of Python entrypoint scripts. By default, this ensures that the extension module is always up-to-date with the source code. Skipping this step can be useful when the extension module never changes to reduce startup time slightly.SRB_WITH_TRACEBACK
(default:false
): When set to"true"
|1
, rich traceback information is displayed for exceptions. This can be useful for debugging.SRB_WITH_TRACEBACK_LOCALS
(default:false
): When set to"true"
|1
andSRB_WITH_TRACEBACK
is enabled, local variables are included in the traceback information. This can be useful for debugging, but it can also be overwhelming in some cases.