1. 17 Apr, 2024 3 commits
    • 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 23 Mar, 2024 5 commits
    • Mayank Mittal's avatar
      Runs pre-commit formatter over the code · c87ffea0
      Mayank Mittal authored
      c87ffea0
    • Kyle Morgenstein's avatar
      Fixes apply actions method in the `NonHolonomicAction` action term class (#317) · dcc33a26
      Kyle Morgenstein authored
      # Description
      
      in `NonHolonomicAction.apply_actions()` the velocity command was
      incorrectly named `self.joint_vel` instead of `self._joint_vel_command`
      as initialized in `NonHolonomicAction.__init__()`. This causes an error
      when trying to instantiate the action config. I have corrected
      and tested that it works.
      
      ## 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
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      dcc33a26
    • fyu-bdai's avatar
      Moves InteractiveScene entities from class to instance variables (#466) · 39ce5ac4
      fyu-bdai authored
      # Description
      
      <!--
      Thank you for your interest in sending a pull request. Please make sure
      to check the contribution guidelines.
      
      Link: https://isaac-orbit.github.io/orbit/source/refs/contributing.html
      -->
      
      Currently, InteractiveScene declares several of its entities
      (articulation, sensor, and rigid bodies) as class variables. This causes
      the variables to be shared across **all** instances of the class, which
      is not desired behavior if there is ever a case when `InteractiveScene`
      is used more than once.
      
      This fix changes the following: 
      
      1. All class variables in `InteractiveScene` defined above the
      constructor is now moved inside the constructor as instance variables.
      2. Adds `@property` getters to access the entities. 
      3. Rolls back the fix introduced in #380, which changes the `__del__`
      magic method to clear out the class variables that persisted, but ended
      up breaking #464.
      
      Fixes #465 
      
      <!-- As a practice, it is recommended to open an issue to have
      discussions on the proposed pull request.
      This makes it easier for the community to keep track of what is being
      developed or added, and if a given feature
      is demanded by more than one party. -->
      
      ## 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`
      - [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
      
      <!--
      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
      -->
      39ce5ac4
    • Leul Tesfaye's avatar
      Fixes unused `keep_invalid` arg in `create_pointcloud_from_depth` method (#320) · ba836722
      Leul Tesfaye authored
      # Description
      
      This is a simple fix of unused parameter in
      omni/isaac/orbit./sensors/camera/utils.py
      
      The parameter `keep_invalid` was not used and, by default, only returns
      valid points, which causes an issue when trying to do an RGB-D image to
      point cloud cconversion. This leads to an array size mismatch if depth
      has inf or nan.
      
      ## 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
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      ba836722
    • Mayank Mittal's avatar
      Fixes resolving of material paths when using URDF converter (#468) · 492beb04
      Mayank Mittal authored
      # Description
      
      With Isaac Sim 2023.1.1, the main asset file stores all the meshes as
      well (even for instanceable case) when using the URDF improter. However,
      the referenced paths to materials are absolute which does not allow
      moving the asset around freely. This MR adds a fix to make sure all
      paths are relative in the converted USD file.
      
      ## 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
      492beb04
  11. 22 Mar, 2024 2 commits
    • Hunter Hansen's avatar
      Adds ROS2 Humble to Dockerfile (#443) · 95a4927c
      Hunter Hansen authored
      # Description
      
      This adds a ROS2 Humble installation to the Dockerfile. It also adds
      several relevant environment variables.
      
      ## 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
      - [ ] 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 avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
      95a4927c
    • James Smith's avatar
      Fixes imitation learning workflow for lift environment (#451) · 83d62e21
      James Smith authored
      # Description
      
      This PR fixes the imitation learning workflow in that
      `collect_demonstrations`, `train` and `play` scripts all don't throw
      exceptions. I haven't validated that the training actually generates a
      successful policy, only that the loss decreased within the first few
      iterations.
      
      A follow up task might be to make sure that the chosen observation terms
      can still result in a good policy, but that's outside of the scope of
      updating this workflow to API changes in Orbit and Robomimic.
      
      Fixes #387 
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Screenshot
      
      ## 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
      
      ---------
      Signed-off-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      83d62e21
  12. 20 Mar, 2024 2 commits
    • Pascal Roth's avatar
      Renames `RandomizationManager` to `EventManager` (#460) · 40e4591f
      Pascal Roth authored
      # Description
      
      Renames the `RandomizationManager` to `EventManager` for clarity as the
      manager takes care of all kind of events that go beyond pure
      randomization (such as resets).
      
      Fixes #413
      
      ## 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
      `./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
      40e4591f
    • Mayank Mittal's avatar
      Adds pre-commit for checking files larger than 2 MB (#463) · 8453d7e1
      Mayank Mittal authored
      # Description
      
      Many users in a single organization mistakenly push large files to the
      repository. However, they should be using Git LFS for such purposes.
      This MR adds a pre-commit check to complain if a file is more than 2 MB.
      
      It also upgrades pre-commit for all. This is needed due to some
      [security reasons with black
      formatter](https://github.com/psf/black/releases/tag/24.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`
      - [ ] 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
      8453d7e1
  13. 19 Mar, 2024 1 commit
    • James Smith's avatar
      Makes test for the null command term headless (#462) · f6ec7e21
      James Smith authored
      # Description
      
      I noticed this test was failing when running in a container, because it
      was not set to run in `headless` mode.
      
      ## 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
      f6ec7e21
  14. 17 Mar, 2024 1 commit
  15. 16 Mar, 2024 1 commit
    • Mayank Mittal's avatar
      Adds allegro and shadow hand asset configurations (#392) · 475b3f79
      Mayank Mittal authored
      # Description
      
      This MR adds configuration for allegro and shadow hands. The shadow hand
      asset is a bit tricky because it has fixed tendons and the joints need
      the drive properties.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Screenshots
      
      The following script moves the hand from their lower to upper joint
      limits (simulate a power grasp and release motion):
      
      ```bash
      ./orbit.sh -p source/standalone/demos/hands.py
      ```
      
      
      https://github.com/isaac-orbit/orbit/assets/12863862/e0e5df7b-e049-407f-9f40-c24958a1faa3
      
      ## 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
      475b3f79