Commit 31f4e9cd authored by rwiltz's avatar rwiltz Committed by Kelly Guo

Fixes XR teleop performance issues (#221)

# Description

- Updated kit file for xr to include async rendering and GPU limit
increase
- Set xr anchor to active camera
- Conditionally remove rate limiting in record_demos.py if handtracking
is used


## 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

Please attach before and after screenshots of the change if applicable.

<!--
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
`./isaaclab.sh --format`
- [X] I have made corresponding changes to the documentation
- [X] My changes generate no new warnings
- [X] I have added tests that prove my fix is effective or that my
feature works
- [X] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [X] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->
parent d083ab36
......@@ -17,6 +17,14 @@ app.folder = "${exe-path}/"
app.name = "Isaac-Sim"
app.version = "4.5.0"
### async rendering settings
omni.replicator.asyncRendering = true
app.asyncRendering = true
app.asyncRenderingLowLatency = true
# For XR, set this back to default "#define OMNI_MAX_DEVICE_GROUP_DEVICE_COUNT 16"
renderer.multiGpu.maxGpuCount = 16
[dependencies]
"isaaclab.python.rendering" = {}
"isaacsim.xr.openxr" = {}
......@@ -28,7 +36,9 @@ app.version = "4.5.0"
[settings]
# xr settings
xr.ui.enabled = false
xrstage.profile.ar.anchorMode = "scene origin"
xrstage.profile.ar.anchorMode = "active camera"
xr.depth.aov = "GBufferDepth"
defaults.xr.profile.ar.renderQuality = "off"
# Register extension folder from this repo in kit
[settings.app.exts]
......
......@@ -122,6 +122,10 @@ def pre_process_actions(delta_pose: torch.Tensor, gripper_command: bool) -> torc
def main():
"""Collect demonstrations from the environment using teleop interfaces."""
# if handtracking is selected, rate limiting is achieved via OpenXR
if args_cli.teleop_device.lower() == "handtracking":
rate_limiter = None
else:
rate_limiter = RateLimiter(args_cli.step_hz)
# get directory path and file name (without extension) from cli arguments
......@@ -243,6 +247,7 @@ def main():
if env.unwrapped.sim.is_stopped():
break
if rate_limiter:
rate_limiter.sleep(env.unwrapped)
env.close()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment