Commit 482d21c
authored
Add env perf/timing config to teleop_replay_agent stats output (#5716)
# Description
- Embed a new top-level `env_cfg` block in `teleop_replay_agent.py`'s
stats JSON capturing the perf- and frame-timing-relevant env config
inputs (`sim.dt`, `sim.render_interval`, `decimation`,
`episode_length_s`, `scene.num_envs`, `sim.device`, `sim.use_fabric`,
`sim.render.antialiasing_mode`) plus precomputed `policy_dt_s` /
`render_dt_s` / `renders_per_step` / `target_policy_hz` /
`target_render_hz` rates, so the measured numbers are self-interpreting
across machines and configs without cross-referencing the env
definition. Echoed in a compact `Env timing:` line in the stdout
summary.
- Report `cpu_frame_time_ms` and `fps` (per-run and aggregate) on a
**per-render** basis instead of per-`env.step`: each env.step CPU sample
is divided by `decimation / render_interval` (renders per `env.step`)
before stats are computed. `cpu_frame_time_ms.mean` now reads as the
wall time between rendered frames and `fps.mean` reads as the render
rate -- matching the simulator HUD and the rate the headset wearer /
spectator actually perceives during real-time teleop. Falls back to raw
per-`env.step` units when `decimation` or `render_interval` are
unavailable. Field shapes and `schema_version` are unchanged (v1
unadopted; no bump needed).
- Replace narrative references to "Kit" throughout the script's
docstrings and comments with neutral terms ("the simulator", "the
OpenXR", "simulator-side", etc.) so the documentation reads agnostic of
the underlying runtime brand. The two literal identifiers required to
invoke XR mode (the `--kit_args` CLI flag and
`isaacsim.kit.xr.teleop.bridge` extension name) are preserved in the
usage example.
- Address PR review feedback: drop a dead `env_cfg = None` init whose
comment misleadingly described a `finally`-side report (`_build_report`
actually runs after the try/finally), and normalize `None`-as-`"n/a"`
rendering across the `Env timing:` stdout fields.
Fixes # (issue)
## Type of change
<!-- As you go through the list, delete the ones that are not
applicable. -->
- New feature (non-breaking change which adds functionality)
## Checklist
- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there1 parent 6486b76 commit 482d21c
2 files changed
Lines changed: 246 additions & 52 deletions
File tree
- scripts/environments/teleoperation
- source/isaaclab_teleop/changelog.d
0 commit comments