1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 17 Mar, 2024 1 commit
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 07 Mar, 2024 2 commits
  15. 06 Mar, 2024 2 commits
    • Hunter Hansen's avatar
      Adapts certain utils.math functions to process tensors of higher dimensions (#441) · c104ccdf
      Hunter Hansen authored
      # Description
      
      As reported in [this
      issue](https://github.com/NVIDIA-Omniverse/orbit/issues/252), we have a
      mismatch between the behavior described in the documentation and the
      actual behavior of `orbit.utils.math.axis_angle_from_quat`. We currently
      only accept tensors of the form (N,4), but this PR allows us to accept
      (...,4) as described. A corresponding change has been made to
      `orbit.utils.math.quat_error_magnitude` as it is a reasonable extension
      requested in the original issue.
      
      I have also added tests for these functions.
      
      ## 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
      - [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
      c104ccdf
    • Mayank Mittal's avatar
  16. 04 Mar, 2024 1 commit
    • David Hoeller's avatar
      Checks default joint states are configured within the limits (#439) · c86481bf
      David Hoeller authored
      # Description
      
      Adds checks that the default joint states are within the limits, and
      raises an Error for out-of-limit situations.
      
      ## 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
      - [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>
      c86481bf
  17. 01 Mar, 2024 2 commits
    • David Hoeller's avatar
      Fixes joint and body sub-indexing for observations and rewards (#434) · d682c8dd
      David Hoeller authored
      # Description
      
      Replaces the default values for `joint_ids` and `body_ids` from `None`
      to `slice(None)` in the `SceneEntityCfg` and adapted rewards and
      observations so that the user can query a sub-set of joints and 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
      - [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
      d682c8dd
    • Mayank Mittal's avatar
      Fixes docs building for the `orbit.envs` submodule (#438) · 8f1ba9aa
      Mayank Mittal authored
      # Description
      
      With recent upgrade to Python 3.10, the linter was forcing changing of
      types to use the new syntax that uses "|" operator.
      
      This means that the line in `base_env.py` was getting converted to this
      type as well:
      
      ```python
      # old
      VecEnvObs = Dict[str, torch.Tensor | Dict[str, torch.Tensor]]
      
      # new
      VecEnvObs = dict[str, torch.Tensor | dict[str, torch.Tensor]]
      ```
      
      Unfortunately, Pytorch does not support this type of alias yet. This
      leads to errors when building the documentation. The MR reverts to the
      old setting and disables `pyupgrade` linter check for that file
      (currently not possible to disable the linter for a line itself).
      
      Fixes #432
      
      ## 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
      - [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
      8f1ba9aa
  18. 29 Feb, 2024 2 commits
    • AutonomousHansen's avatar
      Drops support for Isaac Sim 2022.2.2 and earlier (#431) · 71c81cbf
      AutonomousHansen authored
      # Description
      
      Fully deprecates Isaac 2022.2 and Python3.7. Removes all
      checks/accommodations for 2022.2, defaults to 2023.1 behavior. Also
      changes `.env` to default to `ISAACSIM_VERSION` 2023.1.1.
      
      Fixes #393 
      
      ## 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`
      - [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
      
      <!--
      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 avatarAutonomousHansen <50837800+AutonomousHansen@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>
      71c81cbf
    • arbhardwaj98's avatar
      Implements relative and moving average joint position actions (#59) · 203cbefe
      arbhardwaj98 authored
      Added relative joint position actions and moving average joint actions.
      These are useful for "smoothened" out action spaces for environments
      such as in-hand manipulation.
      
      - New feature (non-breaking change which adds functionality)
      
      - [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>
      203cbefe