• Mayank Mittal's avatar
    Adds RSL-RL symmetry example for cartpole and ANYmal locomotion (#3057) · 71608f94
    Mayank Mittal authored
    # Description
    
    This MR introduces the following:
    
    * An `agent` argument to all scripts to allow selecting different entry
    points (each then get resolved to their respective settings file).
    * Symmetry function for ANYmal robot for the locomotion task and
    cartpole balancing task
    * Documentation on how to configure RL training agent using gym
    resgistry
    
    Fixes #2835
    
    ## Type of change
    
    - New feature (non-breaking change which adds functionality)
    - This change requires a documentation update
    
    ## Screenshots
    
    ### Cartpole
    
    ```bash
    # without symmetry
    ./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task Isaac-Cartpole-v0 --headless --agent rsl_rl_with_symmetry_cfg_entry_point --run_name ppo_with_no_symmetry agent.algorithm.symmetry_cfg.use_data_augmentation=false
    
    # with symmetry
    ./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task Isaac-Cartpole-v0--headless --agent rsl_rl_with_symmetry_cfg_entry_point --run_name ppo_with_symmetry_data_augmentation  agent.algorithm.symmetry_cfg.use_data_augmentation=true
    ```
    
    | Isaac-Cartpole-v0 (pink w/o symmetry, blue w/ symmetry) |
    | ------ |
    | <img width="823" height="421" alt="image"
    src="https://github.com/user-attachments/assets/9c33db99-0d79-4c1d-b437-e01275d613b5"
    /> |
    
    ### Locomotion
    
    ```bash
    
    # without symmetry
    ./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task Isaac-Velocity-Rough-Anymal-D-v0 --headless --agent rsl_rl_with_symmetry_cfg_entry_point --run_name ppo_with_no_symmetry agent.algorithm.symmetry_cfg.use_data_augmentation=false
    
    # with symmetry
    ./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task Isaac-Velocity-Rough-Anymal-D-v0 --headless --agent rsl_rl_with_symmetry_cfg_entry_point --run_name ppo_with_symmetry_data_augmentation  agent.algorithm.symmetry_cfg.use_data_augmentation=true
    ```
    
    | Isaac-Velocity-Rough-Anymal-D-v0 (green w/o symmetry, purple w/
    symmetry) |
    | ------ |
    | <img width="1241" height="414" alt="image"
    src="https://github.com/user-attachments/assets/625c125d-db9f-4006-9a62-0d55701a9407"
    /> |
    
    ## Checklist
    
    - [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
    - [ ] 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
    - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
    exists there
    
    ---------
    Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
    Co-authored-by: 's avatarooctipus <zhengyuz@nvidia.com>
    71608f94
add_own_library.rst 4.66 KB