1. 26 Apr, 2024 3 commits
    • Muhong Guo's avatar
      Fixes type-hinting for articulation properties in `from_files_cfg.py` (#384) · 440c57b4
      Muhong Guo authored
      # Description
      
      The declaration of `ArticulationPropertiesCfg` is not found in orbit. I
      guess it should be `ArticulationRootPropertiesCfg`. This MR fixes the
      typing.
      
      ## 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
      `./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
      440c57b4
    • Muhong Guo's avatar
      Removes duplicated cassie configuration in core extension (#383) · 27580dc4
      Muhong Guo authored
      # Description
      
      The `cassie.py` under the `omni.isaac.orbit` extension looks duplicated
      with the one under `omni.isaac.orbit_assets`, and after a search in the
      folder, I found that it's not being used or referenced at all. This MR
      removes it to avoid potential confusion.
      
      ## 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
      `./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
      27580dc4
    • Mayank Mittal's avatar
      Adds `fix_root_link` attribute to ArticulationRootPropertiesCfg (#517) · 2ae4b2d8
      Mayank Mittal authored
      # Description
      
      This MR adds an attribute to fix the root link of an articulation. It
      also fixes the docstrings to mention how to fix a rigid body in the
      scene.
      
      Fixes https://github.com/NVIDIA-Omniverse/orbit/issues/181,
      https://github.com/NVIDIA-Omniverse/orbit/issues/365
      
      ## 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
      `./orbit.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 run all the tests with `./orbit.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
      2ae4b2d8
  2. 24 Apr, 2024 1 commit
    • Hunter Hansen's avatar
      Adds X11 setup checks (#516) · 0f52eaa7
      Hunter Hansen authored
      # Description
      Added a check that the tmp.xauth file exists on the host when setting
      up, or else replace it. This makes the x11 procedure robust to
      accidental shutdowns/unintentional modifications to .container.yaml.
      Shoutout @jtigue-bdai for uncovering this flaw!
      
      ## 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
      `./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
      0f52eaa7
  3. 23 Apr, 2024 1 commit
    • Özhan Özen's avatar
      Changes 'unalias' to 'unset' inside `setup_conda_env` in orbit.sh (#378) · 7cc56c3e
      Özhan Özen authored
      The line `'unalias ORBIT_PATH &>/dev/null'` inside `setup_conda_env()`
      prevents `orbit.sh --conda` to successfully exit. The "`unset`" command
      rather than "`unalias`" should be used for environment variables (e.g.,
      `ORBIT_PATH`). This is a problem, e.g., when a custom dockerfile is used
      to directly install conda during the image build process: the image
      build process is interrupted.
      
      Fixes #377
      
      - Bug fix (non-breaking change which fixes an issue)
      
      Before:
      
      https://github.com/NVIDIA-Omniverse/orbit/blob/a642b8e32cf07efa11a583e8db3680d971922e1e/orbit.sh#L148
      After:
      `'unset ORBIT_PATH' \`
      
      - [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
      7cc56c3e
  4. 20 Apr, 2024 1 commit
    • Hunter Hansen's avatar
      Removes breaking typo from container.sh (#512) · a642b8e3
      Hunter Hansen authored
      # Description
      
      Removes a typo which causes `container.sh` to fail
      
      ## 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
      `./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
      a642b8e3
  5. 18 Apr, 2024 4 commits
    • Mayank Mittal's avatar
      Updates versioning of the framework to v0.3 release (#507) · f71340eb
      Mayank Mittal authored
      # Description
      
      This MR updates the docs for versioning of the framework to 0.3.0.
      
      ## 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
      `./orbit.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 `./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
      f71340eb
    • Mayank Mittal's avatar
      63f585fc
    • Mayank Mittal's avatar
      Adds dexterous cube manipulation environment for Allegro hand (#499) · 78692be5
      Mayank Mittal authored
      # Description
      
      This MR adds the dexterous cube manipulation environment from
      IsaacGymEnvs. The implementation is mostly based on the standard
      AllegroHand environment. However, it includes the following components
      from the Dextreme work:
      
      * Randomization of mass, joint PD gains, friction, and initial state
      distribution
      * Tuning of RL-Games from Dextreme work
      * Exponential moving average (bounded joint position) action term
      
      However, it does the following differently since it led to better
      convergence:
      
      * Changes the way out-of-reach termination is computed. Original work
      seems to do it w.r.t. the goal position, but that seems unnecessary
      * Removed goal position racking reward. It was tuned too high, which
      made learning difficult and is not needed
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Screenshots
      
      Trained with RSL-RL
      
      
      https://github.com/isaac-orbit/orbit/assets/12863862/8f51e468-2d93-4520-9689-f1e8f1a898e6
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.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 run all the tests with `./orbit.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
      78692be5
    • Mayank Mittal's avatar
      Adds unit test to check all pre-included asset configs work as expected (#511) · b1781712
      Mayank Mittal authored
      # Description
      
      This MR adds a test to check all the asset configurations in the
      `omni.isaac.orbit_assets` class work as expected. This is useful since
      we keep adding new checks and updates. It is good to automatically know
      that the assets can be initialized successfully.
      
      ## 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
      `./orbit.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 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
      b1781712
  6. 17 Apr, 2024 4 commits
    • Hunter Hansen's avatar
      Adds X11 forwarding and yaml storage for Docker (#490) · 2c59cbc5
      Hunter Hansen authored
      # Description
      
      This PR adds the capability to opt-into and use X11 Forwarding from
      within the container. All of the configuration for the compose network
      is in `x11.yaml`, the preparation happens in `./container.sh`.
      
      Deeper explanation: Instead of attempting to mount an .Xauth directly,
      we create one ourselves. The `Xauth` cookie is extracted and merged into
      a new .tmp file which is created on the local user's system. This file
      is then mounted inside the container,as is the X11 unix socket, and the
      DISPLAY envvar (as well as a few others to avoid problems) are passed
      from the host machine into the container.
      
      This should work reliably on a container running locally, and it has
      worked for me over ssh. However, given that ssh can make this quite a
      bit more complicated, this PR only seeks to support local x11
      forwarding.
      
      **UPDATE**:
      I've also added some state persistence through `yq` and the file
      `.container.yaml`. I am using this to store settings we only want to ask
      once (`__ORBIT_X11_FORWARDING_ENABLED`) and state that needs to be used
      by multiple functions (`__ORBIT_TMP_XAUTH`). I added a few helper
      functions and and installation function to install `yq` for yaml
      operations.
      
      ## 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
      `./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
      - [x] 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 avatarHunter Hansen <50837800+hhansen-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarPascal Roth <57946385+pascal-roth@users.noreply.github.com>
      2c59cbc5
    • Mayank Mittal's avatar
      Adds clearer initialization errors for asset classes (#509) · 952498c1
      Mayank Mittal authored
      # Description
      
      Earlier, the error message for initializing asset classes (with invalid
      prims) only checked "length != 1". However, the error messages are
      clearer if we separate them for the null and many cases, respectively.
      This MR fixes this for better error messages.
      
      ## 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
      `./orbit.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
      - [x] 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
      952498c1
    • Mayank Mittal's avatar
      Fixes building of documentation due to illegal unions (#506) · 779107fc
      Mayank Mittal authored
      With remove of many future imports, it seems Sphinx doc generation was
      sensitive to it. Hence, the docs were not building anymore. This MR
      makes sure that those issues are resolved properly.
      
      Built the docs locally and they work fine.
      
      - Bug fix (non-breaking change which fixes an issue)
      
      - [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
      - [x] 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
      779107fc
    • Mayank Mittal's avatar
      Adds new event terms to randomize joint properties and scaling mass (#495) · 91f8a03e
      Mayank Mittal authored
      # Description
      
      This MR does the following:
      
      * Adds the function `omni.isaac.orbit.utils.math.quat_unique` to
      standardize quaternion representations, i.e.
        always have a non-negative real part.
      * Adds events terms for randomizing mass by scale, simulation joint
      properties (stiffness, damping, armature,
        and friction)
      * Adds clamping of joint positions and velocities in event terms for
      resetting joints. The simulation does not
      throw an error if the set values are out of their range. Hence, users
      are expected to clamp them before setting.
      * Fixes
      `omni.isaac.orbit.envs.mdp.ExponentialMovingAverageJointPositionAction`
      to smoothen the actions
        at environment frequency instead of simulation frequency.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      - New feature (non-breaking change which adds functionality)
      - 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
      `./orbit.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 run all the tests with `./orbit.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
      91f8a03e
  7. 16 Apr, 2024 4 commits
    • Mayank Mittal's avatar
      Uses stage identifier for faster file checks in the `from_files` spawners (#502) · 87618028
      Mayank Mittal authored
      # Description
      
      The function `check_file_exists` is slow since it tries to access the
      Nucleus server for the file, which can take time. This function uses the
      stage resolver to see if the file exists instead.
      
      ## 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
      `./orbit.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 run all the tests with `./orbit.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
      87618028
    • Mayank Mittal's avatar
      Uses Orbit's SimContext for camera unit tests (#504) · 13146109
      Mayank Mittal authored
      # Description
      
      Earlier, we used Isaac Sim's sim context, which set the backend to torch
      on CPU. However, we want to make sure things work fine on GPU. This MR
      uses Orbit's sim context class for better integration testing.
      
      ## 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
      `./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
      - [x] 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
      13146109
    • Mayank Mittal's avatar
      Removes unnecessary future imports for Python 3.10 (#503) · 19851b9b
      Mayank Mittal authored
      # Description
      
      With Python 3.10, we don't need future imports at many places. This MR
      removes such cases. Future imports are still needed for the following:
      
      * Circular imports (where we use `TYPE_CHECKING`)
      * Modules where we have the file name the same as module name. Example:
      `schemas` directory has `schemas.py` file
      
      Fixes #390
      
      ## 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
      `./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
      - [x] 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
      19851b9b
    • Mayank Mittal's avatar
      Fixes rendering of RTX-related sensors in `RLTaskEnv` (#501) · 7ac5588c
      Mayank Mittal authored
      # Description
      
      Previously, rendering of RTX-related sensors was not happening within
      the step call of the environment. Instead, it was expected that users
      call `env.render()` instead. However, this was unintuitive when sensors
      are involved.
      
      Fixes https://github.com/NVIDIA-Omniverse/orbit/discussions/291
      
      ## 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
      `./orbit.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
      - [ ] I have run all the tests with `./orbit.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
      7ac5588c
  8. 15 Apr, 2024 2 commits
    • Michael Brauckmann's avatar
      Adds unit tests for terrain importer to check sphere collisions (#69) · fa4a3410
      Michael Brauckmann authored
      # Description
      
      Adds in unittests for terrain importers. check that all three import
      function work and generate meshes of correct size and the balls dropped
      on mesh do not fall through it.
      
      Fixes #54
      
      ## 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
      `./orbit.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
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      
      ---------
      Signed-off-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarJames Smith <jsmith@theaiinstitute.com>
      fa4a3410
    • Mayank Mittal's avatar
      Puts all tasks unit tests into subTest context (#500) · e637753a
      Mayank Mittal authored
      # Description
      
      This MR moves all environment tasks names into `with.subTest()` context
      manager to report per sub test as well.
      
      ## 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
      `./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
      - [x] 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
      
      ---------
      Co-authored-by: 's avatarDavid Hoeller <dhoeller@ethz.ch>
      e637753a
  9. 12 Apr, 2024 4 commits
    • Mayank Mittal's avatar
      Makes function order consistent in the command terms (#496) · 40cdf401
      Mayank Mittal authored
      # Description
      
      This MR makes sure that the function ordering is consistent with their
      call order in the command terms.
      
      ## 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
      `./orbit.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 `./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
      40cdf401
    • fyu-bdai's avatar
      Adds unit test for the contact sensor class (#464) · 06ada157
      fyu-bdai authored
      # Description
      
      Adds a unit test for the the data reported by ContactSensor over
      different contact primitives, ground surfaces, contact times, and
      devices. This test spawns in a contact primitive, and sets the contact
      primitive in contact in the ground or in the air for a pre-determined
      amount of time, then checks that the ContactSensor data agrees with the
      expected values.
      
      Note: 
      
      Although this unit test uses all available primitive shapes in Isaac
      Sim, `[box, capsule, cylinder, cone, sphere]`, only test cases where
      exact collision models (capsule, sphere, box) are available are used.
      This is because ContactSensor does not work on Cylinder<->Mesh
      collisions and Cone<->Mesh collisions unfortunately.
      
      Update:
      
      Capsule<->Mesh collisions also do not work in certain cases, see #470.
      Capsule tests have also been removed from this unit test.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Screenshots
      
      Please attach before and after screenshots of the change if applicable.
      ![Screenshot from 2024-03-20
      17-49-13](https://github.com/isaac-orbit/orbit/assets/156015326/bfff41a1-7c04-4824-aaed-3ce7e0bfd4bd)
      ![Screenshot from 2024-03-20
      17-50-14](https://github.com/isaac-orbit/orbit/assets/156015326/f30e77d2-ff30-4805-96bd-6c7106a1db7b)
      ![Screenshot from 2024-03-20
      17-51-03](https://github.com/isaac-orbit/orbit/assets/156015326/7037dc4b-147b-4221-bcd5-8c39d39c4709)
      ![Screenshot from 2024-03-20
      17-54-09](https://github.com/isaac-orbit/orbit/assets/156015326/ed40604b-67d9-4f81-8272-b36a7c92b21e)
      
      ## 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
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have run all the tests with `./orbit.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
      06ada157
    • nburger-bdai's avatar
      Replaces `contrib_tasks` extension to move to `orbit.ext_template` repo (#458) · b706a916
      nburger-bdai authored
      # Description
      
      Replaced `contrib_tasks` with a reference to the `orbit.ext_template`
      repository in the documentation.
      
      ## 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
      `./orbit.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 `./orbit.sh --test` and they pass
      - [x] **N/A** 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
      b706a916
    • Mayank Mittal's avatar
      Fixes shared memory address between observation terms data (#493) · 421ece0b
      Mayank Mittal authored
      # Description
      
      This MR does the following fixes:
      
      * Adds a clone operator to the observation manager term computation to
      prevent shared data between terms
      * Fixes the flushing of data for imitation learning worklow
      
      Fixes https://github.com/NVIDIA-Omniverse/orbit/issues/356
      
      ## 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
      `./orbit.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 run all the tests with `./orbit.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
      421ece0b
  10. 05 Apr, 2024 3 commits
    • Mayank Mittal's avatar
      Fixes value assignment of terms in the termination manager (#488) · bca680a9
      Mayank Mittal authored
      # Description
      
      This MR fixes a regression introduced in 0.15.1. The term values were
      assigned using an OR operator. However, since they were never being
      cleared, the values were incorrect.
      
      ## 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
      `./orbit.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 `./orbit.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
      bca680a9
    • Pascal Roth's avatar
      Fixes cluster workflow to work with different container profiles (#486) · 6ef5930d
      Pascal Roth authored
      # Description
      
      Cluster workflow did not work with the different profiles and introduced
      names. This PR fixes the workflow and in addition, introduces additional
      checks that the profile can be selected. In detail:
      
      - checks whether a profile can be selected depending on whether a
      `.env.$container_profile` exists
      - allows for `job` to have multiple arguments, also without a profile,
      for all other options, the second argument has to be the profile
      - check if a docker image exists before building the singularity image
      - check if the path for the singularity image exists on the cluster,
      otherwise create it
      - check if the path for orbit exists on the cluster, otherwise create it
      
      
      ## 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
      `./orbit.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 `./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
      
      ---------
      Co-authored-by: 's avatarLeul Tesfaye <lst26@cornell.edu>
      Co-authored-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      6ef5930d
    • Pascal Roth's avatar
      Removes root requirement to build singularity image for cluster deployment (#484) · 3ab2acef
      Pascal Roth authored
      # Description
      
      Remove the root requirement to build a singularity image for the cluster
      workflow by using the `--fakeroot` flag. Also added a note that this
      flag can be removed in the case of issues.
      
      ## 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
      `./orbit.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 `./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
      3ab2acef
  11. 04 Apr, 2024 2 commits
    • Leul Tesfaye's avatar
      Fixes `VERSION` file not found when launching Isaac Sim (#340) · ae222ba1
      Leul Tesfaye authored
      The AppLauncher has a bug where it fails to fact the `app.folder` is
      pointing to a directory higher than it should be. This leads to a file
      not being found in the `_get_version` call from `omni.isaac.version`
      module.
      
      Updated app.folder to point to `"${exe-path}/"` instead of
      `"${exe-path}/../"` in the following files:
      
      - orbit/source/apps/orbit.python.headless.kit
      - orbit/source/apps/orbit.python.headless.multicam.kit
      - orbit/source/apps/orbit.python.kit
      
      Fixes #339
      
      - Bug fix (non-breaking change which fixes an issue)
      
      - [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
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      ae222ba1
    • Mayank Mittal's avatar
      Adds asset configs for Kinova and Rethink Robotics arms (#485) · 76044b6d
      Mayank Mittal authored
      # Description
      
      This MR adds the following new asset configs:
      
      * `KINOVA_JACO2_N6S300_CFG`: Kinova Jaco2 (6-Dof) arm with three-finger
      gripper
      * `KINOVA_JACO2_N7S300_CFG`: Kinova Jaco2 (7-Dof) arm with three-finger
      gripper
      * `KINOVA_GEN3_N7_CFG`: Kinova Gen3 (7-Dof) arm with no gripper
      * `SAWYER_CFG`: Sawyer arm with no gripper
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Screenshots
      
      ![arm_ok](https://github.com/isaac-orbit/orbit/assets/12863862/18c98444-ce00-4324-a131-0cde9cd3afe0)
      
      ## 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
      - [x] I have run all the tests with `./orbit.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
      76044b6d
  12. 02 Apr, 2024 3 commits
    • rumblingturtle's avatar
      Fixes missing asgument in calls to ConactSensor.find_bodies (#341) · 83e14f09
      rumblingturtle authored
      # Description
      
      Commit 3acff1be missed update for a
      ContactSensor override to find_bodies
      
      ## 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
      `./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
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      83e14f09
    • Hunter Hansen's avatar
      Adapts isaac sim path in the container to point to its symlink (#482) · dfa74872
      Hunter Hansen authored
      # Description
      
      The experience files that we host in Orbit rely upon an expression
      `${exe-path}`, specifically to resolve the location of the `VERSION`.
      From our `orbit.python.headless.kit`:
      ```
      app.versionFile = "${exe-path}/../VERSION"
      app.folder = "${exe-path}/../"
      ```
      This resolves to the full path of the calling exe, which is the `kit`
      application in isaac-sim.
      
      Currently this is broken in the container because we set
      `ISAACSIM_PATH=/isaac-sim`, which is broken during the path operations
      done on it. This PR fixes that by making
      `ISAACSIM_PATH=/workspace/orbit/_isaac_sim` as well as mapping other
      aliases (`python`, `python3`) through this path.
      
      I have also added `not self._livestream` as a precondition of enabling
      the `orbit.python.headless.kit` experience file, because otherwise we do
      not render to livestream.
      
      I also added fixes for all the newly failing tests, except for
      `test_urdf_converter.py`. I will add a fix for that to this branch as
      soon as I have one.
      
      UPDATE:
      It appears that `test_urdf_converter.py` was broken at least as far back
      as commit `a30d764d`, which precedes the experience file commit. I will
      therefore merge this without fixing that test.
      
      Fixes [#339](https://github.com/NVIDIA-Omniverse/orbit/issues/339),
      [#338](https://github.com/NVIDIA-Omniverse/orbit/issues/338)
      
      ## 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
      `./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
      - [x] I have run all the tests with `./orbit.sh --test` and they pass
      (except `test_urdf_converter.py`)
      - [ ] 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>
      Co-authored-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      dfa74872
    • Pascal Roth's avatar
      Adds ordering parameter for raycaster grid pattern (#483) · 6cbf0011
      Pascal Roth authored
      # Description
      
      Allow changing of the indexing mode for the grid pattern of the
      RayCaster. Possible options are:
      
      - “xy”: the points are ordered with their y-dimension iterated over
      first.
      - “yx”: the points are ordered with their x-dimension iterated over
      first.
      
      ## 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
      `./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
      - [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
      6cbf0011
  13. 29 Mar, 2024 5 commits
    • Pascal Roth's avatar
      Adds preserving of joint and body indices to the `SceneEntityCfg` (#469) · 3acff1be
      Pascal Roth authored
      # Description
      
      The `SceneEntityCfg` always return the `joint_ids` and `body_ids` in the
      simulation order even if a different order was specified when passing
      the names to the `SceneEntityCfg`. This fix changes the behavior, to
      always return the ids in the specified order by introducing the flag
      `simulation_order` that is true per default for everything within orbit
      but false for the `SceneEntityCfg`.
      
      Fixes #461 
      
      ## 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
      `./orbit.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
      - [x] I have run all the tests with `./orbit.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
      
      ---------
      Signed-off-by: 's avatarPascal Roth <57946385+pascal-roth@users.noreply.github.com>
      Signed-off-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      Co-authored-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      Co-authored-by: 's avatarMayank Mittal <mittalma@leggedrobotics.com>
      3acff1be
    • Mayank Mittal's avatar
      Adds custom experience file loading to the AppLauncher (#473) · fcc216a5
      Mayank Mittal authored
      # Description
      
      This MR automates the configuring of kit app files based on the settings
      passed to the app launcher.
      
      The experience file to load when launching the SimulationApp. If a
      relative path is provided, it is resolved relative to the ``EXP_PATH``
      environment variable. If provided as an empty string, the experience
      file is determined based on the headless flag:
      
      * If headless is True, the experience file is set to
      ``orbit.python.headless.kit``.
      * If headless is False, the experience file is set to
      ``orbit.python.kit``.
      
      Moreover, it adds the app experience file to use when running
      multi-camera setup. This is taken from OIGE:
      >
      https://github.com/NVIDIA-Omniverse/OmniIsaacGymEnvs/blob/main/docs/examples/training_with_camera.md#working-with-cameras
      
      Fixes #238
      
      ## 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
      `./orbit.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 `./orbit.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
      fcc216a5
    • James Smith's avatar
      Fixes test scripts to report their status to the runner (#475) · d4e350e9
      James Smith authored
      # Description
      
      @Mayankm96 recently found that tests failures weren't properly reporting
      in runs of `orbit -t`. This is because we were previously relying on
      individual test's main to exit with 1 if the test failed, but this
      recently changed when we stopped them from exiting with `exit=False`
      argument to `unittest.main()` to ensure the simulation app could be
      closed properly.
       
      We no longer call `simulation_app.close()` as this will cause the exit to not reach `run_all_tests.py`. The downside here is a bit more console spam.
      
      Fixes #474
      
      ## 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
      `./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
      - [x] 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 avatarMayank Mittal <mittalma@leggedrobotics.com>
      Co-authored-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      d4e350e9
    • Hunter Hansen's avatar
      Fixes repeated Docker container names (#481) · 0865cf6b
      Hunter Hansen authored
      # Description
      
      As of [docker compose
      2.24.7](https://docs.docker.com/compose/release-notes/#2247), using the
      same name between containers is disallowed even if the profiles that
      launch them are mutually exclusive.
      
      This PR alters `docker-compose.yaml` such that containers will now be
      appended with their image extension (orbit-base, orbit-ros2). I've also
      added `resolve_image_extension` to the logic in `./container.sh` in
      order to handle the image_extension arguments.
      
      Fixes Public[
      #325](https://github.com/NVIDIA-Omniverse/orbit/issues/325)
      
      ## 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
      `./orbit.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 `./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
      
      <!--
      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>
      Co-authored-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
      0865cf6b
    • Hunter Hansen's avatar
      Removes version from docker-compose.yaml (#479) · 0fc38de4
      Hunter Hansen authored
      # Description
      
      This choice is related to the [deep history of docker
      compose](https://docs.docker.com/compose/intro/history/). Previously we
      had a `version` specification in the `docker-compose.yaml`. While I did
      this initially to ensure support for extensions, I think it could
      confuse users about which version of docker compose is supported. I
      believe we should only support the most modern version of docker compose
      (this is what we direct people to install), which is the plugin version
      of docker compose (invoked in the cli as `docker compose` rather than
      `docker-compose`) and the [Compose
      Specification](https://github.com/compose-spec/compose-spec) which is
      backwards compatible with much of versions 2+3, but which is its own
      format.
      
      This hasn't yet caused a problem per-se, but could mislead people about
      which Docker setup we support.
      
      ## 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
      `./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
      
      <!--
      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
      -->
      0fc38de4
  14. 25 Mar, 2024 2 commits
    • Vladimir Fokow's avatar
      Fixes various typos in the documentation (#321) · a30d764d
      Vladimir Fokow authored
      ## Description
      
      This MR improves the documentation:
      
      - fix typo: "For completion" with "For completeness" 
      - fix typo: reset 
      - fix typo: blocks 
      - fix typo: remove "is"
      
      Fixes #302, #303, #304
      
      ## Type of change
      
      - This change requires a documentation update
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.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 `./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
      a30d764d
    • Shafeef Omar's avatar
      Fixes grid origins in TerrainImporter to match Isaac Sim cloner (#300) · cfcabbac
      Shafeef Omar authored
      The logic for grid cloning in Isaac Sim GridCloner (func:
      `get_clone_transforms()`) and in TerrainImporter.py (func:
      `_compute_env_origins_grid()`) are different. Consequently, they give
      inconsistent values.
      
      This PR fixes the TerrainImporter by updating the logic of
      `_compute_env_origins_grid()` to make it consistent with IsaacSim.
      
      Fixes #287
      
      - Bug fix (non-breaking change which fixes an issue)
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.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 run all the tests with `./orbit.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
      
      ---------
      Signed-off-by: 's avatarShafeef Omar <shafeef901@gmail.com>
      Co-authored-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      cfcabbac
  15. 23 Mar, 2024 1 commit