Extension Configuration
The extension block declares extension instances via extension_cfg_dict. Each extension is identified by its key name.
Common Fields
| Field | Type | Description |
|---|---|---|
stereotype | str | Extension type: data_collect, record, replay, server, benchmark, teleop, pipeline, snapshot, task_executor, domain_randomization, ros_bridge |
enable | bool | Whether to auto-enable at startup |
data_collect
Registers observers to collect scene data (RGB, depth, joint states, poses).
record
Depends on data_collect. Async frame writing with post-processing (HDF5, video via ffmpeg/nvenc). Supports S3 storage backend.
replay
Loads trajectories from record.h5 and replays them in simulation.
server
Flask HTTP server exposing @apiclass controller methods as REST endpoints.
benchmark
Episode-based policy evaluation with goal condition checking.
teleop
Real-time teleoperation from multiple input devices (keyboard, SpaceMouse, web, GELLO, VR). Configurable control frequency and modes.
teleop:
stereotype: teleop
enable: true
control_frequency: 30.0
drivers:
- stereotype: keyboard
name: kb_driver
targets:
- driver_name: kb_driver
robot_name: my_robot
control_mode: ee_delta
pipeline
Batch execution of multiple config files (jobs) in a single session.
pipeline:
stereotype: pipeline
enable: true
job_list_path: ./pipeline_jobs.json
stop_on_failure: false
snapshot
Save/restore simulation state as .npz files.
snapshot:
stereotype: snapshot
enable: true
snapshot_path: ./snapshots/checkpoint.npz
task_executor
Automatic task execution in controller thread with optional debugging and snapshot restore.
task_executor:
stereotype: task_executor
enable: true
stop_sim_on_task_end: true
debug: false
domain_randomization
Per-episode scene randomization (pose, lighting, texture, physics parameters).