Command Line Interface (CLI)
srb <subcommand> [options]
Use -h or --help for a subcommand:
srb --help
srb <subcommand> -h
Shell completion is also available:
srb <TAB> <TAB>
Subcommands
| Subcommand | Description |
|---|---|
agent | Agent subcommands (listed below) |
real_agent | Sim-to-real bridge code generation and runtime |
dataset | Inspect, validate, convert, replay, and publish datasets |
model | Package, validate, and publish trained policy checkpoints |
list/ls | List registered assets, action groups and environments |
asset/assets | Manage planetary surface assets, rock sets, sky-domes, and lighting presets |
event-camera | Manage event-camera weights and backend metadata |
ephemeris | Query real Sun/planet geometry, fetch SPICE kernels, import illumination products |
cache | Regenerate generated SRB offline caches |
gui | Launch the Graphical User Interface |
isaac/isaacsim | Isaac Sim utilities (sim, python) |
doc/docs | Build docs and render asset/task thumbnails |
test | Run Python and/or Rust test suites |
clean | Remove cached files (SRB / Isaac Sim / SimForge) |
completions | Manage shell completions (cache + install scripts) |
Subcommands that wrap one child process (gui, isaacsim, doc build/serve)
exit with the child’s status. srb test runs tiers and reports failure with
exit code 1 if any tier fails. When one child process is killed by signal N,
the wrapping command logs terminated by signal <NAME> and exits with 128+N
(for example 139 for SIGSEGV), the shell convention; a timeout exits with
124.
Agent Subcommands
Agent actions:
srb agent <action> [options]
| Subcommand | Purpose |
|---|---|
zero | Run a simulation agent with zero-valued actions. |
rand | Run a simulation agent with random actions. |
teleop | Manually teleoperate the agent, directly or through a trained policy. |
ros | Drive the simulation agent from ROS 2 / Space ROS action topics. |
train | Train a reinforcement-learning policy in simulation. |
eval | Evaluate a trained policy in simulation. |
collect | Record demonstration datasets from human, policy, random, or zero controllers. |
learn | Train an imitation-learning policy offline from a demonstration dataset. |
tune | Optimize hyperparameters with Optuna (spawns training subprocesses per trial). |
Shared Agent Options
These options are shared by simulation-based agent actions (zero, rand, teleop, ros, train, eval, collect). Offline learn and tune have their own options; tune spawns training subprocesses.
| Argument | Description | Default |
|---|---|---|
-e/--env/--task ENV | ID of the environment | REQUIRED |
--cfg PATH | Hydra config YAML (DEFAULT/IGNORE/NONE/NULL recognised) | DEFAULT |
--headless | Run simulation without display | False |
--hide_ui | Disable most of the Isaac Sim UI and set it to fullscreen | False |
--livestream {0,1,2} | Force livestreaming (0: off, 1: native, 2: WebRTC). The default defers to the LIVESTREAM environment variable | -1 |
--rendering_mode {performance,balanced,quality,xr} | Isaac RTX rendering preset applied after Kit starts (xr applies none) | unset |
--xr | Enable XR mode for VR/AR applications | False |
--enable_cameras | Launch the rendering app for camera sensors (without video recording). Auto-enabled when the CLI activates a camera-backed sensor category (env.active_sensors=[…,visual] or event_camera), for camera-shipping demo envs, and by --xr/--video/--record-events/--snapshot — pass it explicitly only when none of those apply | False |
--kit_args=VALUE | Extra args forwarded to the Omniverse Kit | "" |
--interface [IFACE …] | Interfaces to enable (gui, ros) | [] |
--logdir/--logs PATH | Path to root logging directory | SRB_LOGS_DIR |
--video | Enable video recording | False |
--record-events/--record_events | Record event-camera rollouts with provenance. Scene materialization, observation delivery, and the recorder are wired, but no concrete event backend (v2e, Metavision, V2CE) ships in the default container image, so provider-backed rollout fidelity is unproven; use srb dataset record-events for the live synthetic path. | False |
--snapshot PATH | Capture a single rendered PNG after the initial reset, then exit (implies --enable_cameras) | unset |
--snapshot-warmup N | Render passes before the snapshot to let path-traced/anti-aliased accumulation converge | 16 |
--snapshot-settle N | Physics steps after the reset and before the snapshot, letting robots settle (0 disables) | 0 |
--perf | Run a performance test instead of the regular workflow | False |
--perf_output PATH | Output path of the performance report (or STDOUT) | STDOUT |
--perf_duration SEC | Maximum duration of the performance test in seconds (0 = unlimited) | 150.0 |
--repl [BACKEND] | Open an interactive Python REPL alongside the running simulation (ptpython/bpython) | unset |
Note: In the commands that compose a Hydra configuration, such as the simulation-based
agentsubcommands above, trailing CLI tokens that do not match the registered options are forwarded to Hydra (env.foo=bar,agent.lr=1e-3, …). Repeating an override key keeps the supplied order, so the last value wins (for example,env.seed=1 env.seed=2sets theenv.seedoverride to2). Commands that wrap a child process may forward tokens after a literal--to that child, such assrb testforwarding arguments to pytest or cargo.srb agent tuneis an exception: it rejects bare overrides and tokens after--rather than passing them to its trials; fix a setting for every trial with--pin KEY=VALUE.
For --kit_args values that begin with -, attach the value to the option with
an equals sign, such as --kit_args=--ext-folder=/path/to/ext1.
Event Camera Subcommands
srb event-camera manages event-camera checkpoint and fixture mirrors, and
lists available backends:
| Sub-subcommand | Description |
|---|---|
srb event-camera fetch-weights | Download event-camera weights (SuperSloMo, E2VID, or V2CE) with SHA256 verification |
srb event-camera list-mirrors | List registered event-camera weight mirrors (SuperSloMo + E2VID + V2CE) |
srb event-camera fetch-fixture | Download an event-camera reference fixture (Gen4 HDF5) with SHA256 verification |
srb event-camera list-fixtures | List registered event-camera reference-fixture mirrors (Gen4 HDF5) |
srb event-camera backends | List registered event-generator backends (use --detailed for metadata) |
Cache Subcommands
srb cache manages generated SRB offline caches used by completions and the GUI:
| Sub-subcommand | Description |
|---|---|
srb cache update | Regenerate task, asset, config, enum, and GUI caches |
srb cache claim-clean-root [--target srb|isaacsim|all] | Add path- and inode-bound markers required by srb clean; fixed Isaac roots and the selected NGC profile root may adopt existing content |
srb cache status [--json] [--strict] | Inspect generated cache files without launching Isaac Sim |
srb cache doctor [--json] [--strict] | Validate generated cache payload shapes without launching Isaac Sim; report only by default, or exit 1 with --strict when entries or the generation are incomplete or invalid |
srb cache doctor reports successfully by default; use --strict to fail on incomplete or invalid caches.
Completions Subcommands
srb completions manages shell-completion artefacts:
| Sub-subcommand | Description |
|---|---|
srb completions generate | Regenerate completion cache via srb cache update |
srb completions install | Install Fish/Bash/Zsh completion scripts |
Start a new shell after installation (or run exec "$SHELL" -l) to load Bash/Zsh registrations. Hydra candidates require jq and successful srb completions generate. Scripts follow the published cache-generation pointer, so cache updates do not require reinstalling them.