Conversation
|
There was a problem hiding this comment.
Isaac Lab Review Bot
The patch filters inactive clone-plan source rows before export and expands nested USD instances only in the temporary legacy OVRTX export. The live simulation stage, ovstage path, and single-environment export retain existing instancing behavior.
- Design and architecture: The de-instancing is appropriately confined to the existing legacy
keep_env_rootsbranch and anonymous export session. The original clone plan remains intact for scale capture, clone queries, and backend row indexing. - API: No public signature or default changes.
export_stage_to_stringretains its existing parameters and single-environment behavior, while its documentation and theisaaclab_ovchangelog fragment describe the changed legacy export behavior. - Implementation: The active-source filter removes all-false clone-mask rows before export, avoiding placeholder paths with no corresponding prim. Tests cover inactive variant rows in both renderer paths, nested-instance expansion only in legacy multi-environment exports, and preservation of the input stage. De-instancing may increase temporary USDA size for heavily instanced assets, but it is scoped to the affected legacy export path.
No blocking issues. No inline issue met the actionable-evidence threshold; the assessment above records the review feedback.
Automated review; human maintainers own approval decisions.
|
run-ci |
| # Native legacy cloning omits instanced visuals; expand only the renderer's copy. | ||
| with Usd.EditContext(export_stage, export_session): | ||
| for source_path in source_paths: | ||
| make_uninstanceable(source_path, stage=export_stage) |
There was a problem hiding this comment.
is this supposed to be required? does this happen pre or post cloning?
There was a problem hiding this comment.
this is for legacy renderer.clone_usd() path, becuase it currently drops geometry beneath nested USD instances - instead we expand instances in the temporary export before OVRTX loads and clones it. it does not modify the simulation stage, and the ovstage path skips the workaround and retains instancing. this is pre cloning
There was a problem hiding this comment.
would it impact the rendering performance? if we make visual geometries not instanceable, it normally increases the memory usage quite a bit.
|
run-ci |
`OperationalSpaceControllerAction` and the OSC integration-test helper used link-origin poses and Jacobians together with center-of-mass velocity feedback. When a link rotates with an offset center of mass, these quantities describe different points, producing incorrect velocity feedback. The task-frame test also copied rounded command quaternions directly into reference frames, producing inconsistent composed targets. Use `body_link_vel_w` and `root_link_vel_w` in both OSC callers, and normalize the test's cloned task-frame quaternion before coordinate conversion. Controller gains, raw command fixtures, convergence tolerances, and step budgets match the base branch; the nullspace damping ratio remains 1.0. Two direct regressions guard these contracts: a moving, fixed-base Franka checks each caller's velocity against its link Jacobian multiplied by measured joint velocity, and a numerical check verifies that the same rounded command resolves to the same absolute target through root and task frames without mutating its inputs. Provenance: - [#5400](#5400) migrated both OSC callers to `body_link_jacobian_w` while retaining the COM velocity accessors. - The rounded fixtures and unnormalized task-frame copy originated in [#913](#913). [#7624](#7624) later normalized absolute pose commands, while the separately supplied frame remained unnormalized. The exact change that first exposed the convergence failures has not been bisected; these references establish the input inconsistencies, not the first failing CI run. Validation: - Restoring COM feedback makes both velocity regression cases fail, with a maximum linear-velocity discrepancy of 0.01469 m/s versus the 1e-4 assertion tolerance. Both pass with link-origin feedback. - Removing frame normalization makes the target-equivalence regression fail with a quaternion-component discrepancy of 0.00010675 versus the 1e-6 tolerance. It passes with the correction. - The previously failing `test_franka_taskframe_pose_abs` and original `test_franka_pose_abs_with_nullspace_centering` both pass with damping 1.0. - Full OSC integration file: **21 passed** in 113 seconds, including all three new regression cases. - `uv run isaaclab -f` passes. The earlier RL, legacy-rendering, and contrib failures have matching failures and passing corresponding jobs in separate fixes: #7870, #7871, and #7866, respectively. Those fixes remain separate from these OSC corrections. --------- Co-authored-by: Kelly Guo <kellyg@nvidia.com>
…7868) `OperationalSpaceControllerAction` and the OSC integration-test helper used link-origin poses and Jacobians together with center-of-mass velocity feedback. When a link rotates with an offset center of mass, these quantities describe different points, producing incorrect velocity feedback. The task-frame test also copied rounded command quaternions directly into reference frames, producing inconsistent composed targets. Use `body_link_vel_w` and `root_link_vel_w` in both OSC callers, and normalize the test's cloned task-frame quaternion before coordinate conversion. Controller gains, raw command fixtures, convergence tolerances, and step budgets match the base branch; the nullspace damping ratio remains 1.0. Two direct regressions guard these contracts: a moving, fixed-base Franka checks each caller's velocity against its link Jacobian multiplied by measured joint velocity, and a numerical check verifies that the same rounded command resolves to the same absolute target through root and task frames without mutating its inputs. Provenance: - [isaac-sim#5400](isaac-sim#5400) migrated both OSC callers to `body_link_jacobian_w` while retaining the COM velocity accessors. - The rounded fixtures and unnormalized task-frame copy originated in [isaac-sim#913](isaac-sim#913). [isaac-sim#7624](isaac-sim#7624) later normalized absolute pose commands, while the separately supplied frame remained unnormalized. The exact change that first exposed the convergence failures has not been bisected; these references establish the input inconsistencies, not the first failing CI run. Validation: - Restoring COM feedback makes both velocity regression cases fail, with a maximum linear-velocity discrepancy of 0.01469 m/s versus the 1e-4 assertion tolerance. Both pass with link-origin feedback. - Removing frame normalization makes the target-equivalence regression fail with a quaternion-component discrepancy of 0.00010675 versus the 1e-6 tolerance. It passes with the correction. - The previously failing `test_franka_taskframe_pose_abs` and original `test_franka_pose_abs_with_nullspace_centering` both pass with damping 1.0. - Full OSC integration file: **21 passed** in 113 seconds, including all three new regression cases. - `uv run isaaclab -f` passes. The earlier RL, legacy-rendering, and contrib failures have matching failures and passing corresponding jobs in separate fixes: isaac-sim#7870, isaac-sim#7871, and isaac-sim#7866, respectively. Those fixes remain separate from these OSC corrections. --------- Co-authored-by: Kelly Guo <kellyg@nvidia.com> (cherry picked from commit e836331)
This reverts commit 578e6e0.
…7868) `OperationalSpaceControllerAction` and the OSC integration-test helper used link-origin poses and Jacobians together with center-of-mass velocity feedback. When a link rotates with an offset center of mass, these quantities describe different points, producing incorrect velocity feedback. The task-frame test also copied rounded command quaternions directly into reference frames, producing inconsistent composed targets. Use `body_link_vel_w` and `root_link_vel_w` in both OSC callers, and normalize the test's cloned task-frame quaternion before coordinate conversion. Controller gains, raw command fixtures, convergence tolerances, and step budgets match the base branch; the nullspace damping ratio remains 1.0. Two direct regressions guard these contracts: a moving, fixed-base Franka checks each caller's velocity against its link Jacobian multiplied by measured joint velocity, and a numerical check verifies that the same rounded command resolves to the same absolute target through root and task frames without mutating its inputs. Provenance: - [isaac-sim#5400](isaac-sim#5400) migrated both OSC callers to `body_link_jacobian_w` while retaining the COM velocity accessors. - The rounded fixtures and unnormalized task-frame copy originated in [isaac-sim#913](isaac-sim#913). [isaac-sim#7624](isaac-sim#7624) later normalized absolute pose commands, while the separately supplied frame remained unnormalized. The exact change that first exposed the convergence failures has not been bisected; these references establish the input inconsistencies, not the first failing CI run. Validation: - Restoring COM feedback makes both velocity regression cases fail, with a maximum linear-velocity discrepancy of 0.01469 m/s versus the 1e-4 assertion tolerance. Both pass with link-origin feedback. - Removing frame normalization makes the target-equivalence regression fail with a quaternion-component discrepancy of 0.00010675 versus the 1e-6 tolerance. It passes with the correction. - The previously failing `test_franka_taskframe_pose_abs` and original `test_franka_pose_abs_with_nullspace_centering` both pass with damping 1.0. - Full OSC integration file: **21 passed** in 113 seconds, including all three new regression cases. - `uv run isaaclab -f` passes. The earlier RL, legacy-rendering, and contrib failures have matching failures and passing corresponding jobs in separate fixes: isaac-sim#7870, isaac-sim#7871, and isaac-sim#7866, respectively. Those fixes remain separate from these OSC corrections. --------- Co-authored-by: Kelly Guo <kellyg@nvidia.com> (cherry picked from commit e836331)
…7868) `OperationalSpaceControllerAction` and the OSC integration-test helper used link-origin poses and Jacobians together with center-of-mass velocity feedback. When a link rotates with an offset center of mass, these quantities describe different points, producing incorrect velocity feedback. The task-frame test also copied rounded command quaternions directly into reference frames, producing inconsistent composed targets. Use `body_link_vel_w` and `root_link_vel_w` in both OSC callers, and normalize the test's cloned task-frame quaternion before coordinate conversion. Controller gains, raw command fixtures, convergence tolerances, and step budgets match the base branch; the nullspace damping ratio remains 1.0. Two direct regressions guard these contracts: a moving, fixed-base Franka checks each caller's velocity against its link Jacobian multiplied by measured joint velocity, and a numerical check verifies that the same rounded command resolves to the same absolute target through root and task frames without mutating its inputs. Provenance: - [isaac-sim#5400](isaac-sim#5400) migrated both OSC callers to `body_link_jacobian_w` while retaining the COM velocity accessors. - The rounded fixtures and unnormalized task-frame copy originated in [isaac-sim#913](isaac-sim#913). [isaac-sim#7624](isaac-sim#7624) later normalized absolute pose commands, while the separately supplied frame remained unnormalized. The exact change that first exposed the convergence failures has not been bisected; these references establish the input inconsistencies, not the first failing CI run. Validation: - Restoring COM feedback makes both velocity regression cases fail, with a maximum linear-velocity discrepancy of 0.01469 m/s versus the 1e-4 assertion tolerance. Both pass with link-origin feedback. - Removing frame normalization makes the target-equivalence regression fail with a quaternion-component discrepancy of 0.00010675 versus the 1e-6 tolerance. It passes with the correction. - The previously failing `test_franka_taskframe_pose_abs` and original `test_franka_pose_abs_with_nullspace_centering` both pass with damping 1.0. - Full OSC integration file: **21 passed** in 113 seconds, including all three new regression cases. - `uv run isaaclab -f` passes. The earlier RL, legacy-rendering, and contrib failures have matching failures and passing corresponding jobs in separate fixes: isaac-sim#7870, isaac-sim#7871, and isaac-sim#7866, respectively. Those fixes remain separate from these OSC corrections. --------- Co-authored-by: Kelly Guo <kellyg@nvidia.com> (cherry picked from commit e836331)
# Description Consolidates the complete `develop` to `release/3.0.0` backport set previously split across #7851, #7852, and #7853. Keeping the changes together lets CI validate the runtime, task, tooling, dependency, and renderer prerequisites as one coherent release tree. The aggregate includes all audited develop changes through `e8363313c`, including the latest #7866, #7867, #7868, #7869, and #7870 fixes. It also includes the exact net patch from #7871 (`412cac434` / patch ID `0f69afa6`) because the externally updated Franka asset already breaks the release legacy-rendering matrix; #7871 is still pending merge to `develop` at the time of this update. Release CI now uses the same immutable Isaac Sim `latest-develop` digest as `develop`: ```yaml isaacsim_image_tag: latest-develop@sha256:223adbb0a6f1897ed78d40597dac2efc740843e8051779ffdcbb021a9edc1217 ``` This supersedes #7852 and #7853. ## Type of change - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) - Documentation update - Release integration/backport ## Release backport - [ ] <!-- backport-active-release --> Not applicable: this PR targets `release/3.0.0` directly. ## Screenshots Not applicable. ## Validation - Latest five develop commits are patch-equivalent in the aggregate tree. - #7871 renderer fix matches its source patch ID exactly. - `.github/workflows/config.yaml` matches `develop`. - 33 OVRTX USD/export tests passed; 19 optional backend tests skipped locally. - 3 focused Franka Pour/Lift/Reorient collider regressions passed. - 45 standalone supervisor tests passed; 386 simulator launch cases skipped locally. - All 23 repository skills validated. - Ruff check and formatting check passed on all manually merged/latest-fix Python files. - Workflow YAML parsing, `uv lock --check`, and aggregate `git diff --check` passed. - Full `uv run isaaclab -f` and local docs build cannot run on macOS ARM64 because the lock supports Linux x86_64/aarch64 and Windows AMD64; Linux CI is authoritative for those checks. ## Checklist - [x] I have read and understood the contribution guidelines. - [ ] I have run the full pre-commit command locally (platform-incompatible; focused Ruff/format checks passed and CI is running). - [x] I have made corresponding documentation changes. - [x] My focused local checks generate no new warnings. - [x] I have added/backported tests that prove the fixes are effective. - [x] I have included changelog fragments for every touched source package. - [x] Contributor attribution is preserved from the source changes. --------- Signed-off-by: Kelly Guo <kellyg@nvidia.com> Co-authored-by: Rebecca Zhang <168459200+rebeccazhang0707@users.noreply.github.com> Co-authored-by: Kai Pei <2047767028@qq.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com> Co-authored-by: ooctipus <zhengyuz@nvidia.com> Co-authored-by: Mustafa H <34825877+StafaH@users.noreply.github.com> Co-authored-by: Maximilian Krause <99733341+maxkra15@users.noreply.github.com> Co-authored-by: Ege Sekkin <72572910+nvsekkin@users.noreply.github.com> Co-authored-by: Antoine RICHARD <antoiner@nvidia.com> Co-authored-by: Piotr Barejko <pbarejko@nvidia.com> Co-authored-by: nvsekkin <esekkin@nvidia.com> Co-authored-by: camevor <camevor@nvidia.com> Co-authored-by: hujc <jichuanh@nvidia.com> Co-authored-by: marcodiiga <1969828+marcodiiga@users.noreply.github.com> Co-authored-by: Alesiani Marco <marcodiiga@users.noreply.github.com> Co-authored-by: Diego Ferigo <dferigo@rai-inst.com> Co-authored-by: Matthew Taylor <mataylor@nvidia.com> Co-authored-by: Yuchen Deng <yuchendeng@nvidia.com> Co-authored-by: Daniela Hase <116915287+daniela-hase@users.noreply.github.com> Co-authored-by: Henry Hu <yukanghu7@163.com> Co-authored-by: r-schmitt <139814266+r-schmitt@users.noreply.github.com>
## Summary - Revert the OVRTX source and test changes from open PR #7871 that were inadvertently included in release backport #7851. - Restore the four affected implementation/test files to the exact `develop` versions at `e8363313c1441788a4619157954b1842d3857759`. - Preserve the older release-only OVRTX mapping compatibility code and existing immutable changelog fragments. - Add a corrective `isaaclab_ov` changelog fragment for this release-only revert. ## Validation - `tools/changelog/cli.py check --include-worktree` against `release/3.0.0` - `ruff check` on the four affected Python files - `ruff format --check` on the four affected Python files - `python -m py_compile` on the four affected Python files - `git diff --check` - Confirmed no diff versus `develop` for the four reverted implementation/test files The OVRTX runtime tests and `uv run isaaclab -f` cannot resolve on this macOS arm64 host because the project lock supports Linux x86_64/aarch64 and Windows AMD64. Linux PR CI is the authoritative runtime validation. ## Type of change - Bug fix (release alignment) ## Checklist - [x] The reverted implementation and tests match `develop` - [x] No docs branch routing changes are included - [x] Existing changelog compilation/history differences are left untouched - [x] A new changelog fragment documents the release-only revert
Legacy OVRTX cloning drops nested instanced geometry, leaving Franka robots visible only in environment 0. Expand instances in the renderer's temporary USD export, while preserving the simulation stage and the ovstage and single-environment paths. Export only clone-plan rows with active destinations: unused variants intentionally retain placeholder paths without spawning USD prims.
The production
franka_panda.usdareportedLast-Modified: Tue, 15 Sep 2026 22:49:27 GMTand switched frombase.usdato compact collider payloads containing instanced visual groups. Export deinstancing directly reproduces and fixes the missing clones; attribution to that external asset publication is an inference from its composition and timing, and no asset source commit is available. The first fix in #7865, commit3ce2ea18f, introduced the confirmed Kuka regression by expanding inactive source paths (/World/envs/env_4/Objectwith 16 variants and four environments); this change handles both cases at the renderer export boundary.Validation:
uv run --no-sync isaaclab -fpassed. GPU comparisons passed in 94.72 seconds with the existing shader cache; an initial cold-cache attempt reached its five-minute watchdog after two passing cases.Local GPU validation uses the existing environment's Newton 1.6.0rc1; CI resolves stable 1.6.0.