Skip to content

Add OVXR camera panels, G1 feedback cameras and desktop mirror - #8790

Draft
hougantc-nvda wants to merge 4 commits into
isaac-sim:mainfrom
hougantc-nvda:hougantc/kitless-pip-desktop-mirror
Draft

hougantc-nvda wants to merge 4 commits into
isaac-sim:mainfrom
hougantc-nvda:hougantc/kitless-pip-desktop-mirror

Conversation

@hougantc-nvda

@hougantc-nvda hougantc-nvda commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Description

Review stack · 4/5: #8787 → #8788 → #8789 → #8790 → #8791

Review only this PR’s changes. The PRs target main; the comparison isolates this layer from its predecessors.

Add optional robot-camera panels (PiP) and a desktop mirror to OVXR teleoperation. Both consume the session's completed images; headset-only operation still needs no desktop window.

  • isaaclab_teleop: selects camera feeds and supplies configured CameraPanelConsumer and OwnedDesktopMirror instances through OvxrSessionBinding.frame_consumers.
  • isaaclab_ov: owns camera allocation, scene publication and native resource lifetime through the existing render lease.
  • Isaac Capture: owns panel presentation and the mirror (#1295, #1296).

GR1T2 and G1 locomanipulation expose a robot-view camera; fixed-base G1 adds two wrist feeds. Its camera/image-observation defaults also affect non-XR use; the documented camera-disable option remains available. Kit Scene UI retains its feed settings. SO101 has no declared PiP camera.

The adapter uses a tuple of auxiliary render-product paths for both one and multiple cameras. The mirror uses OVUI's default Vulkan backend. Neither Lab nor Isaac Capture changes OMNIUI_BACKEND; conflicting initialized backends are rejected. Neither optional consumer is created when disabled.

Panels use the existing renderer and a head-locked layout. The mirror shows completed eye or camera images; eye images exclude the separate PiP layers. Closing the mirror requests orderly application shutdown.

PiP/mirror require the matching CUDA 13 package selection. The mirror also requires Python 3.12+, Capture's desktop-mirror extra and a usable GPU-backed Vulkan display. See camera panels and desktop mirror for selection and display constraints.

Dependencies: compatible Isaac Capture OVXR packages and the provider upgrade in #8858. Native-provider defaults are unchanged.

Type of change

  • New feature
  • Bug fix
  • Documentation update

Unsupported panel placements are rejected at the OVXR resolver boundary; the separate Kit Scene UI placements remain supported.

Testing

Results cover the cumulative five-PR stack on main 6ef40d19a6f8d3770f86b5c4df3f8ccfb6a25f95. Kitless checks use Isaac Capture ae48621f1cc13054c2246210d8f92d30e27fe354 built from source using Python 3.12; Kit checks use Lab's upstream locked Capture selection. They are not independent full-repository results for each PR.

  • 1,039 cases across 51 selected Lab/Kit files passed, with no remaining failures or skips. Coverage includes ordinary rendering, native cross-GPU publication, graph capture, startup interruption, failed-drain ownership, retargeting, task selectors, and 140 Kit-selected cases including launch/replay and Scene UI.
  • Five Omen IWER scenes passed stereo/task-object inspection, meaningful input, Reset and normal mirror-close shutdown: GR1T2 CPU and split-GPU Newton, G1 locomanipulation CPU, fixed-base G1 Newton and SO101 CPU. Humanoid PiP was checked; SO101 uses mirror only. Reconnect/resumed input was checked for G1 and GR1T2 Newton.
  • The ordinary Kit headless Franka XR path passed stereo scene, motion, Reset and reconnect checks. It ended by deliberate owner interrupt after client disconnect; its detached CloudXR service was explicitly stopped afterward.
  • Formatting, changelog checks, warning-as-error Sphinx and the kitless dependency/selected-extra checks passed. The installed Capture wheel and staged package files were verified identical.

Limits: these are synthetic IWER checks, not physical-headset acceptance or full task completion. Cold renderer attach, intermittent GR1T2 first-Play recovery and SO101 cube retention remain open. Kit's upstream dependency selection reports nine metadata inconsistencies, including NumPy/Numba; passing the selected Kit tests does not qualify that entire dependency graph. Full-repository, hosted-CI and arm64 coverage are not claimed.

See #8791 for the matched video-rate measurements.

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with uv run isaaclab --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have validated the changed behavior with focused coverage and applied the test-audit criteria to any test changes
  • I have added a changelog fragment under source/<pkg>/changelog.d/ for every touched package (do not edit CHANGELOG.rst or bump package versions — CI handles that)
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

The warnings checkbox remains open: dependency warnings and the separate Kit metadata audit are unresolved.

@github-actions github-actions Bot added documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team labels Oct 23, 2026
@hougantc-nvda
hougantc-nvda force-pushed the hougantc/kitless-pip-desktop-mirror branch from a0a93cd to 28f136a Compare October 23, 2026 19:25
@hougantc-nvda
hougantc-nvda force-pushed the hougantc/kitless-pip-desktop-mirror branch 6 times, most recently from 33fdb7a to e480f6f Compare October 26, 2026 17:17
@hougantc-nvda hougantc-nvda changed the title Add camera panels and a desktop mirror for OVXR Add OVXR camera panels, G1 feedback cameras and desktop mirror Oct 26, 2026
@hougantc-nvda
hougantc-nvda force-pushed the hougantc/kitless-pip-desktop-mirror branch from f8910f6 to c342309 Compare October 27, 2026 16:08
Signed-off-by: Hougant Chen <hougantc@nvidia.com>
Signed-off-by: Hougant Chen <hougantc@nvidia.com>
Signed-off-by: Hougant Chen <hougantc@nvidia.com>
Signed-off-by: Hougant Chen <hougantc@nvidia.com>
@hougantc-nvda
hougantc-nvda force-pushed the hougantc/kitless-pip-desktop-mirror branch from 1921fc8 to 1c0382a Compare October 29, 2026 02:05

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation infrastructure isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant