- 18 Apr, 2024 3 commits
-
-
Mayank Mittal authored
-
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
-
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
-
- 17 Apr, 2024 4 commits
-
-
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:
Hunter Hansen <50837800+hhansen-bdai@users.noreply.github.com>
Co-authored-by:
Pascal Roth <57946385+pascal-roth@users.noreply.github.com> -
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
-
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
-
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
-
- 16 Apr, 2024 4 commits
-
-
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
-
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
-
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
-
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
-
- 15 Apr, 2024 2 commits
-
-
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:
James Smith <142246516+jsmith-bdai@users.noreply.github.com>
Co-authored-by:
James Smith <jsmith@theaiinstitute.com> -
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:
David Hoeller <dhoeller@ethz.ch>
-
- 12 Apr, 2024 4 commits
-
-
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
-
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.     ## 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
-
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
-
Mayank Mittal authored
# Description This MR does the following fixes: * Adds a clone operator to the observation manager term computation to prevent shared data between terms * Fixes the flushing of data for imitation learning worklow Fixes https://github.com/NVIDIA-Omniverse/orbit/issues/356 ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have run all the tests with `./orbit.sh --test` and they pass - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
-
- 05 Apr, 2024 3 commits
-
-
Mayank Mittal authored
# Description This MR fixes a regression introduced in 0.15.1. The term values were assigned using an OR operator. However, since they were never being cleared, the values were incorrect. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have run all the tests with `./orbit.sh --test` and they pass - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
-
Pascal Roth authored
# Description Cluster workflow did not work with the different profiles and introduced names. This PR fixes the workflow and in addition, introduces additional checks that the profile can be selected. In detail: - checks whether a profile can be selected depending on whether a `.env.$container_profile` exists - allows for `job` to have multiple arguments, also without a profile, for all other options, the second argument has to be the profile - check if a docker image exists before building the singularity image - check if the path for the singularity image exists on the cluster, otherwise create it - check if the path for orbit exists on the cluster, otherwise create it ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have run all the tests with `./orbit.sh --test` and they pass - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there --------- Co-authored-by:
Leul Tesfaye <lst26@cornell.edu>
Co-authored-by:
Mayank Mittal <12863862+Mayankm96@users.noreply.github.com> -
Pascal Roth authored
# Description Remove the root requirement to build a singularity image for the cluster workflow by using the `--fakeroot` flag. Also added a note that this flag can be removed in the case of issues. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have run all the tests with `./orbit.sh --test` and they pass - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
-
- 04 Apr, 2024 2 commits
-
-
Leul Tesfaye authored
The AppLauncher has a bug where it fails to fact the `app.folder` is pointing to a directory higher than it should be. This leads to a file not being found in the `_get_version` call from `omni.isaac.version` module. Updated app.folder to point to `"${exe-path}/"` instead of `"${exe-path}/../"` in the following files: - orbit/source/apps/orbit.python.headless.kit - orbit/source/apps/orbit.python.headless.multicam.kit - orbit/source/apps/orbit.python.kit Fixes #339 - Bug fix (non-breaking change which fixes an issue) - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have run all the tests with `./orbit.sh --test` and they pass - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already exists there -
Mayank Mittal authored
# Description This MR adds the following new asset configs: * `KINOVA_JACO2_N6S300_CFG`: Kinova Jaco2 (6-Dof) arm with three-finger gripper * `KINOVA_JACO2_N7S300_CFG`: Kinova Jaco2 (7-Dof) arm with three-finger gripper * `KINOVA_GEN3_N7_CFG`: Kinova Gen3 (7-Dof) arm with no gripper * `SAWYER_CFG`: Sawyer arm with no gripper ## Type of change - New feature (non-breaking change which adds functionality) ## Screenshots  ## 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
-
- 02 Apr, 2024 3 commits
-
-
rumblingturtle authored
# Description Commit 3acff1be missed update for a ContactSensor override to find_bodies ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have run all the tests with `./orbit.sh --test` and they pass - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
-
Hunter Hansen authored
# Description The experience files that we host in Orbit rely upon an expression `${exe-path}`, specifically to resolve the location of the `VERSION`. From our `orbit.python.headless.kit`: ``` app.versionFile = "${exe-path}/../VERSION" app.folder = "${exe-path}/../" ``` This resolves to the full path of the calling exe, which is the `kit` application in isaac-sim. Currently this is broken in the container because we set `ISAACSIM_PATH=/isaac-sim`, which is broken during the path operations done on it. This PR fixes that by making `ISAACSIM_PATH=/workspace/orbit/_isaac_sim` as well as mapping other aliases (`python`, `python3`) through this path. I have also added `not self._livestream` as a precondition of enabling the `orbit.python.headless.kit` experience file, because otherwise we do not render to livestream. I also added fixes for all the newly failing tests, except for `test_urdf_converter.py`. I will add a fix for that to this branch as soon as I have one. UPDATE: It appears that `test_urdf_converter.py` was broken at least as far back as commit `a30d764d`, which precedes the experience file commit. I will therefore merge this without fixing that test. Fixes [#339](https://github.com/NVIDIA-Omniverse/orbit/issues/339), [#338](https://github.com/NVIDIA-Omniverse/orbit/issues/338) ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have run all the tests with `./orbit.sh --test` and they pass (except `test_urdf_converter.py`) - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there --------- Signed-off-by:
Hunter Hansen <50837800+hhansen-bdai@users.noreply.github.com>
Co-authored-by:
Mayank Mittal <12863862+Mayankm96@users.noreply.github.com> -
Pascal Roth authored
# Description Allow changing of the indexing mode for the grid pattern of the RayCaster. Possible options are: - “xy”: the points are ordered with their y-dimension iterated over first. - “yx”: the points are ordered with their x-dimension iterated over first. ## Type of change - New feature (non-breaking change which adds functionality) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have run all the tests with `./orbit.sh --test` and they pass - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
-
- 29 Mar, 2024 5 commits
-
-
Pascal Roth authored
# Description The `SceneEntityCfg` always return the `joint_ids` and `body_ids` in the simulation order even if a different order was specified when passing the names to the `SceneEntityCfg`. This fix changes the behavior, to always return the ids in the specified order by introducing the flag `simulation_order` that is true per default for everything within orbit but false for the `SceneEntityCfg`. Fixes #461 ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have run all the tests with `./orbit.sh --test` and they pass - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there --------- Signed-off-by:
Pascal Roth <57946385+pascal-roth@users.noreply.github.com>
Signed-off-by:
Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Co-authored-by:
Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Co-authored-by:
Mayank Mittal <mittalma@leggedrobotics.com> -
Mayank Mittal authored
# Description This MR automates the configuring of kit app files based on the settings passed to the app launcher. The experience file to load when launching the SimulationApp. If a relative path is provided, it is resolved relative to the ``EXP_PATH`` environment variable. If provided as an empty string, the experience file is determined based on the headless flag: * If headless is True, the experience file is set to ``orbit.python.headless.kit``. * If headless is False, the experience file is set to ``orbit.python.kit``. Moreover, it adds the app experience file to use when running multi-camera setup. This is taken from OIGE: > https://github.com/NVIDIA-Omniverse/OmniIsaacGymEnvs/blob/main/docs/examples/training_with_camera.md#working-with-cameras Fixes #238 ## Type of change - New feature (non-breaking change which adds functionality) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have run all the tests with `./orbit.sh --test` and they pass - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
-
James Smith authored
# Description @Mayankm96 recently found that tests failures weren't properly reporting in runs of `orbit -t`. This is because we were previously relying on individual test's main to exit with 1 if the test failed, but this recently changed when we stopped them from exiting with `exit=False` argument to `unittest.main()` to ensure the simulation app could be closed properly. We no longer call `simulation_app.close()` as this will cause the exit to not reach `run_all_tests.py`. The downside here is a bit more console spam. Fixes #474 ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have run all the tests with `./orbit.sh --test` and they pass - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there --------- Signed-off-by:
James Smith <142246516+jsmith-bdai@users.noreply.github.com>
Co-authored-by:
Mayank Mittal <mittalma@leggedrobotics.com>
Co-authored-by:
Mayank Mittal <12863862+Mayankm96@users.noreply.github.com> -
Hunter Hansen authored
# Description As of [docker compose 2.24.7](https://docs.docker.com/compose/release-notes/#2247), using the same name between containers is disallowed even if the profiles that launch them are mutually exclusive. This PR alters `docker-compose.yaml` such that containers will now be appended with their image extension (orbit-base, orbit-ros2). I've also added `resolve_image_extension` to the logic in `./container.sh` in order to handle the image_extension arguments. Fixes Public[ #325](https://github.com/NVIDIA-Omniverse/orbit/issues/325) ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have run all the tests with `./orbit.sh --test` and they pass - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there <!-- As you go through the checklist above, you can mark something as done by putting an x character in it For example, - [x] I have done this task - [ ] I have not done this task --> --------- Signed-off-by:
Hunter Hansen <50837800+hhansen-bdai@users.noreply.github.com>
Co-authored-by:
James Smith <142246516+jsmith-bdai@users.noreply.github.com> -
Hunter Hansen authored
# Description This choice is related to the [deep history of docker compose](https://docs.docker.com/compose/intro/history/). Previously we had a `version` specification in the `docker-compose.yaml`. While I did this initially to ensure support for extensions, I think it could confuse users about which version of docker compose is supported. I believe we should only support the most modern version of docker compose (this is what we direct people to install), which is the plugin version of docker compose (invoked in the cli as `docker compose` rather than `docker-compose`) and the [Compose Specification](https://github.com/compose-spec/compose-spec) which is backwards compatible with much of versions 2+3, but which is its own format. This hasn't yet caused a problem per-se, but could mislead people about which Docker setup we support. ## Type of change <!-- As you go through the list, delete the ones that are not applicable. --> - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have run all the tests with `./orbit.sh --test` and they pass - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there <!-- As you go through the checklist above, you can mark something as done by putting an x character in it For example, - [x] I have done this task - [ ] I have not done this task -->
-
- 25 Mar, 2024 2 commits
-
-
Vladimir Fokow authored
## Description This MR improves the documentation: - fix typo: "For completion" with "For completeness" - fix typo: reset - fix typo: blocks - fix typo: remove "is" Fixes #302, #303, #304 ## Type of change - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have run all the tests with `./orbit.sh --test` and they pass - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
-
Shafeef Omar authored
The logic for grid cloning in Isaac Sim GridCloner (func: `get_clone_transforms()`) and in TerrainImporter.py (func: `_compute_env_origins_grid()`) are different. Consequently, they give inconsistent values. This PR fixes the TerrainImporter by updating the logic of `_compute_env_origins_grid()` to make it consistent with IsaacSim. Fixes #287 - Bug fix (non-breaking change which fixes an issue) - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have run all the tests with `./orbit.sh --test` and they pass - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there --------- Signed-off-by:
Shafeef Omar <shafeef901@gmail.com>
Co-authored-by:
Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
-
- 23 Mar, 2024 5 commits
-
-
Mayank Mittal authored
-
Kyle Morgenstein authored
# Description in `NonHolonomicAction.apply_actions()` the velocity command was incorrectly named `self.joint_vel` instead of `self._joint_vel_command` as initialized in `NonHolonomicAction.__init__()`. This causes an error when trying to instantiate the action config. I have corrected and tested that it works. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [X] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [X] I have made corresponding changes to the documentation - [X] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [X] I have run all the tests with `./orbit.sh --test` and they pass - [X] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
-
fyu-bdai authored
# Description <!-- Thank you for your interest in sending a pull request. Please make sure to check the contribution guidelines. Link: https://isaac-orbit.github.io/orbit/source/refs/contributing.html --> Currently, InteractiveScene declares several of its entities (articulation, sensor, and rigid bodies) as class variables. This causes the variables to be shared across **all** instances of the class, which is not desired behavior if there is ever a case when `InteractiveScene` is used more than once. This fix changes the following: 1. All class variables in `InteractiveScene` defined above the constructor is now moved inside the constructor as instance variables. 2. Adds `@property` getters to access the entities. 3. Rolls back the fix introduced in #380, which changes the `__del__` magic method to clear out the class variables that persisted, but ended up breaking #464. Fixes #465 <!-- As a practice, it is recommended to open an issue to have discussions on the proposed pull request. This makes it easier for the community to keep track of what is being developed or added, and if a given feature is demanded by more than one party. --> ## Type of change <!-- As you go through the list, delete the ones that are not applicable. --> - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have run all the tests with `./orbit.sh --test` and they pass - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there <!-- As you go through the checklist above, you can mark something as done by putting an x character in it For example, - [x] I have done this task - [ ] I have not done this task -->
-
Leul Tesfaye authored
# Description This is a simple fix of unused parameter in omni/isaac/orbit./sensors/camera/utils.py The parameter `keep_invalid` was not used and, by default, only returns valid points, which causes an issue when trying to do an RGB-D image to point cloud cconversion. This leads to an array size mismatch if depth has inf or nan. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have run all the tests with `./orbit.sh --test` and they pass - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
-
Mayank Mittal authored
# Description With Isaac Sim 2023.1.1, the main asset file stores all the meshes as well (even for instanceable case) when using the URDF improter. However, the referenced paths to materials are absolute which does not allow moving the asset around freely. This MR adds a fix to make sure all paths are relative in the converted USD file. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have run all the tests with `./orbit.sh --test` and they pass - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
-
- 22 Mar, 2024 2 commits
-
-
Hunter Hansen authored
# Description This adds a ROS2 Humble installation to the Dockerfile. It also adds several relevant environment variables. ## Type of change - New feature (non-breaking change which adds functionality) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have run all the tests with `./orbit.sh --test` and they pass - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there --------- Signed-off-by:
Hunter Hansen <50837800+hhansen-bdai@users.noreply.github.com>
Co-authored-by:
James Smith <142246516+jsmith-bdai@users.noreply.github.com> -
James Smith authored
# Description This PR fixes the imitation learning workflow in that `collect_demonstrations`, `train` and `play` scripts all don't throw exceptions. I haven't validated that the training actually generates a successful policy, only that the loss decreased within the first few iterations. A follow up task might be to make sure that the chosen observation terms can still result in a good policy, but that's outside of the scope of updating this workflow to API changes in Orbit and Robomimic. Fixes #387 ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Screenshot ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have run all the tests with `./orbit.sh --test` and they pass - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there --------- Signed-off-by:
James Smith <142246516+jsmith-bdai@users.noreply.github.com>
Co-authored-by:
Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
-
- 20 Mar, 2024 1 commit
-
-
Pascal Roth authored
# Description Renames the `RandomizationManager` to `EventManager` for clarity as the manager takes care of all kind of events that go beyond pure randomization (such as resets). Fixes #413 ## Type of change - Breaking change (fix or feature that would cause existing functionality to not work as expected) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have run all the tests with `./orbit.sh --test` and they pass - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
-