• CY Chen's avatar
    Adds recorder manager in manager-based environments (#1336) · 01a25477
    CY Chen authored
    # Description
    
    <!--
    Thank you for your interest in sending a pull request. Please make sure
    to check the contribution guidelines.
    
    Link: https://isaac-sim.github.io/IsaacLab/source/refs/contributing.html
    -->
    
    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
    
    <!-- As you go through the list, delete the ones that are not
    applicable. -->
    
    - New feature (non-breaking change which adds functionality)
    - This change requires a documentation update -- to be updated in later
    PRs
    
    ## Checklist
    
    - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
    `./isaaclab.sh --format`
    - [ ] I have made corresponding changes to the documentation
    - [ ] 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 there
    
    <!--
    As you go through the checklist above, you can mark something as done by
    putting an x character in it
    
    For example,
    - [x] I have done this task
    - [ ] I have not done this task
    -->
    
    ---------
    Signed-off-by: 's avatarCY Chen <cyc@nvidia.com>
    Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
    01a25477
Name
Last commit
Last update
..
benchmarks Loading commit data...
demos Loading commit data...
environments Loading commit data...
tools Loading commit data...
tutorials Loading commit data...
workflows Loading commit data...