1. 19 Aug, 2024 1 commit
    • StrainFlow's avatar
      Updates installation verfication for Windows (#835) · 0b4f7bd3
      StrainFlow authored
      # Description
      
      In the verification step for Isaac Sim installed from binaries, if I set
      the `ISAACSIM_PYTHON_EXE` variable as specified and print it, there are
      extra quotes, so the later steps don't work.
      
      This MR fixes the environment variable in Windows verification.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      - This change requires a documentation update
      
      ## 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
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      Signed-off-by: 's avatarStrainFlow <107502145+StrainFlow@users.noreply.github.com>
      0b4f7bd3
  2. 17 Aug, 2024 3 commits
    • jtigue-bdai's avatar
      Adds configurable modifiers to observation manager (#830) · fecf239c
      jtigue-bdai authored
      # Description
      
      The goal of this PR is to introduce expanded functionality to
      observation corruption/realism. This is done by introducing the concept
      of configurable modifiers. This creates an architecture that can apply a
      list of custom modifiers to observation data giving flexibility to order
      of operations. Existing modifiers for clip, scale, bias, and noise can
      be used. This does so without changing the current functionality. This
      PR also includes two new modifiers that are stateful (i.e. output is
      dependent on previous state) that utilize a Callable class. They are a
      `DigitalFilter` and an `Integrator`.
      
      Summary of Additions:
      - Adds `ModifierCfg` and `Modifier`
      - Adds example modifiers functions for bias, scale, clip, noise
      - Adds example modifiers classes: DigitalFilter, Integrator
      - Adds functionality to `ObservationManager` to prepare and handle
      modifiers of observation data
      - Adds unit tests for modifiers in test_modifiers.py
      - Adds test to test_observation_manager.py to test integration with
      modifiers
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      - This change requires a documentation update
      
      ## 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
      - [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
      
      ---------
      Signed-off-by: 's avatarjtigue-bdai <166445701+jtigue-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarMayank Mittal <mittalma@leggedrobotics.com>
      fecf239c
    • Pascal Roth's avatar
      Adds ability to launch multiple jobs on cluster with different code changes (#832) · 36c58ea0
      Pascal Roth authored
      # Description
      
      Currently, for multiple runs, the code is pushed to the same location on
      the cluster. When the runs are not directly started (i.e.,
      are in the queue), the code will be replaced each time a new job is
      submitted. This PR creates a new copy of the code for each job to ensure
      that the intended version is used for the submitted job.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## 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 run all the tests with `./isaaclab.sh --test` and they pass
      - [ ] 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
      36c58ea0
    • David Hoeller's avatar
      Adds the Hydra configuration system for RL training (#700) · bf068c83
      David Hoeller authored
      # Description
      
      This MR adds utilities to enable the hydra configuration system.
      Using the `train.py` scripts, the user can now change any parameter in
      the environment or agent configs from command line inputs, for example:
      ``` 
      python source/standalone/workflows/rsl_rl/train.py --task Isaac-Cartpole-v0 --headless env.actions.joint_effort.scale=10.0
      ```
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [ ] 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
      - [ ] 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
      
      ---------
      Signed-off-by: 's avatarDavid Hoeller <dhoeller@nvidia.com>
      Co-authored-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
      bf068c83
  3. 15 Aug, 2024 2 commits
    • Mayank Mittal's avatar
      Cleans up the docker container interface and utilities (#823) · 173b5f3e
      Mayank Mittal authored
      # Description
      
      Mainly documentation fixes and ensuring the code quality remains
      consistent. Also adds the `container.sh` script which calls the python
      script for compatibility reasons. We can remove it in later releases.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      - This change requires a documentation update
      
      ## 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
      173b5f3e
    • Mayank Mittal's avatar
      Fixes mode-based checks inside the `EventManager.apply` call (#777) · 7379dcee
      Mayank Mittal authored
      # Description
      
      Noticed that we were checking for function arguments inside a for-loop,
      which isn't necessary. Moved this check outside to make it simpler to
      read the code.
      
      Also noticed a small corner case in the event manager when reset is
      called and `env_ids` is None. In that case, it would bypass the check
      for min steps between reset and directly apply the term to the
      environment. I am not sure if that was intentional. if so, I can revert
      the behavior.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## 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
      - [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
      7379dcee
  4. 14 Aug, 2024 4 commits
    • Pascal Roth's avatar
      Fixes the cluster scripts after python migration (#824) · 765666d5
      Pascal Roth authored
      # Description
      
      Fixes cluster setting after merge of [python
      conversion](https://github.com/isaac-sim/IsaacLab/commit/f565c33d7716db1be813b30ddbcf9321712fc497)
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## 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
      - [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
      765666d5
    • Mayank Mittal's avatar
      Uses tables instead of long lists inside the cluster docs (#826) · 7670f0f1
      Mayank Mittal authored
      # Description
      
      Long lists become really hard to read and understand. This MR switches
      them to tables instead.
      
      ## Type of change
      
      - This change requires a documentation update
      
      ## Screenshots
      
      
      ![Image](https://github.com/user-attachments/assets/783768e2-da93-4b48-ad6e-2f99463ec615)
      
      ## 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
      7670f0f1
    • Hunter Hansen's avatar
      Adds the ability create composite compose yamls/.env files to container.py (#545) · e4342c99
      Hunter Hansen authored
      # Description
      
      This PR recreates the capabilities initially made by @farbod-farshidian
      [here](https://github.com/isaac-sim/IsaacLab/pull/455) for the new
      Pythonized-container interface.
      
      ## 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
      
      ## 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 run all the tests with `./isaaclab.sh --test` and they pass
      - [ ] 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 avatarHunter Hansen <50837800+hhansen-bdai@users.noreply.github.com>
      Signed-off-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarDavid Hoeller <dhoeller@nvidia.com>
      e4342c99
    • Hunter Hansen's avatar
      Converts container.sh into Python utilities (#539) · f565c33d
      Hunter Hansen authored
      This PR replicates the capabilities of `container.sh` in Python, and
      breaks its capabilities up into several files under a new directory
      `/docker/isaaclab_container_utils`, as well as a superior interface in
      `container.py`. The intention of this change is to make our
      container-mediating code more easily readable, debuggable, and
      modifiable. It is also done in the hopes that it can be more easily
      distributed as we see a desire from users to [compose and modify our
      setup](https://github.com/isaac-sim/IsaacLab/pull/455). It also has the
      additional benefit of needing fewer sudo installs because of Python's
      native yaml handling.
      
      The central class, `IsaacLabContainerInterface`, contains a lot of the
      original utility of the script, and several of the current
      `container.py` scripts options simply configure it and call a method.
      @pascal-roth `apptainer_utils.py` and the `./container.py job/push`
      logic are separated out, I'm curious what you think of this delineation.
      I also haven't been able to fully test that end of things as I don't
      have a cluster to use, though I did verify that it worked to the extent
      I could.
      
      I will update the docs when I have received approval
      
      <!-- As you go through the list, delete the ones that are not
      applicable. -->
      
      - Breaking change (fix or feature that would cause existing
      functionality to not work as expected)
      - This change requires a documentation update
      
      - [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 run all the tests with `./isaaclab.sh --test` and they pass
      - [ ] 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
      
      ---------
      Signed-off-by: 's avatarHunter Hansen <50837800+hhansen-bdai@users.noreply.github.com>
      Signed-off-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarDavid Hoeller <dhoeller@nvidia.com>
      f565c33d
  5. 13 Aug, 2024 1 commit
    • sizsJEon's avatar
      Adds the ability to resume training from a checkpoint with rl_games (#797) · 1b8e2c0e
      sizsJEon authored
      # Description
      
      The rl_games train.py script did not include the checkpoint and sigma.
      (it was none)
      I have added these features and verified their operation.
      
      - New feature (non-breaking change which adds functionality)
      
      ## 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
      - [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
      1b8e2c0e
  6. 07 Aug, 2024 3 commits
    • xavier's avatar
      Adds flag to preserve joint order inside `JointActionCfg` action term (#787) · 6451d235
      xavier authored
      # Description
      
      Adds the attribute `preserve_order` in `JointActionCfg`, to choose whether joint-related actions should keep the same
      order as how the `joint_names` are listed in the config.
      
      Fixes #786
      
      ## Type of change
      
      - New feature 
      
      ## 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
      - [ ] My changes generate no new warnings
      - [ ] 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
      6451d235
    • Masoud Moghani's avatar
      Renames rsl-rl agent configuration files (#795) · 0bad5005
      Masoud Moghani authored
      # Description
      
      This MR resolves a naming discrepancy in the rsl-rl agent configuration
      files across multiple tasks. By aligning all tasks to use the
      `rsl_rl_ppo_cfg` naming convention, it ensures uniformity and clarity in
      configuration file names.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## 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
      - [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
      0bad5005
    • David Hoeller's avatar
      Fixes conflict in teleop-device command line argument in scripts (#791) · d178560c
      David Hoeller authored
      # Description
      
      Since the move to the ``--device`` cli to set the device to run the
      simulation on, this clashes with ``--device`` for the teleoperation
      environments.
      
      This MR renames ``--device`` to ``--teleop_device`` for these examples.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## 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
      d178560c
  7. 06 Aug, 2024 3 commits
    • David Hoeller's avatar
      Fixes importing rsl_rl configs (#789) · 75f92e41
      David Hoeller authored
      # Description
      
      Fixes importing rsl_rl configs
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## 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
      - [x] My changes generate no new warnings
      - [x] 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
      75f92e41
    • David Hoeller's avatar
      Fixes running train scripts when rsl_rl is not installed (#784) · aa5472c6
      David Hoeller authored
      # Description
      
      Previously, it was not possible to run training scripts with rl_games,
      skrl, sb3 when rsl_rl was not installed.
      
      Fixes #749 
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## 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
      - [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
      aa5472c6
    • David Hoeller's avatar
      Simplifies device setting in SimulationCfg and AppLauncher (#696) · f75a51f3
      David Hoeller authored
      # Description
      
      Before setting up the device was tedious and redundant, and you would
      see code like:
      
      ```python
      sim_utils.SimulationCfg(device="cpu", use_gpu_pipeline=False, dt=0.01, physx=sim_utils.PhysxCfg(use_gpu=False))
      ```
      
      With this MR, we simply set the desired device, and all the parameters,
      such as `use_gpu_pipeline` and `use_gpu` propagate automatically,
      resulting in the following:
      
       ```python
      sim_utils.SimulationCfg(device="cpu", dt=0.01,
      physx=sim_utils.PhysxCfg())
      ```
      
      The command line input `--cpu` has been removed in favor of `--device device_name`, where valid options for `device_name` are `cpu` (run on CPU), `cuda` (run on GPU with device id 0), or `cuda:N` (run on GPU with device id N, for example `cuda:0`).
      
      ## Type of change
      
      - Breaking Change
      
      ## 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
      - [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
      f75a51f3
  8. 05 Aug, 2024 1 commit
    • Johnson Sun's avatar
      Adds video recording to the play scripts in RL workflows (#763) · e151bb93
      Johnson Sun authored
      # Description
      
      This MR enables users to easily record videos from trained checkpoints,
      which is useful for sanity checks or creating promotional videos for
      research papers.
      
      Fixes: https://github.com/isaac-sim/IsaacLab/issues/130
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      - This change requires a documentation update
      
      ## 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
      - [ ] 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
      e151bb93
  9. 03 Aug, 2024 3 commits
    • Mayank Mittal's avatar
      Allows having hybrid dimensional terms inside an observation group (#772) · 4cb968ac
      Mayank Mittal authored
      # Description
      
      Previously, the observation manager rigidly tried concatenating all the
      terms along the last dimension at construction. However, when one has
      hybrid-dimensional terms inside the observation group, this operation
      would fail, leading to an error. In principle, the concatenation should
      only happen when users set the attribute `concatenate_terms` to True
      inside the group settings.
      
      This MR lifts the above operation and adds a proper error when users try
      to concatenate observation terms of different shapes. They must set the
      concatenation flag to False if they want a "hybrid" observation group.
      
      Fixes #768
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## 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
      - [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
      4cb968ac
    • Kelly Guo's avatar
      Adds direct workflow Allegro hand environment (#709) · 9050d2f6
      Kelly Guo authored
      # Description
      This change refactors the shadow hand environment into a general in-hand
      manipulation environment and extends it with the Allegro hand.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## 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
      - [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
      9050d2f6
    • Kelly Guo's avatar
      Adds performance optimizations for domain randomization (#494) · 67ddfd5b
      Kelly Guo authored
      # Description
      
      - Adds `min_step_count_between_reset` for Event terms to specify minimum
      randomization frequency for reset randomizations
      - Switch to numpy for material bucketing logic
      - Updates SH Config with DR
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## 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
      - [x] I have run all the tests with `./isaaclab.sh --test` and they pass
      - [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
      67ddfd5b
  10. 02 Aug, 2024 13 commits
    • James Smith's avatar
      Modifies container.sh and x11.yaml to automatically check for stale cookies (#558) · e6446929
      James Smith authored
      # Description
      
      NOTE: This is a redo of
      https://github.com/isaac-orbit/IsaacLab/pull/524, only rebased onto new
      main and with changes to work with Isaac Lab.
      
      Copied from other PR:
      Modifies container.sh and x11.yaml to automatically check if a
      tmp.***.xauth file has a stale MIT-MAGIC-COOKIE-1, and refreshes it if
      so.
      
      In the instance where an xsession ends after a `tmp.***.xauth` file has
      been created, but the system is not rebooted (thus deleting
      `tmp.***.xauth`) then attempting to use the container causes errors.
      
      This is a feature to correct for this upon `container.sh enter` by:
      1. Mounting an entire `/tmp` subdirectory so that we can swap files
      2. Checking for stale cookies by comparing against the current user's
      cookie
      3. If stale, replacing the old `tmp.***.xauth` with a new
      `tmp.***.xauth` of the same name but a new cookie, in order to preserve
      functionality of envars.
      
      ## 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 run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] 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 run all the tests with `./orbit.sh --test` and they pass
      - [ ] 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
      
      ---------
      Signed-off-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarHunter Hansen <50837800+hhansen-bdai@users.noreply.github.com>
      e6446929
    • Mayank Mittal's avatar
      Decouples rigid object and articulation asset classes (#644) · 7b92c575
      Mayank Mittal authored
      # Description
      
      Since we override a lot of the functions from RigidObject inside the
      Articulation class, we don't need to rely on inheritance anymore.
      Duplicacy in the code makes it easier to understand the two classes'
      functionalities without severely added overhead from the maintenance
      side. Moreover, conceptually, it can be motivated that the two are
      independent concepts.
      
      This MR decouples the rigid object and articulation concepts in the
      framework.
      
      ## Type of change
      
      - Breaking change (fix or feature that would cause existing
      functionality to not work as expected)
      - This change requires a documentation update
      
      ## 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
      - [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
      
      ---------
      Co-authored-by: 's avatarDavid Hoeller <dhoeller@nvidia.com>
      7b92c575
    • Kelly Guo's avatar
      Adds throughput benchmarking scripts for different learning workflows (#759) · 809d090d
      Kelly Guo authored
      # Description
      - Removes unneeded extensions from headless app file
      - Limits CPU threads when running multi-GPU training to minimize thread
      context switching
      - Apply multi GPU renderer setting to avoid unnecessary GPU context
      initialization
      - Decreases 8k SH startup time on 8 GPUs from > 5 min to 1 min
      - Adds benchmarking scripts
      
      ## Type of change
      
      <!-- As you go through the list, delete the ones that are not
      applicable. -->
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## 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
      - [x] My changes generate no new warnings
      - [ ] 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
      - [ ] 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
      -->
      
      ---------
      Co-authored-by: 's avatarAlexander <143108850+nv-apoddubny@users.noreply.github.com>
      Co-authored-by: 's avatarDavid Hoeller <dhoeller@nvidia.com>
      809d090d
    • James Smith's avatar
      Adds a cli arg to `run_all_tests.py` for testing a selected extension (#753) · e90400b7
      James Smith authored
      # Description
      
      Add a cli argument `--extension` to run only unit tests for a selected
      extension. As an example:
      
      ```bash
      isaaclab -t --extension omni.isaac.lab_assets # Only runs tests under omni.isaac.lab_assets
      ```
      
      Fixes #752 
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## 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
      e90400b7
    • Mayank Mittal's avatar
      Updates readme to use GitHub action status for badges (#776) · de54e129
      Mayank Mittal authored
      # Description
      
      Earlier the README had hard-coded values for "passing" of pre-commit and
      docs. This changes it to use the GitHub actions instead.
      
      ## Type of change
      
      - This change requires a documentation update
      
      ## 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
      de54e129
    • Pascal Roth's avatar
      Adds option to set the height of the border in the `TerrainGenerator` (#744) · 912279d5
      Pascal Roth authored
      # Description
      
      Adds a parameter `border_height` to `TerrainGeneratorCfg` to be able to
      control the height of the generator border instead of having a
      hard-coded value of 1.0m.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## 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
      - [x] My changes generate no new warnings
      - [ ] 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
      912279d5
    • Mayank Mittal's avatar
      Renames Unitree configs in locomotion tasks to match properly (#714) · 692b1779
      Mayank Mittal authored
      # Description
      
      There was a slight inconsistency-- we called `unitree_a1`,
      `unitree_go1`, and at the same time `h1` and `g1`. This MR fixes this
      inconsistency and adds some more docs.
      
      ## Type of change
      
      - This change requires a documentation update
      
      ## 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
      - [x] My changes generate no new warnings
      - [ ] 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
      692b1779
    • Mayank Mittal's avatar
      Fixes caching of the terrain using the terrain generator (#757) · 112036e9
      Mayank Mittal authored
      # Description
      
      The caching of terrains with the terrain generator did not work as
      expected even when the curriculum was enabled (which should have yielded the
      same terrain every time). On deeper investigation, it appears that the
      terrain generator samples a range when using the curriculum to avoid having
      the same sub-terrain in columns of the same terrain type. Thus, the
      terrain `difficulty` was stochastic between runs, which affected the
      caching of the terrain.
      
      This MR fixes the following:
      
      - Adds documentation of the above behavior
      - Modifies the generator to use `np.random.Generator` (RNG) instead of
      setting the seed globally
      - Adds a warning if the user wants to cache the terrain and the seed is
      not set
      - Adds tests to check caching works for the terrain generator with and
      without curriculum
      
      Note: Right now, complete determinism (i.e., the same terrain is generated)
      is only possible when seed is set and caching is enabled. If caching is
      disabled, it is possible that the terrain may have small differences. To
      fix this, the RNG needs to be propagated to all the generation functions
      as well. I leave that as a future TODO.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      - This change requires a documentation update
      
      ## 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
      - [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
      112036e9
    • Mayank Mittal's avatar
      Adds documentation on the frames for asset data (#742) · 59c0b2db
      Mayank Mittal authored
      # Description
      
      This MR adds docstrings in articulation and rigid object data to clarify
      the exact frames they are reported in. This was previously causing
      confusion as PhysX reports the transforms in actor frame and velocities
      in CoM frame. Right now, there is no mechanism to get all this data in
      the same frame, so the best we can do is document behavior.
      
      ## Type of change
      
      - This change requires a documentation update
      
      ## 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
      59c0b2db
    • Mayank Mittal's avatar
      Renames action term names inside manage-based lift env (#735) · 1334f280
      Mayank Mittal authored
      # Description
      
      This MR renames the action term names inside the manager-based
      lift-manipulation task. Earlier, they were called
      ``body_joint_pos`` and ``gripper_joint_pos``. This made it confusing
      since they were also being set to IK instead of joint position action
      terms. Now, they are called ``arm_action`` and ``gripper_action``.
      
      This makes it consistent with other manipulation tasks. 
      
      ## Type of change
      
      - Breaking change (fix or feature that would cause existing
      functionality to not work as expected)
      - This change requires a documentation update
      
      ## 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
      - [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
      1334f280
    • Masoud Moghani's avatar
      Fixes setting of pose when spawning a mesh (#692) · a599cb23
      Masoud Moghani authored
      # Description
      
      This MR removes the additional translation and orientation applied when
      creating the mesh prim under the parent Xform prim.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## 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
      - [x] My changes generate no new warnings
      - [ ] 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
      a599cb23
    • Mayank Mittal's avatar
      Uses PhysX accelerations for rigid body acceleration data (#760) · 8ed87a00
      Mayank Mittal authored
      # Description
      
      Previously, we used finite differencing to compute rigid body
      accelerations. Since Isaac Sim 4.0, we can obtain the accelerations
      directly from PhysX. This MR removes the need for finite differencing.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      - This change requires a documentation update
      
      ## 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
      - [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
      8ed87a00
    • Mayank Mittal's avatar
      Fixes `wrap_to_pi` function in math utilities (#771) · c3e4b0d0
      Mayank Mittal authored
      # Description
      
      The previous implementation of `wrap_to_pi` was rather incorrect since
      it would map -PI to PI but -3PI to -PI. Following the general convention
      of this function (based on MATLAB), all odd positive multiples of PI
      should map to PI, and all negative multiples should map to -PI.
      
      This MR fixes the function and also adds a unit test for it.
      
      Fixes #770
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      - Breaking change (fix or feature that would cause existing
      functionality to not work as expected)
      
      ## 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
      - [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
      c3e4b0d0
  11. 30 Jul, 2024 1 commit
    • Mayank Mittal's avatar
      Removes remnants of Isaac Sim 2023.1.1 and Lab 1.0 references (#741) · 4def7a69
      Mayank Mittal authored
      # Description
      
      There were still a few changes not propagated with the drop of 2023.1.1.
      This MR fixes those pieces:
      
      - updating the version number in the docs to 4.1
      - updating the nucleus asset server path to 4.1
      - removing the physics flushing inside the interactive scene (as it was
      needed in 2023.1.1 only)
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## 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
      - [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
      4def7a69
  12. 27 Jul, 2024 1 commit
    • David Hoeller's avatar
      Updates code to Isaac Sim 4.1.0 release (#734) · 454905bf
      David Hoeller authored
      # Description
      
      Updates code to Isaac Sim 4.1.0 release.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## 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
      - [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
      454905bf
  13. 26 Jul, 2024 1 commit
    • Johnson Sun's avatar
      Improves docker X11 forwarding documentation (#685) · ab7cdb81
      Johnson Sun authored
      # Description
      
      Clarify X11 forwarding configs in docs and warning messages.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## 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
      ab7cdb81
  14. 23 Jul, 2024 3 commits
    • Masoud Moghani's avatar
      Fixes action term in the reach environment (#710) · 4a3f07a5
      Masoud Moghani authored
      # Description
      
      Fixes action term in the IK reach environment configurations.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## 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
      - [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
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      4a3f07a5
    • David Hoeller's avatar
      Fixes the render interval for reach environments (#695) · 26b24f4b
      David Hoeller authored
      # Description
      
      The render interval for reach environments was not equal to the decimation, resulting in
      unnecessary rendering steps.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## 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
      - [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
      26b24f4b
    • Luis Carranza's avatar
      Fixes warning message in Articulation config processing (#699) · b52df735
      Luis Carranza authored
      # Description
      
      Fixes #698
      
      The sanity check compares the total actuator joints (total_act_joints)
      with the difference between the number of joints minus the number of
      fixed tendons (self.num_joints - self.num_fixed_tendons), but the
      warning message displays a comparison between total_act_joints and
      self.num_joints. This is misleading on complex robots that includes
      fixed tendons such as Franka hand.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      b52df735