-
Notifications
You must be signed in to change notification settings - Fork 914
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adds new features and fixes for v0.2 release #129
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Description Adds a helper class that converts a urdf description into an instanceable usd file with separate meshes. If a `usd_dir` is provided, the conversion is lazy: It only performs conversion if the provided `UrdfLoaderCfg` or the main URDF file is modified. The current implementation does not automatically trigger USD generation if only mesh files are changed. Fixes #35 ## 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 --------- Co-authored-by: Mayank Mittal <[email protected]>
…ent variables (#33) # Description Adds the class `AppLauncher` which takes configuration arguments to the Isaac Sim `SimulationApp` and several environment variables. It launches the SimulationApp and corresponding extensions in a controlled manner allowing users to decide between different remote deployments, ROS bridges, and viewport rendering. AppLauncher can then be queried for logic on other SimulationApp operations e.g. whether or not `SimulationContext.step()` should render or not based on the resolved flags `AppLauncher.VIEWPORT` and `AppLauncher.RENDER`. Fixes #32 ## 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 updated the changelog and the corresponding version in the extension's `config/extension.toml` file --------- Co-authored-by: Farbod Farshidian <[email protected]> Co-authored-by: Mayank Mittal <[email protected]>
# 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 --> This PR ports in the functions for procedurally generating different terrains. The terrains can be generated as heightfields (2.5 D elevation map) or meshes (through `trimesh`). There are two separate classes: * `TerrainGenerator`: This class only procedurally generates terrains based on the passed sub-terrain configuration. It creates the trimesh object and contains the origins of each terrain in the mesh. Additionally, it performs caching of the sub-terrain meshes based on their configuration. By default, caching is disabled since most developers will change not only the config, but also the function. * `TerrainImporter`: This class mainly deals with importing terrains from different possible sources and adding them to the simulator. In addition to importing terrains, it also stores them into a dictionary called `warp_meshes` that later can be used for ray-casting. The types of terrain sources are as follows: * `import_ground_plane`: creates a grid plane which is default in isaacsim/orbit. * `import_mesh`: takes a trimesh object * `import_usd`: takes a USD file and adds reference to it <!-- 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. --> - New feature (non-breaking change which adds functionality) ## Screenshots ![terrains](https://github.com/isaac-orbit/orbit/assets/12863862/05f889d0-b98e-4063-a810-89d9116c2dfe) <!-- Example: | Before | After | | ------ | ----- | | _gif/png before_ | _gif/png after_ | To upload images to a PR -- simply drag and drop an image while in edit mode and it should upload the image directly. You can then paste that source into the above before/after sections. --> ## 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 <!-- 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 -->
) # 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 --> Previously, we were having separate markers for frames, spheres, and height scanners, each of them having minute differences. This PR includes a more general wrapping around the [`USDGeom.PointInstancer`](https://graphics.pixar.com/usd/dev/api/class_usd_geom_point_instancer.html) to configure markers through configclass object. Additionally, it moves to faster [`pxr.Vt`](https://docs.omniverse.nvidia.com/kit/docs/kit-manual/latest/api/pxr.html#module-pxr.Vt) arrays instead of keeping a list of [`pxr.Gf`](https://docs.omniverse.nvidia.com/kit/docs/kit-manual/latest/api/pxr.html#module-pxr.Gf) arrays. The old markers still exist for now until we move to v1.0 release. They are present in the `omni.isaac.orbit.compat` module. <!-- 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. --> - 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 - [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 <!-- 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 -->
# 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 --> Previously the `make_plane` function was always offsetting the terrain origin such that the origin of the plane coincides with (0, 0). This was done because when adding a ground plane, we wanted the origin to match the simulation origin. However, it introduced a bug in sub-terrain generator where we assume that all sub-terrains are origin at (size_x * 0.5, size_y * 0.5). The PR fixes this issue by making an explicit argument to `make_plane` called `centered`. Also adds comments to make it clear what the sub-terrain generator and terrain importer does. <!-- 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) ## Screenshots | Before | After | | ------ | ----- | | ![bug](https://github.com/isaac-orbit/orbit/assets/12863862/1ce9db23-b97b-44d9-8a4e-1c543eab914b)| ![fix](https://github.com/isaac-orbit/orbit/assets/12863862/b347077b-daa6-4d76-a307-4e97450ccce9) | ## 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 <!-- 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 -->
# Description Adds a directory `docker` in the root of the repo, containing a `Dockerfile`, `dockerfile-compose.yaml`, `.env`, and utility script `container.sh` that wraps docker-compose CLI commands. The instructions in the documentation specify the installation steps and how to get the Isaac Sim docker image for completeness. To run a container, the user needs to create NGC credentials via the NVIDIA Developers program. After that they can run the script to launch the container: ```bash ./docker/container.sh start ./docker/container.sh enter ``` Also added an argument `-o` or `--docker` to the `orbit.sh` that calls the above script. The above then becomes: ```bash ./orbit.sh -o start ./orbit.sh -o enter ``` Fixes #23 ## 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 updated the changelog and the corresponding version in the extension's `config/extension.toml` file --------- Co-authored-by: Mayank Mittal <[email protected]>
# 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 --> As a step towards supporting sensors as "Views", this PR upgrades the `SensorBase` class to follow a similar definition as `RobotBase` and updates the sensor implementations as well. Now, the following sensors are supported: * `Camera`: This spawns a USD camera object and instantiates it with replicator OmniGraph for different synthetic data * `RayCaster`: This is a virtual sensor that uses a warp kernel for raycasting against static meshes. * `ContactSensor`: This wraps around the `RigidContactView` from PhysX to provide the contact forces on encapsulated prims. Note: Currently camera rendering is not truly parallelized. They are called sequentially inside the `Camera` to fetch their data. Additionally, some camera data such as bounding boxes are not possible to get in the torch backend. Due to this, they are not supported in the new `Camera` class. Old the old sensor implementations have been moved to the `omni.isaac.orbit.compat.sensors` module for backwards compatibility. We will remove them once we have moved to v1.0. Fixes #3 <!-- 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. --> - 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 <!-- 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 -->
# Description The `launch.json` file is very user-specific. Previously this was always getting pushed along with other commits which led to merge conflicts when merging branches from different users. Now, the `launch.json` is generated from a template if it doesn't already exist in the `.vscode` directory. The users can modify the `.vscode/launch.json` as they please afterward, but their changes won't get pushed to git itself. Fixes #46 ## 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 updated the changelog and the corresponding version in the extension's `config/extension.toml` file
…sent (#76) # Description Previously, type annotation was always required to make the terms follow the order in which they are defined in the configclass. If this was not done, then the terms were getting sorted alphabetically which made it different from the expected behavior (user-defined order). On further inspection, turned out that in our wrappers for configclass, we were using `dir(cls)` to parse the class members, which sorts all the members of the class alphabetically. Changing it to `cls.__dict__` fixed this issue since in Python 3.7 onwards, dictionaries follow the user-defined ordering. Since this behavior changes the way config terms are parsed, the old configclass still exists inside the `omni.isaac.orbit.compat.utils.configclass` module so that people can still run policies trained with the old ordering. ## Type of change - Bug fix (non-breaking change which fixes an issue) - Breaking change (fix or feature that would cause existing functionality to not work as expected) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [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
# Description * Fixes the `omni.isaac.orbit.utils.math.quat_apply_yaw` to compute the yaw quaternion correctly. * Adds functions to convert string and callable objects in the `omni.isaac.orbit.utils.string` module. The function can deal with both module functions and lambda expressions. ## Type of change - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
# Description This PR introduces the concept of command generators that can be used for goal-conditioned environments. The idea is that these classes can be used for task specification and the same environment can be configured for different task logics (position-based locomotion vs velocity based control). Currently, the included command generators are specific to locomotion (SE(2) control). They have their own visualization schemes (arrows, boxes etc.) that can be useful for debugging. ## 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 updated the changelog and the corresponding version in the extension's `config/extension.toml` file
…n each term's configuration (#61) # Description This PR modifies the `ObservationManager` and `RewardManager` to change their default behavior. Earlier they expected that users inherit from the class and define member functions inside it to compute the terms. The function name was resolved from the term name itself. However, this prevented the reuse of common terms and the rewriting of a lot of code across environments. The changes made in this PR add another argument `func` to the term dictionary which now expects a function directly. This way users can use the same function multiple times for different terms. Example: ```python def get_contact_force(env, bodies): .... class ObservationManagerCfg: term_1 = {"func": get_contact_force, "bodies": "base"} term_2 = {"func": get_contact_force, "bodies": ".*_FOOT"} ``` The older class implementations have been moved to `omni.isaac.orbit.compat.utils.mdp` for compatibility. Additionally, we include `ManagerBase` and `ManagerBaseTermCfg` as a base class to ensure a better signature on how configuration terms are handled. ## 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 - [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 <[email protected]>
# Description This PR adds the following managers similar to how we currently handle observation and reward terms. * **Termination Manager**: Iterates over all the configured terms and computes the done signals as an OR operator over each term's output. Additionally, `time_outs` are handled separately as they are optional (i.e. only used in fixed-length episodic learning). * **Randomization Manager**: Handles various randomization (such as resetting the state of the environments, and modifying various physics attributes). * **Curriculum Manager**: Iterates over all the configured terms and sets the curriculum setting into the environment accordingly. ## 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 updated the changelog and the corresponding version in the extension's `config/extension.toml` file --------- Co-authored-by: David Hoeller <[email protected]> Co-authored-by: Nikita Rudin <[email protected]>
# Description This MR adds checks to the `dataclass` wrapper called `configclass` to extend its support for types. This supports type hinting annotations such as `type`, `Type[Myclass]`, and `ClassVar[type]`. It also adds a method called `replace` to the configclass that calls the [`dataclasses.replace`](https://docs.python.org/3/library/dataclasses.html#dataclasses.replace) function. This has been added for the convenience of users. ## Type of change - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file
# Description This MR fixes the issue with multiple inheritances in the `omni.isaac.orbit.utils.configclass` decorator. Earlier, if the inheritance tree was more than one level deep and the lowest-level configuration class was not updating its values from the middle-level classes. This was happening because in the middle-level classes, the default values were being updated to dataclass fields and were not visible anymore in the dictionary of the class itself. The configclass now checks for their values in the `__dataclass_fields__` of the class as well. This was a regression in behavior but has been fixed now with a unit test to capture deeper inheritance in configclass. ## 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
# Description So far we have only been able to run the training script in headless mode. However, this has posed limitations in our workflows since we always want to check the policy in between the training iterations and not just at the end. This MR creates a simple UI that allows toggling between full rendering and no rendering. * In full-rendering, the environment is rendered at every `env.step()` call, i.e. it happens at the environment frequency (not the physics dt or rendering dt). * In no-rendering, the environment rendering is disabled. However, we still throttle the UI at every five environment steps to still allow UI interactions (otherwise keyboard and mouse interactions get blocked). Additionally, the MR fixes the behavior of UI interactions when hitting the pause/stop buttons: * When paused: the environment blocks itself and waits for play to happen. * When stopped: the environment closes itself and shutdowns the simulation app, instead of just throwing an error. However, there is no free cost here. Running with the GUI still causes some slowdowns. For training `Isaac-Ant-v0` with RL-Games, the following numbers are obtained: * headless: ~170,000 FPS (sim), ~98,000 FPS (total) * UI with no-rendering: ~150,000 FPS (sim), 88,000 FPS (total) * UI with full-rendering: ~40,000 FPS (sim), 25,000 FPS (total) ## 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) ## Screenshots https://github.com/isaac-orbit/orbit/assets/12863862/2bc61fdc-c392-43ed-bbd5-12c743ca3150 ## 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
# Description * Changed the behavior of the `omni.isaac.orbit.terrains.TerrainImporter` class. It now expects the terrain type to be specified in the configuration object. This allows the user to specify everything in the configuration object and not have to do an explicit call to import a terrain. * Fixed setting of quaternion orientations inside the `omni.isaac.orbit.markers.Visualizationmarkers` class. Earlier, the orientation was being set into the point instancer in the wrong order (`wxyz` instead of `xyzw`). ## Type of change - Bug fix (non-breaking change which fixes an issue) - Breaking change (fix or feature that would cause existing functionality to not work as expected) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] 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
# 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 <[email protected]> Co-authored-by: Nikita Rudin <[email protected]> Co-authored-by: Farbod Farshidian <[email protected]>
#98) # 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
# 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
# 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
# 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
# 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
# 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
# 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
# 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 <[email protected]> Co-authored-by: Mayank Mittal <[email protected]>
# 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 <[email protected]>
# Description This MR adds the locomotion velocity task for the Cassie robot. ## 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 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
# Description This MR reorganizes the sensor tutorials. Hence, there is only one sensor tutorial introducing spawning sensors to an `InteractiveScene` and some minimal tutorials for other sensors. The USD camera tutorial is converted into a how-to save camera image. Note: the how-to has to be fixed in a separate PR as we have to see what is the best way to save images efficiently, the Replicator Writer might have been updated in the meantime. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there --------- Co-authored-by: Mayank Mittal <[email protected]>
# Description A few demo and tutorial doesn't use all of AppLauncher's CLI args, supply their own --headless args, or still use SimulationApp-- this fixes that. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
# Description This pull request fixes fetching actuator parameters from USD. Before, when you had multiple actuator groups, each of which takes actuator parameters directly from the articulation's USD, only the first actuator group values were correctly set. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
# Description Earlier, the markers set "invisible" to secondary rays on the wrong prim (XForm instead of mesh). For context, this property is used when we don't want to see the marker prims on secondary rendering operations used to compute depth and semantic images. However, the markers are still visible on RGB. This MR makes sure that the marker prims are invisible to these rays by setting the property on the correct prim. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Screenshots | Before | After | | ------ | ----- | | ![earlier](https://github.com/isaac-orbit/orbit/assets/12863862/140f0afb-86bc-48e9-9812-7e7d9489cecb) | ![now](https://github.com/isaac-orbit/orbit/assets/12863862/643b1ed3-b454-4a94-b2e7-256aed012d13) | ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
# Description Currently, the ray-cast and camera sensors don't support having regex expression in the leaves. While we must address this (#313), we add this to our future plans. For now, this MR adds a check to make sure users are aware and don't do a wrong operation. ## 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 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
#322) # Description This will cause the carb logs to be also be captured by the isaac-logs volume. ## 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 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
# Description Our previous reasoning of not updating the sensors since the 'scene' is not updated does not work well on resets. It was done assuming the update is called right after reset. However, nowhere in the code, this seems to be the case anymore. This MR makes sure sensors are always updated when they are reset. The reset method should set values to zeros or defaults when the sensor data is invalid. ## 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 - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
# Description This MR makes sure the IK example works properly again. It adds the IK action space to the lift environment. Additionally, it fixes the state machine for the lift environment. ## 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 - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
# Description This MR reviews the how-tos documentation and ensures they are all somewhat consistent. ## Type of change - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
# Description Currently, the command to play a trained RL model is lacking the flag that will make it use the latest checkpoint, despite that behavior being described as expected in the surrounding text. This MR adds the flag. It also removes a statement that 'by default' the above command will load the latest checkpoint, because it could be potentially confusing as that behavior is only 'by default' when you use the flag. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
…293) # Description Add a dependency to resolve an opencv-python error when trying to log runs with weight and biases in a singularity setup on a SLURM cluster. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
# Description This MR fixes the minor issues to ensure the data collection and environment tests work. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
# Description This MR adds the documentation on how to import an asset into USD format. ## 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 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
# Description Since we now handle the PhysX views directly, we need to make sure they are deleted properly when the simulation is stopped. This MR adds the missing implementation for invalidating the views in all sensors and asset classes. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
# Description Moves the robot configs from orbit core to orbit assets. ## Type of change - New feature (non-breaking change which adds functionality) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there --------- Co-authored-by: Mayank Mittal <[email protected]>
After the great tutorial refactor of 2023, the installation guide wasn't updated. This PR updates the path there. Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. Fixes #334 <!-- 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 - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
# Description Adjust the line numbers in the tutorials and how-to's to account for latest changes in the code files. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
# Description Ensures that a viewport is available when `--livestream/LIVESTREAM > 0` in AppLauncher. See [this PR](isaac-orbit/IsaacLab#310) for more details. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
# Description Adds current environments to the docs with a description, an image, and a link to the environment. ## 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 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
# Description This MR fixes the code highlighting in the troubleshooting docs. It was referring to Isaac Sim stuff which we don't need to do anymore. ## 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 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
Dhoeller19
added a commit
that referenced
this pull request
Sep 20, 2024
# Description Updates asset and docker paths to Isaac Sim 4.2 ## 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 `./isaaclab.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This branch will be merged to main after the following checklist is completed:
gymnasium
libraryCONTRIBUTORS.md
Fixes #106
Type of change
Checklist
pre-commit
checks with./orbit.sh --format
config/extension.toml
file