1. 04 Jun, 2024 3 commits
    • Farbod Farshidian's avatar
      Removes hardcoded paths in docker compose (#454) · ab3a126a
      Farbod Farshidian authored
      Removes hardcoded IsaacLab folder path in docker compose.
      
      ## Type of change
      
      - Bug fix
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.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 `./isaaclab.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
      ab3a126a
    • Farbod Farshidian's avatar
      Adds the Spot locomotion environment (#450) · 55745eb3
      Farbod Farshidian authored
      Adds the training task for the Spot robot.  
      
      
      ## Type of change
      
      - New feature
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.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 `./isaaclab.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
      55745eb3
    • Brimo's avatar
      Fixes Isaac Sim path in installation guide (#452) · 4ed26b9c
      Brimo authored
      Fixed the path issue during the export IsaacSim 4.0 location path. 
      After installing the new IsaacSim 4.0 it creates a folder with
      isaac-sim-4.0.0 name by default.
      
      Fixes https://github.com/isaac-sim/IsaacLab/issues/448
      
      ## 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
      `./isaaclab.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 `./isaaclab.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
      4ed26b9c
  2. 02 Jun, 2024 2 commits
    • David Hoeller's avatar
      Updates code to Isaac Lab release (#444) · 3ad18a8e
      David Hoeller authored
      Updates code to Isaac Lab release
      
      ## Type of change
      
      - New feature
      - Breaking change
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./isaaclab.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 `./isaaclab.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
      3ad18a8e
    • David Hoeller's avatar
      Adds CI hooks (#445) · c1b17b31
      David Hoeller authored
      Adds CI hooks
      c1b17b31
  3. 01 Jun, 2024 1 commit
    • David Hoeller's avatar
      Renames the project to Isaac Lab (#443) · ccfb84dc
      David Hoeller authored
      # Description
      
      Renames the project to Isaac Lab:
      - All the references to Orbit have been renamed to Isaac Lab
      - The script `orbit.sh` has been renamed to `isaaclab.sh`
      - `omni.isaac.orbit` has been renamed to `omni.isaac.lab`
      - `omni.isaac.orbit_tasks` has been renamed to `omni.isaac.lab_tasks`
      - `omni.isaac.orbit_assets` has been renamed to `omni.isaac.lab_assets`
      
      ## Type of change
      
      - Breaking change
      
      ## 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
      ccfb84dc
  4. 31 May, 2024 3 commits
    • Nemantor's avatar
      Fixes RSL-RL ONNX exporter for empirical normalization (#78) · 7af7aa82
      Nemantor authored
      The current onnx exporter does not export the empirical normalization
      layer. This MR adds the empirical normalization exporting to the JIT
      and ONNX exporters for RSL-RL.
      
      - 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] 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
      (some did timeout)
      - [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
      
      ---------
      Co-authored-by: 's avatarMayank Mittal <mittalma@leggedrobotics.com>
      7af7aa82
    • Matt Mazzola's avatar
      Fixes broken link to Allegro Hand environment in the docs (#419) · 90f6fb10
      Matt Mazzola authored
      # Description
      
      The link to Allegro Hand Environment is broken in the documentation and
      is incorrect. This MR fixes the link.
      
      Fixes #418 
      
      ## Type of change
      
      - This change requires a documentation update
      
      ## Screenshots
      
      No, visual change, but link now works!
      
      ## 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
      - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      90f6fb10
    • Muhong Guo's avatar
      Restricts the protobuf version to <5.0.0 in setup.py (#413) · 71989e70
      Muhong Guo authored
      # Description
      
      Restricts the protobuf version to <5.0.0 in setup.py and closes
      https://github.com/NVIDIA-Omniverse/orbit/issues/412
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Screenshots
      
      | Before | After |
      | ------ | ----- |
      |
      ![image](https://github.com/NVIDIA-Omniverse/orbit/assets/17403324/cc41ae19-a22c-472b-8ab8-aa21d2b0b55d)
      |
      ![image](https://github.com/NVIDIA-Omniverse/orbit/assets/17403324/eabf360b-5205-4eb6-a6ca-9403a94ad6d5)
      |
      
      
      ## 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
      71989e70
  5. 22 May, 2024 1 commit
    • fyu-bdai's avatar
      Fixes loading of ContactSensor when using it in an extension (#529) · 1928161b
      fyu-bdai authored
      # Description
      
      This MR initializes `self._body_physx_view = None` in the init method of the
      `ContactSensor` class.
      
      This is needed to use ContactSensors with `debug_vis=True` while running
      Orbit as an extension, such as EvalSim.
      
      Currently, `ContactSensor._initialize_impl` initializes and sets the
      value of `self._body_physx_view`. However, when running in extension
      mode, `ContactSensor._initialize_impl` is called _after_
      `ContactSensor._debug_vis_callback`, which causes an error to appear
      upon loading an environment because `ContactSensor._debug_vis_callback`
      references `self._body_physx_view` that have not been initialized.
      
      With `self._body_physx_vew` initialized to None in the init method of
      `ContactSensor`, it allows `ContactSensor._debug_vis_callback` to be
      safely called before `ContactSensor._initialize_impl`.
      
      ## 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
      1928161b
  6. 20 May, 2024 1 commit
    • Hunter Hansen's avatar
      Fixes configclass shared references to keep compound objects independent... · 2dfc463a
      Hunter Hansen authored
      Fixes configclass shared references to keep compound objects independent across subclass instances (#528)
      
      # Description
      
      There is currently an issue with `configclass.py`'s function
      `_return_f`, which produces `default_factory` functions for
      `configclass` classes.
      
      `configclass` instances which have member variables that are compound
      objects, (such as `BaseEnvCfg` and its member `SimulationCfg`) currently
      share a reference to a common members (in the example of `BaseEnvCfg`,
      its inheriting classes would share a common reference to `self.sim.dt`)
      
      When such classes are inherited, compound objects which have their
      member variables changed in the __post_init__ function will be changed
      for all subclass instances. I have solved this by changing the non-field
      return to be a `deepcopy`
      
      The issue was observed in orbit.eval_sim and was reported this way on
      the Institute's JIRA:
      > EvalSim will hold the Environment parameters that are set from the
      first environment that is loaded in unless it is otherwise explicitly
      overridden in the post init or reset EnvCfg member fields by the next
      environment.
      > 
      > Example: 
      >
      >If EnvironmentCfg A gets loaded first and sets sim.dt = 0.1 followed by
      loading EnvironmentCfg B, then Environment B will get the sim.dt set in
      Environment A if it does not explicitly set sim.dt in the post_init. Any
      fields defined inside BaseEnvCfg that are not redefined inside the Cfg
      inheriting BaseEnvCfg will take after the configuration set in the first
      environment that gets loaded.
      
      I have added a condition to the test
      `test_configclass.test_config_inheritance` which tests this value. Those
      wishing to demonstrate that this issue exists can simply change the line
      in `configclass.py` back to an assignment and observe the test failing.
      
      ## 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
      
      ---------
      Signed-off-by: 's avatarHunter Hansen <50837800+hhansen-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
      2dfc463a
  7. 17 May, 2024 1 commit
    • jtigue-bdai's avatar
      Adds initial test for BaseEnv (#494) · c611d789
      jtigue-bdai authored
      BaseEnv currently is missing unit tests. To address this problem a
      initial test class is create using the unittest framework. This test
      checks the initialization of an empty BaseEnv for both cpu and cuda
      devices. It also checks for proper dimension of action and observation
      manager terms.
      
      Finally this adds James Tigue to the contributor list.
      
      - Adds Unit Test
      
      - [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
      c611d789
  8. 13 May, 2024 1 commit
    • Lorenz Wellhausen's avatar
      Allows setting USD variants when loading prim from USD file (#402) · 88cf9cda
      Lorenz Wellhausen authored
      # Description
      
      This PR introduces a `variants` attribute in the `UsdFileCfg` which can
      be used to set different variants when loading an asset from a USD file.
      
      - New function `set_usd_variants` which applies variant sets to a prim
      - New, optional `variants` attribute in the `UsdFileCfg` to specify the
      attributes to be set
      - Add variant setting in the `_spawn_from_usd_file` function
      
      Fixes #401
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have run all the tests with `./orbit.sh --test` and they pass
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      88cf9cda
  9. 08 May, 2024 1 commit
    • Hunter Hansen's avatar
      Fixes typo in Dockerfile.base (#525) · 0753e220
      Hunter Hansen authored
      # Description
      
      Fixes typo introduced to Dockerfile.base which created wrong directory
      
      ## 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
      0753e220
  10. 06 May, 2024 1 commit
    • Hunter Hansen's avatar
      Adds dependency installation procedure to `./orbit.sh` (#514) · 53262a98
      Hunter Hansen authored
      # Description
      
      ~Adds a new package `orbit_hooks` to `/orbit/docker/orbit_hooks`. This
      is a small library of `setuptools.Command` child classes, built at the
      beginning of `Dockerfile.base`. They can be referenced in the `setup.py`
      of extensions which want hooks, such as ROS or apt packages installed at
      Dockerfile build time.~
      
      ~The currently existing hooks are `InstallAptDeps` and `InstallRosDeps`.
      These will automatically perform certain installation processes:~
      
      ~`InstallAptDeps` looks in the extension's `extension.toml` for an
      `orbit_hooks` `apt_deps` list, which will be installed during the
      `Dockerfile.base` build procedure.~
      
      ~`InstallRosDeps` looks in the extension's `extension.toml` for an
      `orbit_hooks` `ros_ws` path. In building `Dockerfile.ros2`, we will
      perform a `rosdep` installation of any dependencies in ros packages
      beneath `ros_ws`.~
      
      ~Additionally, I have added the script `check_and_install_deps.py`,
      which scans all subdirs in `orbit/source/extensions` for the existence
      of certain setup.py cmdclasses (`install_apt_deps`,`install_ros_deps`)
      and calls them if they exist.~
      
      ~For an extension to make use of this optional install procedure, they
      will need to `import orbit_hooks` in their `setup.py` the relevant
      command class dict (`INSTALL_ALL_DEPS`, `INSTALL_APT_DEPS`,
      `INSTALL_ROS_DEPS`) and to have the corresponding values in their
      `extension.toml`. For an example, [this
      PR](https://github.com/bdaiinstitute/orbit.eval_sim/pull/36) has the
      related modifications to its `extension.toml` and its `setup.py`.~
      
      **Update**:
      Adds a new script `/tools/install_deps.py` which has commands for
      installing ros and apt dependencies in extensions via options set in the
      `extension.toml`.
      
      `install_apt_packages` looks in the extension's `extension.toml` for an
      `orbit_settings` `apt_deps` list, which will be installed during the
      `Dockerfile.base` build procedure.
      
      `install_rosdep_packages` looks in the extension's `extension.toml` for
      an `orbit_settings` `ros_ws` path. In building `Dockerfile.ros2`, we
      will perform a `rosdep` installation of any dependencies in ros packages
      beneath `ros_ws`.
      
      Added section about this in `developers.rst`, as well as reference to it
      in the this [draft
      PR](https://github.com/isaac-orbit/orbit.ext_template/pull/18) for
      `orbit.ext_template`
      
      ## 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>
      53262a98
  11. 01 May, 2024 1 commit
  12. 27 Apr, 2024 1 commit
    • Mayank Mittal's avatar
      Fixes parsing of filter prim path expressions in ContactSensor (#385) · 17d781ce
      Mayank Mittal authored
      PhysX view classes expect the expressions to be in "Glob" format instead
      of "Regex". While we did this conversion for the body views, it was
      missing for the filter prim paths expressions. This MR fixes this issue.
      
      Fixes https://github.com/NVIDIA-Omniverse/orbit/issues/364
      
      - 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
      - [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
      17d781ce
  13. 26 Apr, 2024 3 commits
    • Muhong Guo's avatar
      Fixes type-hinting for articulation properties in `from_files_cfg.py` (#384) · 440c57b4
      Muhong Guo authored
      # Description
      
      The declaration of `ArticulationPropertiesCfg` is not found in orbit. I
      guess it should be `ArticulationRootPropertiesCfg`. This MR fixes the
      typing.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have run all the tests with `./orbit.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      440c57b4
    • Muhong Guo's avatar
      Removes duplicated cassie configuration in core extension (#383) · 27580dc4
      Muhong Guo authored
      # Description
      
      The `cassie.py` under the `omni.isaac.orbit` extension looks duplicated
      with the one under `omni.isaac.orbit_assets`, and after a search in the
      folder, I found that it's not being used or referenced at all. This MR
      removes it to avoid potential confusion.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have run all the tests with `./orbit.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      27580dc4
    • Mayank Mittal's avatar
      Adds `fix_root_link` attribute to ArticulationRootPropertiesCfg (#517) · 2ae4b2d8
      Mayank Mittal authored
      # Description
      
      This MR adds an attribute to fix the root link of an articulation. It
      also fixes the docstrings to mention how to fix a rigid body in the
      scene.
      
      Fixes https://github.com/NVIDIA-Omniverse/orbit/issues/181,
      https://github.com/NVIDIA-Omniverse/orbit/issues/365
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have run all the tests with `./orbit.sh --test` and they pass
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      2ae4b2d8
  14. 24 Apr, 2024 1 commit
    • Hunter Hansen's avatar
      Adds X11 setup checks (#516) · 0f52eaa7
      Hunter Hansen authored
      # Description
      Added a check that the tmp.xauth file exists on the host when setting
      up, or else replace it. This makes the x11 procedure robust to
      accidental shutdowns/unintentional modifications to .container.yaml.
      Shoutout @jtigue-bdai for uncovering this flaw!
      
      ## Type of change
      
      <!-- As you go through the list, delete the ones that are not
      applicable. -->
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have run all the tests with `./orbit.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      0f52eaa7
  15. 23 Apr, 2024 1 commit
    • Özhan Özen's avatar
      Changes 'unalias' to 'unset' inside `setup_conda_env` in orbit.sh (#378) · 7cc56c3e
      Özhan Özen authored
      The line `'unalias ORBIT_PATH &>/dev/null'` inside `setup_conda_env()`
      prevents `orbit.sh --conda` to successfully exit. The "`unset`" command
      rather than "`unalias`" should be used for environment variables (e.g.,
      `ORBIT_PATH`). This is a problem, e.g., when a custom dockerfile is used
      to directly install conda during the image build process: the image
      build process is interrupted.
      
      Fixes #377
      
      - Bug fix (non-breaking change which fixes an issue)
      
      Before:
      
      https://github.com/NVIDIA-Omniverse/orbit/blob/a642b8e32cf07efa11a583e8db3680d971922e1e/orbit.sh#L148
      After:
      `'unset ORBIT_PATH' \`
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have run all the tests with `./orbit.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      7cc56c3e
  16. 20 Apr, 2024 1 commit
    • Hunter Hansen's avatar
      Removes breaking typo from container.sh (#512) · a642b8e3
      Hunter Hansen authored
      # Description
      
      Removes a typo which causes `container.sh` to fail
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have run all the tests with `./orbit.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      a642b8e3
  17. 18 Apr, 2024 4 commits
    • Mayank Mittal's avatar
      Updates versioning of the framework to v0.3 release (#507) · f71340eb
      Mayank Mittal authored
      # Description
      
      This MR updates the docs for versioning of the framework to 0.3.0.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have run all the tests with `./orbit.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      f71340eb
    • Mayank Mittal's avatar
      63f585fc
    • Mayank Mittal's avatar
      Adds dexterous cube manipulation environment for Allegro hand (#499) · 78692be5
      Mayank Mittal authored
      # Description
      
      This MR adds the dexterous cube manipulation environment from
      IsaacGymEnvs. The implementation is mostly based on the standard
      AllegroHand environment. However, it includes the following components
      from the Dextreme work:
      
      * Randomization of mass, joint PD gains, friction, and initial state
      distribution
      * Tuning of RL-Games from Dextreme work
      * Exponential moving average (bounded joint position) action term
      
      However, it does the following differently since it led to better
      convergence:
      
      * Changes the way out-of-reach termination is computed. Original work
      seems to do it w.r.t. the goal position, but that seems unnecessary
      * Removed goal position racking reward. It was tuned too high, which
      made learning difficult and is not needed
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Screenshots
      
      Trained with RSL-RL
      
      
      https://github.com/isaac-orbit/orbit/assets/12863862/8f51e468-2d93-4520-9689-f1e8f1a898e6
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [ ] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have run all the tests with `./orbit.sh --test` and they pass
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      78692be5
    • Mayank Mittal's avatar
      Adds unit test to check all pre-included asset configs work as expected (#511) · b1781712
      Mayank Mittal authored
      # Description
      
      This MR adds a test to check all the asset configurations in the
      `omni.isaac.orbit_assets` class work as expected. This is useful since
      we keep adding new checks and updates. It is good to automatically know
      that the assets can be initialized successfully.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have run all the tests with `./orbit.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      b1781712
  18. 17 Apr, 2024 4 commits
    • Hunter Hansen's avatar
      Adds X11 forwarding and yaml storage for Docker (#490) · 2c59cbc5
      Hunter Hansen authored
      # Description
      
      This PR adds the capability to opt-into and use X11 Forwarding from
      within the container. All of the configuration for the compose network
      is in `x11.yaml`, the preparation happens in `./container.sh`.
      
      Deeper explanation: Instead of attempting to mount an .Xauth directly,
      we create one ourselves. The `Xauth` cookie is extracted and merged into
      a new .tmp file which is created on the local user's system. This file
      is then mounted inside the container,as is the X11 unix socket, and the
      DISPLAY envvar (as well as a few others to avoid problems) are passed
      from the host machine into the container.
      
      This should work reliably on a container running locally, and it has
      worked for me over ssh. However, given that ssh can make this quite a
      bit more complicated, this PR only seeks to support local x11
      forwarding.
      
      **UPDATE**:
      I've also added some state persistence through `yq` and the file
      `.container.yaml`. I am using this to store settings we only want to ask
      once (`__ORBIT_X11_FORWARDING_ENABLED`) and state that needs to be used
      by multiple functions (`__ORBIT_TMP_XAUTH`). I added a few helper
      functions and and installation function to install `yq` for yaml
      operations.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have run all the tests with `./orbit.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Signed-off-by: 's avatarHunter Hansen <50837800+hhansen-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarPascal Roth <57946385+pascal-roth@users.noreply.github.com>
      2c59cbc5
    • Mayank Mittal's avatar
      Adds clearer initialization errors for asset classes (#509) · 952498c1
      Mayank Mittal authored
      # Description
      
      Earlier, the error message for initializing asset classes (with invalid
      prims) only checked "length != 1". However, the error messages are
      clearer if we separate them for the null and many cases, respectively.
      This MR fixes this for better error messages.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have run all the tests with `./orbit.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      952498c1
    • Mayank Mittal's avatar
      Fixes building of documentation due to illegal unions (#506) · 779107fc
      Mayank Mittal authored
      With remove of many future imports, it seems Sphinx doc generation was
      sensitive to it. Hence, the docs were not building anymore. This MR
      makes sure that those issues are resolved properly.
      
      Built the docs locally and they work fine.
      
      - Bug fix (non-breaking change which fixes an issue)
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have run all the tests with `./orbit.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      779107fc
    • Mayank Mittal's avatar
      Adds new event terms to randomize joint properties and scaling mass (#495) · 91f8a03e
      Mayank Mittal authored
      # Description
      
      This MR does the following:
      
      * Adds the function `omni.isaac.orbit.utils.math.quat_unique` to
      standardize quaternion representations, i.e.
        always have a non-negative real part.
      * Adds events terms for randomizing mass by scale, simulation joint
      properties (stiffness, damping, armature,
        and friction)
      * Adds clamping of joint positions and velocities in event terms for
      resetting joints. The simulation does not
      throw an error if the set values are out of their range. Hence, users
      are expected to clamp them before setting.
      * Fixes
      `omni.isaac.orbit.envs.mdp.ExponentialMovingAverageJointPositionAction`
      to smoothen the actions
        at environment frequency instead of simulation frequency.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      - New feature (non-breaking change which adds functionality)
      - Breaking change (fix or feature that would cause existing
      functionality to not work as expected)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have run all the tests with `./orbit.sh --test` and they pass
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      91f8a03e
  19. 16 Apr, 2024 4 commits
    • Mayank Mittal's avatar
      Uses stage identifier for faster file checks in the `from_files` spawners (#502) · 87618028
      Mayank Mittal authored
      # Description
      
      The function `check_file_exists` is slow since it tries to access the
      Nucleus server for the file, which can take time. This function uses the
      stage resolver to see if the file exists instead.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have run all the tests with `./orbit.sh --test` and they pass
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      87618028
    • Mayank Mittal's avatar
      Uses Orbit's SimContext for camera unit tests (#504) · 13146109
      Mayank Mittal authored
      # Description
      
      Earlier, we used Isaac Sim's sim context, which set the backend to torch
      on CPU. However, we want to make sure things work fine on GPU. This MR
      uses Orbit's sim context class for better integration testing.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have run all the tests with `./orbit.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      13146109
    • Mayank Mittal's avatar
      Removes unnecessary future imports for Python 3.10 (#503) · 19851b9b
      Mayank Mittal authored
      # Description
      
      With Python 3.10, we don't need future imports at many places. This MR
      removes such cases. Future imports are still needed for the following:
      
      * Circular imports (where we use `TYPE_CHECKING`)
      * Modules where we have the file name the same as module name. Example:
      `schemas` directory has `schemas.py` file
      
      Fixes #390
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have run all the tests with `./orbit.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      19851b9b
    • Mayank Mittal's avatar
      Fixes rendering of RTX-related sensors in `RLTaskEnv` (#501) · 7ac5588c
      Mayank Mittal authored
      # Description
      
      Previously, rendering of RTX-related sensors was not happening within
      the step call of the environment. Instead, it was expected that users
      call `env.render()` instead. However, this was unintuitive when sensors
      are involved.
      
      Fixes https://github.com/NVIDIA-Omniverse/orbit/discussions/291
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have run all the tests with `./orbit.sh --test` and they pass
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      7ac5588c
  20. 15 Apr, 2024 2 commits
    • Michael Brauckmann's avatar
      Adds unit tests for terrain importer to check sphere collisions (#69) · fa4a3410
      Michael Brauckmann authored
      # Description
      
      Adds in unittests for terrain importers. check that all three import
      function work and generate meshes of correct size and the balls dropped
      on mesh do not fall through it.
      
      Fixes #54
      
      ## Type of Change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      
      ---------
      Signed-off-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
      Co-authored-by: 's avatarJames Smith <jsmith@theaiinstitute.com>
      fa4a3410
    • Mayank Mittal's avatar
      Puts all tasks unit tests into subTest context (#500) · e637753a
      Mayank Mittal authored
      # Description
      
      This MR moves all environment tasks names into `with.subTest()` context
      manager to report per sub test as well.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have run all the tests with `./orbit.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      
      ---------
      Co-authored-by: 's avatarDavid Hoeller <dhoeller@ethz.ch>
      e637753a
  21. 12 Apr, 2024 3 commits
    • Mayank Mittal's avatar
      Makes function order consistent in the command terms (#496) · 40cdf401
      Mayank Mittal authored
      # Description
      
      This MR makes sure that the function ordering is consistent with their
      call order in the command terms.
      
      ## Type of change
      
      - Bug fix (non-breaking change which fixes an issue)
      - This change requires a documentation update
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [ ] I have run all the tests with `./orbit.sh --test` and they pass
      - [ ] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      40cdf401
    • fyu-bdai's avatar
      Adds unit test for the contact sensor class (#464) · 06ada157
      fyu-bdai authored
      # Description
      
      Adds a unit test for the the data reported by ContactSensor over
      different contact primitives, ground surfaces, contact times, and
      devices. This test spawns in a contact primitive, and sets the contact
      primitive in contact in the ground or in the air for a pre-determined
      amount of time, then checks that the ContactSensor data agrees with the
      expected values.
      
      Note: 
      
      Although this unit test uses all available primitive shapes in Isaac
      Sim, `[box, capsule, cylinder, cone, sphere]`, only test cases where
      exact collision models (capsule, sphere, box) are available are used.
      This is because ContactSensor does not work on Cylinder<->Mesh
      collisions and Cone<->Mesh collisions unfortunately.
      
      Update:
      
      Capsule<->Mesh collisions also do not work in certain cases, see #470.
      Capsule tests have also been removed from this unit test.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      
      ## Screenshots
      
      Please attach before and after screenshots of the change if applicable.
      ![Screenshot from 2024-03-20
      17-49-13](https://github.com/isaac-orbit/orbit/assets/156015326/bfff41a1-7c04-4824-aaed-3ce7e0bfd4bd)
      ![Screenshot from 2024-03-20
      17-50-14](https://github.com/isaac-orbit/orbit/assets/156015326/f30e77d2-ff30-4805-96bd-6c7106a1db7b)
      ![Screenshot from 2024-03-20
      17-51-03](https://github.com/isaac-orbit/orbit/assets/156015326/7037dc4b-147b-4221-bcd5-8c39d39c4709)
      ![Screenshot from 2024-03-20
      17-54-09](https://github.com/isaac-orbit/orbit/assets/156015326/ed40604b-67d9-4f81-8272-b36a7c92b21e)
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [ ] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [x] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have run all the tests with `./orbit.sh --test` and they pass
      - [x] I have updated the changelog and the corresponding version in the
      extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      06ada157
    • nburger-bdai's avatar
      Replaces `contrib_tasks` extension to move to `orbit.ext_template` repo (#458) · b706a916
      nburger-bdai authored
      # Description
      
      Replaced `contrib_tasks` with a reference to the `orbit.ext_template`
      repository in the documentation.
      
      ## Type of change
      
      - New feature (non-breaking change which adds functionality)
      - This change requires a documentation update
      
      ## Checklist
      
      - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
      `./orbit.sh --format`
      - [x] I have made corresponding changes to the documentation
      - [x] My changes generate no new warnings
      - [ ] I have added tests that prove my fix is effective or that my
      feature works
      - [x] I have run all the tests with `./orbit.sh --test` and they pass
      - [x] **N/A** I have updated the changelog and the corresponding version
      in the extension's `config/extension.toml` file
      - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
      exists there
      b706a916