[IsaacLab 3.0.0 Multi-Backend] Visual Logging for Headless Runs#6212
[IsaacLab 3.0.0 Multi-Backend] Visual Logging for Headless Runs#6212mataylor-nvidia wants to merge 13 commits into
Conversation
Greptile SummaryThis PR adds a
Confidence Score: 5/5Safe to merge — the wrapper is additive, opt-in via a new CLI flag that defaults to disabled, and does not alter any existing training path. The burst-capture scheduling logic, NHWC normalization, explicit dataformats=NHWC for TensorBoard, per-run tag scoping, and filename format are all correct. Issues flagged in earlier review rounds have been addressed. No files require special attention. Important Files Changed
Reviews (9): Last reviewed commit: "Update scripts/reinforcement_learning/co..." | Re-trigger Greptile |
…aacLab into mt/visual-sensor-logs
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Signed-off-by: Matthew Taylor <mataylor@nvidia.com>
49cda7a to
c3c4557
Compare
|
|
||
| for sensor_name, sensor in sensors.items(): | ||
| # Force the sensor to update before capturing the frame | ||
| sensor.update(dt=0.0, force_recompute=True) |
There was a problem hiding this comment.
without this line I get inconsistent renders
There was a problem hiding this comment.
This does not seem to consistently fix this problem




Description
REQ-12: Support capturing images from the visualizer when running headless such that we can capture the full or subset of environments during training to observe progress through frameworks such as tensorboard or wandb
This feature exports per step frames from simulation from full or subset of the environments.
Fixes # (OMPE-78691)
https://jirasw.nvidia.com/browse/OMPE-78691
IsaacLab/source/isaaclab_tasks/test/rendering_test_utils.py
Line 553 in 0316aea
I save the images in the same way as the tests compare goldens moving this shared logic into utils/images.py
Type of change
Screenshots
Checklist
pre-commitchecks with./isaaclab.sh --formatconfig/extension.tomlfileCONTRIBUTORS.mdor my name already exists there