- 25 Oct, 2023 4 commits
-
-
Mayank Mittal authored
# Description This MR adds new operations to the various managers. These include: * Adds a method `compute_group` to compute observations based on group-names * Adds methods to retrieve and set term configurations into some of the managers * Adds a method to modify reward term's weights as a curriculum ## Type of change - New feature (non-breaking change which adds functionality) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
-
Mayank Mittal authored
# Description This MR adds support for keyword arguments into the `ManagerBase` class. This helps in defining some default arguments into the term function call, which makes the configuration for those terms easier. Earlier, we had a lot of `SceneEntity("robot")` references, which is redundant for most cases that we are interested in. ## Type of change - New feature (non-breaking change which adds functionality) - Breaking change (fix or feature that would cause existing functionality to not work as expected) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file --------- Signed-off-by:
Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Co-authored-by:
Farbod Farshidian <ffarshidian@theaiinstitute.com> -
Mayank Mittal authored
# Description This MR adds rigid body acceleration and heading data into the `RigidObjectData` class. ## Type of change - New feature (non-breaking change which adds functionality) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file --------- Signed-off-by:
Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Co-authored-by:
Nikita Rudin <48368649+nikitardn@users.noreply.github.com> -
Mayank Mittal authored
# Description This MR adds support for 2D drift into the `RayCaster`. It also makes certain attributes in the `ContactSensorData` optional since they are not needed by default. ## 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) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
-
- 21 Oct, 2023 1 commit
-
-
Mayank Mittal authored
# Description Earlier in the code, we were using the `Ellipsis` object to index the dimensions of the tensor. This led to situations where we indexed multi-dimension tensors as: `x[..., ..., 0]`. This now leads to errors with Python 3.10. The MR replaces `Ellipsis` with the `slice(None)` object, which results in indexing as: `x[:, :, 0]`. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file --------- Co-authored-by:
Farbod Farshidian <ffarshidian@theaiinstitute.com>
-
- 19 Oct, 2023 3 commits
-
-
Mayank Mittal authored
-
Mayank Mittal authored
# Description Adds `--preview` feature to the black formatter which also takes care of the string representations in the code. This feature will become the default setting in the next release of black (https://github.com/psf/black/issues/1802). ## Type of change - New feature (non-breaking change which adds functionality) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] 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
-
Mayank Mittal authored
# Description * Fixed bugs in actuator model implementation for actuator nets. Earlier, the DC motor clipping was not working. * Fixed bug in applying actuator model in the `omni.isaac.orbit.asset.Articulation` class. The new implementation caches the outputs from the explicit actuator model into the `_joint_pos_*_sim` buffer to avoid feedback loops in the tensor operation. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
-
- 18 Oct, 2023 4 commits
-
-
Mayank Mittal authored
# Description This MR adds support for adding semantic tag labels to the spawner config. It uses the format provided by replicator to label something as a class type name and class data name. For example: ("fruit", "avocado"). ## Type of change - New feature (non-breaking change which adds functionality) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file -
AutonomousHansen authored
# Description Adds `add_app_launcher_args` function to the `AppLauncher` class, which can be used to add AppLauncher-specific arguments to an existing ArgumentParser instance. Because everything we pass is then passed to SimulationApp as a config, the MR also adds the `check_config()` function. This compares the key values of a dict and raises a ValueError in the following cases: * if they have a key reserved for a SimulationApp config parameter but incorrect value types * if the value type is correct, it informs the user if a dict item they passed will be interpreted as a SimulationApp config parameter. Non-SimulationApp relevant keys are cleaned from the dict before it is passed to SimulationApp. Also separated out the giant `AppLauncher.__init__` function into a few sub-functions to make things more readable. ## 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 updated the changelog and the corresponding version in the extension's `config/extension.toml` file --------- Signed-off-by:
AutonomousHansen <50837800+AutonomousHansen@users.noreply.github.com>
Co-authored-by:
Mayank Mittal <mittalma@leggedrobotics.com> -
jsmith-bdai authored
# Description Docker was failing to build with: `./container.sh start orbit`, because there was a missing `;` inside the Dockerfile. The failure was: ``` => ERROR [orbit 3/9] RUN if [[ "${ISAACSIM_VERSION}" == "2022.2"* ]]; then sed -i 's/\("omni.isaac.quadruped"\s=\s{}\)/"omni.isaac.quadruped" = {order = 10}/g' /isaac-sim/apps/omni.isaac.sim.python.kit fi 0.4s ------ > [orbit 3/9] RUN if [[ "${ISAACSIM_VERSION}" == "2022.2"* ]]; then sed -i 's/\("omni.isaac.quadruped"\s=\s{}\)/"omni.isaac.quadruped" = {order = 10}/g' /isaac-sim/apps/omni.isaac.sim.python.kit fi: 0.350 /bin/sh: 1: Syntax error: end of file unexpected (expecting "fi") ------ failed to solve: process "/bin/sh -c if [[ \"${ISAACSIM_VERSION}\" == \"2022.2\"* ]]; then sed -i 's/\\(\"omni.isaac.quadruped\"\\s=\\s{}\\)/\"omni.isaac.quadruped\" = {order = 10}/g' ${ISAACSIM_PATH}/apps/omni.isaac.sim.python.kit fi" did not complete successfully: exit code: 2 ``` This PR adds in the `;`. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file -
Mayank Mittal authored
-
- 14 Oct, 2023 1 commit
-
-
Mayank Mittal authored
# Description From Isaac Sim 2023.X onwards (Kit 105.X onwards), there are various noticeable changes that include renaming certain extensions and upgrading to the latest USD. This MR ensures that Orbit remains compatible with the coming release of Isaac Sim while still supporting 2022.2.1. ## Type of change - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) - This change requires a documentation update ## 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 - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file --------- Signed-off-by:
Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Co-authored-by:
Nikita Rudin <nrudin@nvidia.com>
Co-authored-by:
AutonomousHansen <hhansen@theaiinstitute.com>
Co-authored-by:
jsmith-bdai <142246516+jsmith-bdai@users.noreply.github.com>
-
- 13 Oct, 2023 2 commits
-
-
David Hoeller authored
Minor fix to have the task being setup correctly in docker/ngc. Otherwise it might complain that python3 does not exist. Signed-off-by:
David Hoeller <dhoeller@ethz.ch> -
Mayank Mittal authored
# Description This MR simplifies the `DifferentialInverseKinematics` to expect that the user gives the right frame for the end-effector pose as inputs. Additionally, it adds the action term corresponding to the controller. ## Type of change - New feature (non-breaking change which adds functionality) - Breaking change (fix or feature that would cause existing functionality to not work as expected) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
-
- 12 Oct, 2023 2 commits
-
-
Mayank Mittal authored
# Description Propogates the try-except-finally paradigm from the unit tests to all the scripts. This ensures a cleaner exit of the script and allows a better traceback print. ```python import traceback import carb if __name__ == "__main__": try: # Run the main function main() except Exception as err: carb.log_error(err) carb.log_error(traceback.format_exc()) raise finally: # close sim app simulation_app.close() ``` ## Type of change - New feature (non-breaking change which adds functionality) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] 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 -
Mayank Mittal authored
# Description In Python, memory management is based on reference counts, where an object isn't "truly" deleted if it has variables referring to the memory address. More details: https://www.pythontutorial.net/advanced-python/python-references/ In Orbit code, we provide "self" to various callbacks, which increments the reference counts since they "refer" to the object. This means that when we do: ```python robot = Articulation(cfg=ANYMAL_C_CFG) ``` The reference count is 3: one for the `robot` variable and two for the callbacks we launched on separate threads. Now, if we try to delete the object by doing `del robot`, the reference count becomes 2. These correspond to the callbacks that were launched. However, the destructor `__del__()` isn't called yet because it is only done when all the reference counts are 0. As a fix, this MR uses a proxy weak reference to "self" when passing it to underlying callbacks or other classes. This does not increment the reference count for the object; thereby, when the main object is deleted, all ts proxy references become invalid 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` - [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 updated the changelog and the corresponding version in the extension's `config/extension.toml` file
-
- 04 Oct, 2023 1 commit
-
-
Mayank Mittal authored
# Description * This MR fixes the `VisualizationMarkers` class to use the `SpawnerCfg`. This makes it consistent with how assets are spawned and allows more variations. * The markers also support instanceable meshes. This is done by disabling their instancing (as PointInstancer does not support pre-instanced assets) and removing any rigid body APIs from the asset. Fixes #144 ## 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) - This change requires a documentation update ## Screenshots https://github.com/isaac-orbit/orbit/assets/12863862/9d1b095b-99ee-4759-ba30-6175cc3b7d78 ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
-
- 26 Sep, 2023 3 commits
-
-
Mayank Mittal authored
-
AutonomousHansen authored
# Description Currently, the code has a mix of `cls_name` and `cls` in the configuration classes. Since `cls` is a reserved key from Python, we should avoid using this name for attributes. This MR changes all the occurrences to become `class_type` instead. Fixes #141 ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file --------- Co-authored-by:
Mayank Mittal <mittalma@leggedrobotics.com> -
jsmith-bdai authored
# Description Adds `from __future__ import annotations`, cleans up old annotations (`List` -> `list`, `Tuple` -> `tuple`, etc) to conform with formatter, and removes duplicated type hints in docstrings. Fixes #140 ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file --------- Co-authored-by:
Mayank Mittal <mittalma@leggedrobotics.com>
-
- 31 Aug, 2023 1 commit
-
-
Mayank Mittal authored
# Description This MR adds the `InteractiveScene` interface, as the central unit that contains all simulation elements (or as we call "scene entitites") under the same umbrella. By parsing the configuration object, it helps spawn different prims and create relevant handles for them to read/write their data. Based on the above, it modifies how the managers work. The terms expect to extract the entities from the scene for different computations (randomizations, rewards, actions, observations, etc.). The scene and managers together define the `BaseEnv` and `RLEnv` where the difference between the two is that the latter includes additional managers that are RL specific (rewards, terminations). Besides these, the MR includes the following improvements: * Makes debug visualization of commands consistent by adding them into callbacks * Handles the simulation pause/play in the `SimulationContext` itself to simplify standalone scripts * Cleanups and documentation fixes to all the MDP terms ## Type of change - New feature (non-breaking change which adds functionality) - Breaking change (fix or feature that would cause existing functionality to not work as expected) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
-
- 24 Aug, 2023 1 commit
-
-
Mayank Mittal authored
# Description This PR checks that all the existing scripts in the codebase work as expected. The last few merges led to the deletion of some files that were no longer available to import in the unit tests. Also renamed files in the test to follow the following convention: * `test_*.py` : A script that tests a feature using unittest fixture * `check_*.py`: A script that runs the feature but doesn't necessarily put them as a unittest fixture. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
-
- 23 Aug, 2023 3 commits
-
-
Mayank Mittal authored
# Description This MR allows coloring a mesh using its vertex colors. Right now it only demonstrates how to do this based on height but one could use it in more creative ways. For example, coloring boxes in a different color. It also updates the `TerrainImporter` to use the visual and physics material configuration classes. ## Type of change - New feature (non-breaking change which adds functionality) - This change requires a documentation update ## Screenshots | Random Color | Color by Height | | ------ | ----- | |  |  | ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
-
Pascal Roth authored
# Description This MR adapts all the sensor classes to follow a structure similar to the `assets` classes. This removes the need to worry about the spawning and initialization of sensors manually by the users. It removes the `debug_vis` function since that is now handled by a render callback automatically (based on the passed configuration for the `debug_vis` flag). Additionally, the camera poses can now be set and obtained different conventions: * `opengl`: the camera is looking down the -Z axis with the +Y axis pointing up * `ros`: the camera is looking down the +Z axis with the +Y axis pointing down * `world`: the camera is looking along the +X axis with the -Z axis pointing down ## Type of change - New feature (non-breaking change which adds functionality) - Breaking change (fix or feature that would cause existing functionality to not work as expected) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file --------- Co-authored-by:
Mayank Mittal <mittalma@leggedrobotics.com> -
Mayank Mittal authored
# Description This MR introduces a new set of asset interfaces. These interfaces simplify the spawning of assets into the scene and initializing the physics handle by hiding that into post-startup physics callbacks. Essentially, users no longer need to worry about the `spawn()` and `initialize()` calls themselves. The only interface they need to work with are the configuration objects. This makes the code more flexible and usable. The assets use the following conventions for function names: * `set_xxx()`: this implies that values are set into data buffers (but not into the simulator) * `write_xxx_to_sim()`: writes data into the simulator * `update()`: update all data from the simulator The above isn't an "ideal" function naming since there is no duality of functions (a write has a read method, or a setter has a getter). But I think they convey their functionality clearly from the naming. All data is accessible only through the `data` class for the asset. As a side note, the MR also renames all "dof" to "joint" to make it consistent with the terminology in robotics. ## Type of change <!-- As you go through the list, delete the ones that are not applicable. --> - New feature (non-breaking change which adds functionality) - Breaking change (fix or feature that would cause existing functionality to not work as expected) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file --------- Signed-off-by:
Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Co-authored-by:
Pascal Roth <57946385+pascal-roth@users.noreply.github.com>
Co-authored-by:
jsmith-bdai <142246516+jsmith-bdai@users.noreply.github.com>
-
- 22 Aug, 2023 2 commits
-
-
Mayank Mittal authored
# Description * Added new parameters to the `SimulationContext` for setting other quantities that can be set using the `PhyxSceneAPI` * Added compatibility check to support flatcache/fabric naming in Isaac Sim 2022.2 and 2023.1 versions ## 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` - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file --------- Signed-off-by:
Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Co-authored-by:
Pascal Roth <57946385+pascal-roth@users.noreply.github.com>
Co-authored-by:
jsmith-bdai <142246516+jsmith-bdai@users.noreply.github.com> -
Mayank Mittal authored
# Description This MR includes various utility functions for spawning different prims in the stage. There are five types of prims one usually wants to spawn: * **from files**: load an XForm prim from URDF/USD files * **shapes**: create prims using USD API for primitive shapes (capsules, cuboids, cones, etc.) * **materials**: create visual or physics-based materials * **lights**: create different types of light sources * **sensors**: create prim for sensors using USD API (example: cameras) The spawning functions spawn a single prim and clone the spawned prim using a cloner decorator based on the regex resolution of the passed prim path. ```python import omni.isaac.orbit.sim as sim_utils cfg = sim_utils.UsdFileCfg(usd_path=f"{ISAAC_ORBIT_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd") # spawns single prim cfg.func("/World/Robot", cfg) # spawns multile prim cfg.func("/World/envs/env_.*/Robot", cfg) ``` ## Type of change - New feature (non-breaking change which adds functionality) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file --------- Signed-off-by:
Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Co-authored-by:
jsmith-bdai <142246516+jsmith-bdai@users.noreply.github.com>
-
- 18 Aug, 2023 1 commit
-
-
Mayank Mittal authored
# Description This is a follow-up to PR #110. It adds additional methods that allow defining i.e. creating the schemas at the specified prim path. This is useful when creating your own meshes or prims procedurally. The methods also check if there are any conflicting schemas on the prim to which we want to apply a new schema. This makes sure that schemas are defined on a prim gracefully. ## 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 - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
-
- 17 Aug, 2023 2 commits
-
-
Mayank Mittal authored
# Description Created a new module called `omni.isaac.orbit.sim.loaders`. The goal is to put all the asset from file loaders into that directory to make it a single module instead of many different ones with different file loaders. ## Type of change - Breaking change (fix or feature that would cause existing functionality to not work as expected) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
-
Mayank Mittal authored
# Description This MR introduces wrappers around different [USD Physics](https://openusd.org/dev/api/usd_physics_page_front.html) and [PhysX solver](https://docs.omniverse.nvidia.com/kit/docs/omni_usd_schema_physics/104.2/index.html) schemas. The functions allow modifying the properties on an asset prim using configuration objects. The schemas supersede the current `omni.isaac.orbit.utils.kit.py` which did the same job but had duplication in the implementations. ## 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 - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file --------- Signed-off-by:
Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
-
- 11 Aug, 2023 1 commit
-
-
Pascal Roth authored
# Description Previously, the configclass was overwriting a user-defined configclass which isn't desirable. This MR adds a function to allow configclasses to support [`__post_init__`](https://docs.python.org/3/library/dataclasses.html#post-init-processing). ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file --------- Co-authored-by:
Nikita Rudin <nrudin@nvidia.com>
Co-authored-by:
Mayank Mittal <mittalma@leggedrobotics.com>
-
- 03 Aug, 2023 7 commits
-
-
Mayank Mittal authored
# Description This PR adds support for callable classes to the `term_cfg.func` attribute. This is needed for complex behaviors where users may want to define certain persistent behaviors as part of the terms. The callable class should take in the term configuration object and the environment instance as inputs to its constructor. Additionally, they should implement the `__call__` function with the signature expected by the manager. For example, in the case of observation terms, this looks like: ```python class complex_function_class: def __init__(self, cfg: ObservationTermCfg, env: object): self.cfg = cfg self.env = env # define some variables self.history_length = 2 self._obs_history = torch.zeros(self.env.num_envs, self.history_length, 2, device=self.env.device) def __call__(self, env: object) -> torch.Tensor: new_obs = torch.rand(env.num_envs, 2, device=env.device) # update history self._obs_history[:, 1:] = self._obs_history[:, :1].clone() self._obs_history[:, 0] = new_obs # return obs return new_obs ``` ## Type of change - New feature (non-breaking change which adds functionality) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file -
Mayank Mittal authored
# Description Previously, the visualization markers would get rendered in the camera images. However, this is often undesirable since the markers are only used for debug visualizations. This behavior turns these off by default. ## Type of change - New feature (non-breaking change which adds functionality) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
-
Mayank Mittal authored
# Description This MR adds our own `SimulationContext` class that inherits the one from Isaac Sim. This is motivated by two reasons: * We want to make the configuration of the simulation context consistent with the rest of the APIs. * We want to override some of the functions from the `SimulationContext` that suit our needs better. ## Type of change - New feature (non-breaking change which adds functionality) - Breaking change (fix or feature that would cause existing functionality to not work as expected) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
-
Mayank Mittal authored
# Description This MR adds some missing documentation to the actuator module. It also splits the `actuator.py` file into `actuator_base.py` and `actuator_pd.py` files to make it clear where the base class exists. ## Type of change - Breaking change (fix or feature that would cause existing functionality to not work as expected) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
-
Mayank Mittal authored
# Description Earlier the `TerrainGeneratorCfg` and `TerrainImporterCfg` were in the same file. However, this leads to some issues with circular dependencies when referring to the `TerrainImporter` as an attribute of the `TerrainImporterCfg` (i.e. providing the class name as a member of the config object). The MR fixes the above circular dependency. Also, it moves all the terrain parameters to its configuration object to make the terrain initialization consistent with the other asset constructors. ## Type of change - Breaking change (fix or feature that would cause existing functionality to not work as expected) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
-
Mayank Mittal authored
# Description Previously, while launching the simulation app, there were warnings at the start of the file that complained that: ``` [Warning] [omni.isaac.kit.simulation_app] Modules: ['omni.isaac.orbit', 'omni.isaac.orbit.app', 'omni.isaac.kit.app_framework'] were loaded before SimulationApp was started and might not be loaded correctly. [Warning] [omni.isaac.kit.simulation_app] Please check to make sure no extra omniverse or pxr modules are imported before the call to SimulationApp(...) ``` This is because of a manual check inside the `SimulationApp` class where they check the `sys.modules` against "accepted" packages that are hardcoded. The PR fixes this issue by removing the orbit packages from `sys.modules` before launching the simulation app. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
-
Pascal Roth authored
# Description Missing comma in the `setup.py` of the extension led to installation errors when calling `./orbit.sh -i`. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
-
- 26 Jul, 2023 1 commit
-
-
Mayank Mittal authored
# Description This MR merges all the refactorings done to make the legged locomotion environment training work. It includes the following: * `ActionManager` class: To handle various action terms and provide flexibility for HRL. * Actuator simplification: We no longer have actuator groups. All that is handled externally to the robot. * Sensor optimization: Lazy sensor updates (only updated when `data` is called) * Update to new RSL-RL library * TerrainImporter: It does import on initialization instead of expecting input from users. This MR breaks the behavior of the following (many of which need to be fixed): * `RobotBase` : Now there are two methods `write_commands_to_sim` and `refresh_sim_data` that dictate sim read/write. * `ActuatorGroups`: Doesn't exist anymore. * `SensorBase`: Drop for the support of different backends (was not supported earlier but now more explicit) Fixes #37 , #36 ## 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) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file --------- Co-authored-by:
David Hoeller <dhoeller@ethz.ch>
Co-authored-by:
Nikita Rudin <nrudin@nvidia.com>
Co-authored-by:
Farbod Farshidian <ffarshidian@theaiinstitute.com>
-