Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds recorder manager in manager-based environments #1336

Merged
merged 13 commits into from
Dec 4, 2024

Conversation

nvcyc
Copy link
Contributor

@nvcyc nvcyc commented Oct 29, 2024

Description

This PR adds a recorder manager (RecorderManager) and relevant utility classes for recording data produced in various reset and step stages in manager-based environments.

Wither the built-in recorder manager, users can create custom recorder terms in their environment configurations with callback functions returning tensors to be recorded as environments advance. It is particularly useful for implementing an app that collects human-operated demos and for those who want to record robot actions for post-validation/replay in Isaac Lab environments.

The recorder manager works in both single- and multi-environment use cases. An episode for an environment instance is exported to a dataset file, via a dataset file handler, upon completion (a termination term is signaled a reset to the environment instance is triggered).

By default, the recorder manager is inactive (by assigning no recorder terms in the default configuration), which should have minimal performance impact for existing apps that do not require data recording.

Type of change

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update -- to be updated in later PRs

Checklist

  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have updated the changelog and the corresponding version in the extension's config/extension.toml file
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

@nvcyc nvcyc force-pushed the cy/recorder_manager branch 2 times, most recently from 37b6d9c to 62087f0 Compare November 2, 2024 19:08
@nvcyc nvcyc force-pushed the cy/recorder_manager branch 6 times, most recently from 0e16d99 to 18f8f71 Compare November 7, 2024 23:58
@kellyguo11
Copy link
Contributor

test_episode_data.py test seems to be failing

@nvcyc nvcyc force-pushed the cy/recorder_manager branch 3 times, most recently from afde2dd to 3604590 Compare November 26, 2024 17:11
@nvcyc nvcyc force-pushed the cy/recorder_manager branch from fe7e5fe to 49d30cd Compare December 2, 2024 23:55
@nvcyc nvcyc force-pushed the cy/recorder_manager branch from ea91b75 to 3cb1d1d Compare December 4, 2024 00:10
Co-authored-by: Kelly Guo <[email protected]>
Signed-off-by: CY Chen <[email protected]>
Copy link
Contributor Author

@nvcyc nvcyc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the reviews. Comments are addressed.

Copy link
Collaborator

@jtigue-bdai jtigue-bdai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for new feature. LGTM

@kellyguo11 kellyguo11 merged commit 01a2547 into isaac-sim:main Dec 4, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants