1. 29 Nov, 2023 1 commit
    • Mayank Mittal's avatar
      Fixes behavior of shutdown app on stop in SimulationContext (#254) · 7b0db156
      Mayank Mittal authored
      This MR fixes the behavior of
      `omni.isaac.orbit.sim.SimulationCfg.shutdown_app_on_stop` to not close
      the app when the flag is False. Earlier, it would throw an error
      (invalid physics handles) when the stop button was pressed in the GUI
      and the flag was False.
      
      - Bug fix (non-breaking change which fixes an issue)
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have 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
      7b0db156
  2. 28 Nov, 2023 1 commit
    • Mayank Mittal's avatar
      Adds reset for manager terms (#255) · 51f62922
      Mayank Mittal authored
      # Description
      
      Previously, while the manager classes supported "functional" class
      terms, they only implemented `__call__` attribute. However, more
      frequently, the class terms will keep some history in them which we
      would want to clear out.
      
      This MR introduces a `ManagerTerm` class for class terms which serves as
      a protocol for how manager terms that are classes should be implemented.
      The `ActionTerm` inherits from this `ManagerTerm`.
      
      ## 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 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
      51f62922
  3. 24 Nov, 2023 5 commits
    • Mayank Mittal's avatar
      Fixes resolution of indices inside the asset class (#251) · 84d41834
      Mayank Mittal authored
      # Description
      
      To resolve all environment indices, the previous implementation used
      `self._ALL_INDICES`. However, this is not broadcastable when tensors are
      indexed with two lists, for example:
      
      ```python
      import torch
      
      x = torch.zeros(100, 25)
      x[[0, 2, 3, 4], [1, 2, 3]]
      ```
      
      This MR fixes this bug (introduced in #248).
      
      ## 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 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
      84d41834
    • Pascal Roth's avatar
      Fixes drift initialization in `RayCasterCamera` class (#249) · c8067355
      Pascal Roth authored
      This MR fixes a bug in `RaycasterCamera` where the drift was not being
      initialized correctly.
      
      - Bug fix (non-breaking change which fixes an issue)
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have 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
      c8067355
    • Mayank Mittal's avatar
      Automates finding of root prims for the asset classes (#250) · 7c513475
      Mayank Mittal authored
      # Description
      
      Previously, the `Asset` classes assumed that the root prim existed at
      the spawn prim location. This means that when the robot is spawned at
      `/World/Robot`, the articulation root prim is also at `/World/Root`.
      However, this is not safe operation as many assets will have the root
      defined under the spawn location.
      
      The MR safely checks if there are prims under the spawn location that
      have the API defined for them. If they do, then it uses that prim path
      for initializing the views.
      
      ## 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
      - [ ] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      7c513475
    • David Hoeller's avatar
      Fixes write methods in asset classes (#248) · 77021de6
      David Hoeller authored
      # Description
      
      This MR makes a critical fix for the assets classes `reset` mechanism.
      Particularly, the `write_` methods for the physics handles.
      
      Before, the root and joint states were reset for all environments rather
      than the specific `env_ids` concerned with the reset. This caused
      instabilities in the dynamics, but it was not necessarily perceivable in
      environments with spread-out resets like ANYmal.
      
      ## 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 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
      77021de6
    • David Hoeller's avatar
      Add reach environment for Franka and UR10 (#244) · 0bde6fb2
      David Hoeller authored
      # Description
      
      This MR fixes the reach environment for end-effector pose tracking to
      the new structure. It adds support for two robots: Franka-Panda and
      UR10. The training works with 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`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Co-authored-by: 's avatarMayank Mittal <mittalma@leggedrobotics.com>
      0bde6fb2
  4. 17 Nov, 2023 3 commits
    • Pascal Roth's avatar
      Adds `reset` and `step` method to the BaseEnv class (#239) · 39f4e96e
      Pascal Roth authored
      # Description
      
      The current `omni.isaac.orbit.envs.BaseEnv` does not include the methods
      to `reset` and `step`, while the `RLTaskEnv` adds those functionalities.
      This PR unifies the structure of an `Env` and adds these core components
      to the `BaseEnv` as well.
      
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      - This change requires a documentation update
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Co-authored-by: 's avatarMayank Mittal <mittalma@leggedrobotics.com>
      39f4e96e
    • Mayank Mittal's avatar
      Changes initialize and invalidate handles to use timeline events (#245) · 849d9b41
      Mayank Mittal authored
      # Description
      
      This MR changes the `AssetBase` and `SensorBase` classes to use
      time-line events instead of physics events for initializing and
      invalidating physics-based handles. This is needed for cases where we
      have to wait for physics mesh cooking to finish before the handles are
      available.
      
      For instance, with the previous code, when trying to initialize the
      views for deformable objects, the following error happens:
      
      ```bash
      2023-11-11 00:18:06 [17,966ms] [Error] [omni.physx.plugin] Cuda context manager error, simulation will be stopped and new cuda context manager will be created.
      2023-11-11 00:18:06 [17,966ms] [Error] [omni.physx.plugin] PhysX error: SynchronizeStreams cuStreamWaitEvent failed with error 700
      , FILE /buildAgent/work/74336105e89c4a74/source/gpucommon/include/PxgCudaUtils.h, LINE 59
      2023-11-11 00:18:06 [17,966ms] [Error] [omni.physx.plugin] Cuda context manager error, simulation will be stopped and new cuda context manager will be created.
      2023-11-11 00:18:06 [17,967ms] [Error] [omni.physx.plugin] PhysX error: memcpy failed fail!
        700, FILE /buildAgent/work/74336105e89c4a74/source/gpunarrowphase/src/PxgNarrowphaseCore.cpp, LINE 1444
      2023-11-11 00:18:06 [17,967ms] [Error] [omni.physx.plugin] Cuda context manager error, simulation will be stopped and new cuda context manager will be created.
      2023-11-11 00:18:06 [17,967ms] [Error] [omni.physx.plugin] PhysX error: GPU clampMaxValues fail to launch kernel!!
      , FILE /buildAgent/work/74336105e89c4a74/source/gpusimulationcontroller/src/PxgSoftBodyCore.cpp, LINE 484
      2023-11-11 00:18:06 [17,967ms] [Error] [omni.physx.plugin] Cuda context manager error, simulation will be stopped and new cuda context manager will be created.
      2023-11-11 00:18:06 [17,968ms] [Error] [omni.physx.plugin] PhysX error: GPU sortSoftBodyContacts fail to launch kernel!!
      ```
      
      ## 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 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
      849d9b41
    • Mayank Mittal's avatar
      Fixes parsing of damping configuration in ActuatorBase (#247) · b8222335
      Mayank Mittal authored
      # Description
      
      Previously, there was a bug that was setting stiffness to damping values
      when configuration was passed as dictionaries. This MR fixes this issue.
      
      ## 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 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
      b8222335
  5. 16 Nov, 2023 2 commits
    • renezurbruegg's avatar
      Adds raising of errors when importing orbit_tasks package · 46f1d976
      renezurbruegg authored
      This MR adds raising of import errors in the `omni.isaac.orbit_tasks` package. Previously,
      these were getting caught and ignored which made debugging difficult.
      
      - 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
      - [ ] 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 avatarMayank Mittal <mittalma@leggedrobotics.com>
      46f1d976
    • renezurbruegg's avatar
      Fixes naming and shape issues in binary action commands (#25) · 4a6bd7d7
      renezurbruegg authored
      # Description
      
      This MR fixes naming and shape issues in binary action commands. Previously the action term was not working.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Screenshots
      
      ## 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
      4a6bd7d7
  6. 15 Nov, 2023 1 commit
    • renezurbruegg's avatar
      Fix action indexing in the action manager (#23) · f640376b
      renezurbruegg authored
      # Description
      
      Fixes action indexing for multiple actions. Currently all successive
      actions mimic the first one due to an indexing error.
      
      ## 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 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
      f640376b
  7. 11 Nov, 2023 1 commit
  8. 10 Nov, 2023 2 commits
    • Mayank Mittal's avatar
      Fixes SB-3 and RL-Games RL wrappers (#242) · 5d44141e
      Mayank Mittal authored
      # Description
      
      This MR goes over the current implementations of Stable-Baselines3 and
      RL-Games wrapper. It fixes the wrapper implementations as well as the
      checkpoint loader to work for the logging format of these wrappers.
      
      The changes have been tested against the `Isaac-Cartpole-v0` environment
      from MR #241.
      
      ## 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 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
      5d44141e
    • Mayank Mittal's avatar
      Simplifies the Articulation initialization by adding some other hacks (#243) · 13327b8a
      Mayank Mittal authored
      # Description
      
      Earlier we were copying the whole `ArticulationView.initialize()` method
      from Isaac Sim since it doesn't work with our initialization callback
      hooks. Since this was bulking up the code and requires us to keep
      duplicating their function, this MR replaces the current fix with some
      tricks that work in a less bulky way.
      
      Additionally, the MR fixes the property name `default_root_state_w` to
      `default_root_state` since the latter is more correct (environment
      origin instead of world origin).
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      - Breaking change (fix or feature that would cause existing
      functionality to not work as expected)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./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
      13327b8a
  9. 09 Nov, 2023 1 commit
    • Pascal Roth's avatar
      Fixes typo in the `body_view` reference in `RigidObject` (#240) · 39a3f8f9
      Pascal Roth authored
      This MR fixes a typo in `RigidObject` where for a rigid object, the private member `_body_view` is not defined (since it should be using the `root_view`). The fix changes the reference to be the public `body_view` property.
      
      - Bug fix (non-breaking change which fixes an issue)
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my feature works
      - [x] I have 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
      39a3f8f9
  10. 08 Nov, 2023 1 commit
    • renezurbruegg's avatar
      Fixes the dtype of the environment origins in Scene · 9198f42d
      renezurbruegg authored
      # Description
      
      Fixes the dtype of the environment origins when obtained from cloner to be `float32` instead of the `float64`.
      
      ## 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 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
      9198f42d
  11. 07 Nov, 2023 2 commits
    • Mayank Mittal's avatar
      Upgrades environments from Gym 0.21 to Gymnasium 0.29 (#234) · cd2c4f1d
      Mayank Mittal authored
      # Description
      
      Currently, we are downgrading many libraries to be able to use the Gym
      0.21.0 version. However, this is not great and is causing issues
      installing new Python packages, as highlighted in #204. It is becoming a
      more significant issue with Python 3.10 in Isaac Sim 2023.1.
      
      This MR upgrades the repository to use the Gymnasium Environment class.
      
      ## Type of Change
      
      - Bug fix (non-breaking change which fixes an issue)
      - Breaking change (fix or feature that would cause existing
      functionality to not work as expected)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./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
      
      ---------
      Signed-off-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      Co-authored-by: 's avatarDavid Hoeller <dhoeller@ethz.ch>
      cd2c4f1d
    • renezurbruegg's avatar
      Fixes FrameTransformer sensor visualization implementation (#15) · e5b43e96
      renezurbruegg authored
      # Description
      
      This MR fixes:
      - FrameTransformer crashing when `debug_vis` is set to true
      - Hard-coding of visualization configs inside the sensor implementation
      
      ## 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 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
      e5b43e96
  12. 06 Nov, 2023 1 commit
    • Mayank Mittal's avatar
      Fixes environment closing and tests for task implementations (#231) · ab3f3a36
      Mayank Mittal authored
      # Description
      
      This MR fixes the test scripts inside the `omni.isaac.orbit_tasks`
      extension. The tests were previously crashing since they weren't updated
      to latest changes in the core framework.
      
      Additionally, the tests helped in realizing that the environment did not
      close properly, i.e. some managers do not get destroyed properly and
      still hold references to certain scene entities. The MR now explicitly
      calls all `del` operators over all the managers to delete them in the
      right-order.
      
      ## 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 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 avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      ab3f3a36
  13. 03 Nov, 2023 3 commits
    • Mayank Mittal's avatar
      990f7bbc
    • Mayank Mittal's avatar
      47e4800d
    • Mayank Mittal's avatar
      Fixes the RuntimeError when using null command generator (#230) · c0afa8ab
      Mayank Mittal authored
      # Description
      
      The null-command generator class sets the resampling time as
      `(-math.inf, math.inf)`. However, on execution, the random ampler does
      not like this range and throws a RuntimeError as the operation becomes
      out of bounds for float.
      
      To deal with this issue, the MR just overrides all the functions of the
      base class and leaves them "empty".
      
      ## 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 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
      c0afa8ab
  14. 02 Nov, 2023 4 commits
    • Mayank Mittal's avatar
      Renames Gym Envs related extensions to Tasks (#228) · 3149af00
      Mayank Mittal authored
      # Description
      
      Since there is a lot of confusion and debate around what is a scene vs.
      environment vs. task, this MR makes it explicit that Gym/RL-related
      definitions are always called "tasks". Thus, the corresponding
      extensions are renamed from `orbit_envs` to `orbit_tasks`.
      
      Fixes #143
      
      ## 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`
      - [ ] 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
      3149af00
    • Mayank Mittal's avatar
      Modifies the project license and adds CONTRIBUTORS.md (#169) · 137f836d
      Mayank Mittal authored
      # Description
      
      This MR adds the `CONTRIBUTORS.md` file, which lists the following three
      categories:
      
      * **Developers**: Individuals or organizations that are actively
      maintaining and developing the project. They have "ownership" of the
      project.
      * **Contributors**: Individuals or organizations who are providing
      contributions to the project but are not directly involved in its maintenance.
      * **Acknowledgements**: Individuals or organizations who are involved in
      discussions but have not contributed through code to the project.
      
      All files henceforth use the copyright to the "ORBIT Project Developers"
      instead of individuals or organizations.
      
      When sending an MR, the user needs to add their name to this list. This
      is mandatory for license agreements and is meant to protect
      organizations.
      
      ## 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 updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      137f836d
    • Pascal Roth's avatar
      Adds raycasting-based camera implementation (#159) · 5c3fa70f
      Pascal Roth authored
      This MR adds the `RayCasterCamera` as a ray-cast-based camera for
      "distance_to_camera", "distance_to_image_plane" and "normals"
      annotations. It has the same interface and functionalities as the USD
      Camera wrapper, while it is, on average, 30% faster.
      
      Fixes #131
      
      - Bug fix (non-breaking change which fixes an issue)
      - New feature (non-breaking change which adds functionality)
      - This change requires a documentation update
      
      - [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 updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      
      ---------
      Signed-off-by: 's avatarPascal Roth <57946385+pascal-roth@users.noreply.github.com>
      Co-authored-by: 's avatarMayank Mittal <mittalma@leggedrobotics.com>
      5c3fa70f
    • Mayank Mittal's avatar
      Reorganizes configuration files for locomotion velocity environment (#220) · e7d43de3
      Mayank Mittal authored
      # Description
      
      This MR does the following:
      
      * Changes the way environment and agent configs are handled. These are
      now moved to their respective `env` folder.
      * Replaces YAML file with configclasses for rsl_rl library
      * Adds examples of other robots for locomotion-velocity task: anymal-b,
      unitree-a1, and anymal-d (placeholder)
      
      The new environment folder structure is as follows:
      
      ```
      my_task (folder)
         |- mdp  (folder where all user's task-specific terms are stored)
         |- config
             |- robot_name_1  (folder)
                  |- robot_specific_env_cfg.py
                  | agents (folder)
                      |- rsl_rl_cfg.py
                      |- sb3_cfg.py
                      |- ....
                  |- __init__.py (register robot-specific tasks)
             |- robot_name_2 (folder)  
         |- my_task_env_cfg.py (base env config)
         |- my_task_env.py (base env -- optional -- should normally use RLEnv)
      ```
      
      Fixes #142 
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      - Breaking change (fix or feature that would cause existing
      functionality to not work as expected)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] 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
      
      ---------
      Co-authored-by: 's avatarNikita Rudin <nrudin@nvidia.com>
      e7d43de3
  15. 01 Nov, 2023 3 commits
    • Mayank Mittal's avatar
      Fixes absolute paths in instanceable meshes with URDF Converter (#225) · a9b5df11
      Mayank Mittal authored
      # Description
      
      With at least Isaac Sim 2023.1 (not checked on 2022.2.1), the URDF
      importer from Isaac Sim seems to save the material paths as absolute
      when trying to save the asset in its instanceable format. The material
      paths are relative when the USD is generated as non-instanceable.
      
      This MR fixes this behavior by adding a post-processing step that
      iterates over the instanced mesh file and resolves all paths to become
      relative.
      
      You can use the tool by running the following:
      
      ```bash
      ./orbit.sh -p source/tools/convert_urdf.py ~/git/anymal_d_simple_description/urdf/anymal.urdf source/extensions/omni.isaac.orbit_assets/data/Robots/ANYbotics/ANYmalD/anymal_instanceable.usda --merge-joints --make-instanceable
      ```
      
      ## 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`
      - [ ] 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
      a9b5df11
    • Mayank Mittal's avatar
      Fixes ground color and setting of ground transformation (#224) · 72035785
      Mayank Mittal authored
      # Description
      
      This MR fixes the color of the ground in Orbit. It is now black since we
      like that color more.
      
      It also fixes the setting of the translation of the ground plane.
      Earlier, it was taking z height from the configuration. Instead, now it
      expects to get the full translation as an argument to its function. This
      is needed to make it consistent with interactive scene designing API.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      - Breaking change (fix or feature that would cause existing
      functionality to not work as expected)
      
      ## Screenshot
      
      
      ![new_ground](https://github.com/isaac-orbit/orbit/assets/12863862/8e729cb4-875f-476f-aa32-39cab38ad925)
      
      ## 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 updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      72035785
    • Mayank Mittal's avatar
      Changes default value in USD attribute setters and fixes tests (#219) · 552f162c
      Mayank Mittal authored
      # Description
      
      This MR does the following:
      * Removes the default value for argument `camel_case` in the USD setter
      functions. This was causing confusion when reading code.
      * Fixed the UI behavior that material was getting selected on spawning
      * Fixed the unit tests under `sim`
      
      ## 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 updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      552f162c
  16. 31 Oct, 2023 1 commit
  17. 28 Oct, 2023 2 commits
    • Mayank Mittal's avatar
      Puts all environment-related scripts in inference mode (#215) · 73f26f6b
      Mayank Mittal authored
      # Description
      
      When having agent-environment interaction, it is important to ensure
      that PyTorch constructs no computational graph. Otherwise, it will keep
      allocating memory for gradients and result in out-of-memory error.
      
      This MR wraps all scripts with `torch.inference_mode()` to prevent this
      issue.
      
      ## 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 updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      73f26f6b
    • Mayank Mittal's avatar
      Separates out the UI window from RLEnv class (#214) · 34f8b443
      Mayank Mittal authored
      # Description
      
      This MR implements a long-awaited feature of separating out the UI and
      UI-related operations outside the environment class.
      
      The user can also set the UI window class themselves through the
      configuration. This makes the UI window modular and provides more
      freedom for future additions.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Screenshots
      
      Also updated the GUI with various functionalities. This was kind of the
      motivation to separate out the UI into a different window.
      
      
      ![new-gui](https://github.com/isaac-orbit/orbit/assets/12863862/813bc39f-a968-4222-a1d9-d5c4df72653d)
      
      ## 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 updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      
      ---------
      Signed-off-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      Co-authored-by: 's avatarDavid Hoeller <dhoeller@ethz.ch>
      34f8b443
  18. 27 Oct, 2023 6 commits
    • Mayank Mittal's avatar
      Modifies behavior of debug visualization for better UI experience (#208) · 571189b1
      Mayank Mittal authored
      # Description
      
      Earlier the UI was disabling buttons for which the config object set
      `debug_vis` flag as False. This wasn't an elegant behavior as users may
      want to enable the visualization from the GUI at runtime. This MR
      modifies the behavior of all classes that provide debug visualization to
      support this behavior.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./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 updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      571189b1
    • Mayank Mittal's avatar
      Fixes typo in constructor for physics events (#217) · 6ae3c3fb
      Mayank Mittal authored
      # Description
      
      This MR fixes a bug introduced in #207 which was assigning tuples to the
      `invalidate_handle` member in `AssetBase` and `SensorBase`.
      
      ## 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
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      6ae3c3fb
    • Pascal Roth's avatar
      Fixes using strings for shapes in `MeshRepeatedObjectsTerrainCfg` (#213) · bac97356
      Pascal Roth authored
      # Description
      
      Meshes such as "box", "cylinder" and "cone" are defined in
      `omni.isaac.orbit.terrains.trimesh.utils.py` and can be used in configs
      such as
      [here](https://github.com/isaac-orbit/orbit/blob/17fc724de7386c919f6f0367980c1d8e9855c446/extensions/omni.isaac.orbit/omni/isaac/orbit/terrains/trimesh/mesh_terrains_cfg.py#L187).
      In the example, their definition as a string is allowed but as they are
      not explicitly imported, the general statement cannot capture the
      missing functions. This PR makes sure that all mesh helper functions in
      `utils.py` are imported and that the string format can be used.
      
      ## 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 updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      bac97356
    • Mayank Mittal's avatar
      Makes BaseEnv and RLEnv consistent with desired definitions (#197) · 447aa318
      Mayank Mittal authored
      # Description
      
      As discussed in the past, the `BaseEnv` should only contain an
      observation-action interface, while `RlEnv` should contain also the
      task-specific interface. Based on this, the MR introduces the following
      changes:
      
      * Moves randomization manager to the `BaseEnv` class with the default
      settings to reset the scene to the defaults specified in the
      configurations of assets.
      * Moves command generator to `RlEnv` class
      * Adds a `NullCommandGenerator` for no command environments: This is
      easier to work with than having checks for None.
      
      ## 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 updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      
      ---------
      Signed-off-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      Co-authored-by: 's avatarjsmith-bdai <142246516+jsmith-bdai@users.noreply.github.com>
      447aa318
    • Mayank Mittal's avatar
      Updates pre-commit to latest hooks (#212) · 97d684c3
      Mayank Mittal authored
      # Description
      
      Updates pre-commit to latest hooks to deal with flake8 upgrades.
      
      ## 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 updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      97d684c3
    • AutonomousHansen's avatar
      Fix broken bash version evaluation in Dockerfile (#211) · 81fa26d1
      AutonomousHansen authored
      # Description
      
      Tiny PR to fix bash evaluation of ISAACSIM_VERSION in Dockerfile.
      Before, it would fail and streaming from Isaac2022.2.1 would fail.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      81fa26d1