1. 12 Apr, 2024 1 commit
    • 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 17 Mar, 2024 1 commit
  12. 16 Mar, 2024 2 commits
    • 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
    • Mayank Mittal's avatar
      Changes link names ordering in articulation to follow PhysX (#454) · e3c40acf
      Mayank Mittal authored
      # Description
      
      This MR fixes an issue with the `Articulation` class. The indexing of
      body names inside the articulation view is not the same as in the body
      view. This affects any quantity of bodies (such as Jacobians) you try to
      get directly from the articulation view.
      
      The MR changes the `Articulation` class to follow the internal PhysX
      articulation-view ordering of the link names. It deals internally with
      re-ordering the articulation-link indices to body-view indices where
      needed.
      
      With this change, users no longer need to work with `body_physx_view` as
      it will lead to unexpected behaviors. The MR removes this property from
      the `RigidObject` and `Articulation` class.
      
      Fixes #453
      
      ## 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
      e3c40acf
  13. 15 Mar, 2024 1 commit
    • Mayank Mittal's avatar
      Removes `compat` submodule from orbit (#455) · e682605e
      Mayank Mittal authored
      # Description
      
      This MR removes `compat` submodule since we don't use/need it anymore.
      
      ## Type of change
      
      - 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`
      - [ ] 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
      e682605e
  14. 13 Mar, 2024 2 commits
    • James Smith's avatar
      Expands on unit test for rigid object asset class (#379) · cb78f892
      James Smith authored
      # Description
      We want to expand our test coverage, so this PR aims to increase
      coverage of rigid object.
      
      This PR ensures the following test cases are covered by unit tests for
      rigid_object.py:
      * external forces are applied correctly
      * friction/mass/collider offsets randomization works correctly
      * setting states work correctly
      * reset works correctly
      
      All test cases pass 👍 
      
      Note: I wasn't able to find `collider offsets` in the code base but
      happy to add a test for this too if someone can point me in the right
      direction.
      
      Fixes #363 
      
      ## 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
      
      <!--
      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 avatarjsmith-bdai <142246516+jsmith-bdai@users.noreply.github.com>
      Signed-off-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarAutonomousHansen <50837800+AutonomousHansen@users.noreply.github.com>
      Co-authored-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      cb78f892
    • Hunter Hansen's avatar
      Fixes camera sensor for Isaac Sim 2023.1 update (#333) · 8dea21a8
      Hunter Hansen authored
      # Description
      
      The camera sensor no longer worked for semantic types with Isaac Sim
      2023.1 update. This was because of various Replicator pipeline changes
      that directly affected the camera.
      
      This MR fixed the Camera sensor for the new Replicator APIs. It has a
      few breaking changes listed in the changelog.
      
      Additionally, the sensor tutorial `run_usd_camera.py` had a couple of
      issues. It still used the old method of directly creating RigidPrims,
      NVIDIA debug API for drawing markers, and had some bugs. This MR also
      updates it to use Orbit's APIs closely and adds an option to specify
      which camera to use for `--save` and `--draw`.
      
      Fixes https://github.com/NVIDIA-Omniverse/orbit/issues/225
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      - 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 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 avatarAutonomousHansen <50837800+AutonomousHansen@users.noreply.github.com>
      Co-authored-by: 's avatarMayank Mittal <mittalma@leggedrobotics.com>
      8dea21a8
  15. 12 Mar, 2024 3 commits
    • Mayank Mittal's avatar
      Adapts terms to deal with slice values for SceneEntityCfg.body_ids (#447) · e444df7d
      Mayank Mittal authored
      # Description
      
      With commit d682c8dd, the code stopped working. Somehow, the tests did not
      catch the issue, but it shows up when you run the workflows. Anyway, this
      MR makes the fix necessary to deal with slices.
      
      Fixes https://github.com/NVIDIA-Omniverse/orbit/issues/277 ,
      https://github.com/NVIDIA-Omniverse/orbit/issues/276
      
      ## 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
      e444df7d
    • Mayank Mittal's avatar
      Simplifies running of scripts and unit-tests (#448) · 51413145
      Mayank Mittal authored
      # Description
      
      With Isaac Sim 2023.1, it seems we no longer need to have try-catch
      blocks in the scripts. This allows us to simplify all the scripts and
      test runners. Along with that, it enables VSCode debugger support which
      is crucial for many developers.
      
      ## 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
      - [ ] 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
      51413145
    • Mayank Mittal's avatar
      Adds signal interrupt handle to AppLauncher (#446) · b95d6f3f
      Mayank Mittal authored
      # Description
      
      Somehow, when running the app headless, the script does not exit
      properly when you press `Ctrl+C`. This MR adds a signal interrupt
      handler to close the app gracefully when keyboard events happen.
      
      ## 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
      b95d6f3f
  16. 11 Mar, 2024 2 commits
    • arbhardwaj98's avatar
      Adds new MDP observation, randomization and reward terms (#60) · 1a42eb97
      arbhardwaj98 authored
      # Description
      
      This MR adds the following:
      
      1. Observations: Adds observations for root state (pos, quat, linear
      vel, and angular vel) in the environment frame. Important for assets
      such as objects during manipulation.
      
      2. Randomizations: Adds random orientation randomization for assets
      (such as objects) and joint position randomization for articulations.
      
      3. Rewards: Adds a termination reward function for specific termination
      terms. Needed if terminations are to be weighted individually, for eg,
      if successful termination reward should have a different weighting
      factor than illegal state termination reward.
      
      Tested for functionality.
      
      ## 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
      1a42eb97
    • Mayank Mittal's avatar
      Adds Franka cabinet opening environment from IsaacGymEnvs (#44) · e7506fea
      Mayank Mittal authored
      # Description
      
      This MR adds the cabinet environment from IsaacGymEnvs. The training is
      checked for RSL-RL and RL-Games
      
      ## 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 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 avatarzrene <rene.zurbruegg@gmail.com>
      e7506fea
  17. 09 Mar, 2024 3 commits
    • Nikita Rudin's avatar
      Adds method to get a specific term from the action manager (#427) · 2dc138a5
      Nikita Rudin authored
      # Description
      
      Added option to get specific term by name from the action manager.
      
      ## 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
      2dc138a5
    • Mayank Mittal's avatar
      61c4fd9d
    • Nikita Rudin's avatar
      Adds terrain-based 2D-pose command and reset (#424) · c7f42931
      Nikita Rudin authored
      # Description
      
      * Added functionality to sample flat patches on a generated terrain.
      Added separate normal and terrain-based position commands. Terrain-based
      commands rely on the terrain to sample flat patches.
      * Added a terrain-based root reset function to reset the robot to a
      random flat patch.
      
      The MR includes the following fixes:
      
      * Fixed command resample termination function.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      - New feature (non-breaking change which adds functionality)
      - This change requires a documentation update
      
      ## Screenshots
      
      ![poses](https://github.com/isaac-orbit/orbit/assets/12863862/678d3cde-63da-4c57-8aae-4c84440f55e3)
      
      ## 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
      
      ---------
      Co-authored-by: 's avatarMayank Mittal <mittalma@leggedrobotics.com>
      c7f42931