Skip to content

[pull] develop from isaac-sim:develop - #40

Merged
pull[bot] merged 5 commits into
mataylor-nvidia:developfrom
isaac-sim:develop
Sep 17, 2026
Merged

pull[bot] merged 5 commits into
mataylor-nvidia:developfrom
isaac-sim:develop

Conversation

@pull

@pull pull Bot commented Sep 17, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

maxkra15 and others added 5 commits September 17, 2026 07:05
# Description

Pin the Franka Pour robot asset to its authored `Colliders=convex_hulls`
variant. The primitive default omits the arm collision meshes (`link0_c`
through `link7_c`) required by the task, preventing the current Newton
MPM environment from starting correctly.

This keeps the current 70% / 735-particle layout unchanged.

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## Release backport

- [x] <!-- backport-active-release --> Backport this pull request to the
active release branch after it merges into `develop`

## Screenshots

Not applicable.

## Validation

- `uv run --extra test python -m pytest -q
source/isaaclab_tasks/test/contrib/test_franka_pour_env_cfg.py` (13
passed)
- `uv run isaaclab -f`
- Local Newton GL playback with the published `model_6997.pt` checkpoint
and one current-layout environment

## Checklist

- [x] I have read and understood the contribution guidelines
- [x] I have run the pre-commit checks
- [x] Documentation changes are not required for this task configuration
fix
- [x] My changes generate no new warnings
- [x] I have added a test that proves the asset variant contract
- [x] I have added a changelog fragment for `isaaclab_tasks`
- [x] My name already exists in `CONTRIBUTORS.md`
)

Franka Lift can stall while filling its reset-state bank: the updated
`franka_panda.usda` defaults to `Colliders=primitives`, whose first-link
capsule extends 6 cm below the ground. The existing ground-clearance
criterion rejects every candidate, leaving the RSL-RL export batch at
`0/2048` until its 600-second timeout. This PR selects
`Colliders=convex_hulls` on the robot configuration shared by rigid
Franka Lift and Reorient, restoring the previous collision geometry and
successful reset sampling.

The affected asset and reset setup originated in
[#6457](#6457)
([564a008](564a008)),
then moved into the current Lift tasks in
[#6732](#6732)
([73106da](73106da)).
The triggering change is external: the production Franka asset's top
layer now selects primitive colliders and reports `Last-Modified:
2026-09-15 22:49:27 GMT`. Controlled comparisons found 0 valid states in
128 draws with the new default; explicit convex hulls and the preserved
old asset both produced 63 valid states from the same draws.

The same reset hang appeared in CI for #7838, #7608, #7832, #7834, and
#7866. [The #7866 RL
log](https://github.com/isaac-sim/IsaacLab/actions/runs/35202342707/job/105139978507)
shows the batch blocked on Franka Lift after environment setup. #7866
fixes the independently configured Franka Pour task; it does not change
Lift's robot configuration. This change covers Lift/Reorient only.

Validation:

- Fresh regression check on this branch: both Lift/Reorient cases failed
without the production fix; all 9 tests in `test_lift_env_cfg.py` passed
with it.
- `uv run isaaclab -f` passed.
- Earlier GPU validation of the identical Lift change completed the
original 2,048-state harvest and reset in 22.169 seconds; the existing
four-task RSL-RL export batch passed in 107.92 seconds.
- Local GPU validation used PyTorch 2.11+cu128, Newton 1.6rc1, and
RSL-RL 5.4.1. The identical Lift fix also passed [the full
locked-environment RL CI job in
#7865](https://github.com/isaac-sim/IsaacLab/actions/runs/35207648168/job/105158711330).

Reset-bank sizes, clearance criteria, export behavior, the global Franka
defaults, and Pour remain unchanged.
# Description

Update the nightly Isaac Sim image job so its generated pull request
body follows the repository PR template. Automatically comment `run-ci`
when the workflow opens a PR or pushes a new update commit, while
avoiding duplicate triggers when an existing update branch is unchanged.

This addresses the manual follow-up needed on #7773. No new dependencies
are required.

Validation:

- Parsed the workflow as YAML.
- Validated the workflow with `actionlint` (excluding its pre-existing
`client-id`/`app-id` metadata mismatch for
`actions/create-github-app-token@v3`).
- Checked the embedded shell with `bash -n`.
- Mocked new, changed, and unchanged PR cases and verified `run-ci` is
posted exactly when needed.
- `uv run isaaclab -f` could not run because the repository lockfile
does not support macOS ARM64.

## Type of change

- Infrastructure update

## Release backport

- [ ] <!-- backport-active-release --> Backport this pull request to the
active release branch after it merges into `develop`

## Screenshots

Not applicable.

## Checklist

Docker and GPU tests run on demand. Push the commits you want tested,
then
comment `run-ci` on the pull request.

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation (not
applicable; workflow-only change)
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works (mocked workflow cases)
- [x] I have added a changelog fragment under
`source/<pkg>/changelog.d/` for every touched package (not applicable;
no source package changed)
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
A standalone demo that becomes ready at 299 seconds is currently
terminated at the 300-second startup deadline, before its five-second
soak can finish. This caused the arms smoke test in #7608 and #7674 to
fail after printing its setup and reset messages. Stop applying the
startup deadline once the readiness marker has been observed, while
preserving the existing 300-second startup and five-second soak
settings.

The unconditional deadline was introduced by
[#6704](#6704), commit
[16083cc](16083cc).
This fix does not address the separate arms failures in #7838 and #7866
that never reached readiness within 300 seconds.

Validation: the deterministic regression fails on develop and passes
with this change; all 11 supervisor checks pass; `uv run isaaclab -f`
passes.
`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>
@pull pull Bot locked and limited conversation to collaborators Sep 17, 2026
@pull pull Bot added the ⤵️ pull label Sep 17, 2026
@pull
pull Bot merged commit e836331 into mataylor-nvidia:develop Sep 17, 2026
12 of 13 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants