Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Command Line Interface (CLI)

The Space Robotics Bench provides a comprehensive command-line interface that allows you to interact with most aspects of the framework through a unified interface. The CLI is structured as a set of subcommands, each with its own set of options.

srb <subcommand> [options]

If you need help with a specific subcommand, you can use the -h/--help flag:

srb --help
srb <subcommand> -h

You can also TAB your way through the available subcommands and options via autocompletion:

srb <TAB> <TAB>

Subcommands

The following subcommands are available in the CLI:

SubcommandDescription
agentAgent subcommands (listed below)
real_agentSim-to-real bridge code generation and runtime
datasetInspect, validate, convert, replay, and publish datasets
modelPackage, validate, and publish trained policy checkpoints
list/lsList registered assets, action groups and environments
assetManage planetary surface assets, rock sets, sky-domes, and lighting presets
event-cameraManage event-camera weights and backend metadata
ephemerisQuery real Sun/planet geometry, fetch SPICE kernels, import illumination products
cacheRegenerate generated SRB offline caches
guiLaunch the Graphical User Interface
isaac/isaacsimIsaac Sim utilities (sim, python)
docsBuild docs and render asset/task thumbnails
testRun Python and/or Rust test suites
cleanRemove cached files (SRB / Isaac Sim / SimForge)
completionsManage shell completions (cache + install scripts)

Agent Subcommands

The agent subcommand is further separated into agent-specific subcommands:

srb agent <action> [options]
SubcommandPurpose
zeroRun a simulation agent with zero-valued actions.
randRun a simulation agent with random actions.
teleopManually teleoperate the agent, directly or through a trained policy.
rosDrive the simulation agent from ROS 2 / Space ROS action topics.
trainTrain a reinforcement-learning policy in simulation.
evalEvaluate a trained policy in simulation.
collectRecord demonstration datasets from human, policy, random, or zero controllers.
learnTrain an imitation-learning policy offline from a demonstration dataset.
tuneOptimize hyperparameters with Optuna (spawns training subprocesses per trial).

Shared Agent Options

The following options are shared across the simulation-based agent subcommands (zero, rand, teleop, ros, train, eval, collect). The offline learn and tune subcommands do not launch Isaac Sim directly (tune spawns srb agent train subprocesses that do) and accept their own option groups.

ArgumentDescriptionDefault
-e/--env/--task ENVID of the environmentREQUIRED
--cfg PATHHydra config YAML (DEFAULT/IGNORE/NONE/NULL recognised)DEFAULT
--headlessRun simulation without displayFalse
--hide_uiDisable Isaac Sim UI and force fullscreenFalse
--livestream {0,1,2}Force livestreaming (0: off, 1: native, 2: WebRTC). -1 defers to LIVESTREAM env var-1
--rendering_mode {performance,balanced,quality,xr}Choose rendering presetunset
--xrEnable XR mode for VR/AR applicationsFalse
--enable_camerasLaunch 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 --video/--record-events/--snapshot — pass it explicitly only when none of those applyFalse
--kit_args STRINGExtra args forwarded to the Omniverse Kit""
--interface [IFACE …]Interfaces to enable (gui, ros)[]
--logdir/--logs PATHPath to root logging directorySRB_LOGS_DIR
--videoEnable video recordingFalse
--record-events/--record_eventsRecord 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 PATHCapture a single rendered PNG after the initial reset, then exit (implies --enable_cameras)unset
--snapshot-warmup NRender passes before the snapshot to let path-traced/anti-aliased accumulation converge16
--snapshot-settle NPhysics steps after the reset and before the snapshot, letting robots settle (0 disables)0
--perfRun a performance test instead of the regular workflowFalse
--perf_output PATHOutput path of the performance report (or STDOUT)STDOUT
--perf_duration SECMaximum 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: Trailing CLI tokens that do not match the registered options are forwarded to Hydra (env.foo=bar, agent.lr=1e-3, …). Tokens after a literal -- are forwarded to the underlying tool (e.g. pytest, cargo).

Event Camera Subcommands

srb event-camera manages event-camera weights and backend metadata:

Sub-subcommandDescription
srb event-camera fetch-weightsDownload event-camera weights (SuperSloMo, E2VID, or V2CE) with SHA256 verification
srb event-camera list-mirrorsList registered event-camera weight mirrors (SuperSloMo + E2VID + V2CE)
srb event-camera fetch-fixtureDownload an event-camera reference fixture (Gen4 HDF5) with SHA256 verification
srb event-camera list-fixturesList registered event-camera reference-fixture mirrors (Gen4 HDF5)
srb event-camera backendsList registered event-generator backends (use --detailed for metadata)

Cache Subcommands

srb cache manages generated SRB offline caches used by completions and the GUI:

Sub-subcommandDescription
srb cache updateRegenerate 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; only fixed cache paths may adopt existing content
srb cache status [--json] [--strict]Inspect generated cache files without launching Isaac Sim
srb cache doctorValidate generated cache payload shapes without launching Isaac Sim

Completions Subcommands

srb completions manages shell-completion artefacts:

Sub-subcommandDescription
srb completions generateRegenerate completion cache via srb cache update
srb completions installInstall Fish/Bash/Zsh completion scripts

Start a new shell after installation (or run exec "$SHELL" -l) so Bash and Zsh load their new registrations. Hydra override candidates require jq and a successful srb completions generate.