Repository navigation
[Backport release/3.0.0] Wrench frame selection and schema migrations (#7536, #7971) - #7993
Conversation
) Backport the merged change unchanged to release/3.0.0. (cherry picked from commit 726f045)
|
There was a problem hiding this comment.
Isaac Lab Review Bot
Reviewed the backport’s central frame-selection change, including WrenchComposer eligibility tracking and the PhysX, Newton, and OvPhysX producer/consumer paths. No candidate finding identified a concrete defect requiring maintainer action.
- Design and architecture: The frame decision is centralized in WrenchComposer through boolean contribution state. Backend writers consume the selected frame rather than independently classifying wrench contents; partial resets conservatively retain eligibility flags, which can forgo an optimization but preserves composition correctness.
- API: The additive get_forces_and_torques() API returns force, torque, and is_global while supports_world_at_com remains keyword-only and defaults to the prior body-frame behavior. Existing body-frame output properties remain available, private kernel signature changes are reflected in the shown consumers, and changelog fragments cover the touched source packages.
- Implementation: The world-at-CoM path, local-frame path, mixed/positioned fallback, body-order remapping, and backend packing paths were traced. PhysX forwards the selected frame, OvPhysX conditionally rotates before packing, and Newton continues consuming body-frame values. Conservative state after partial or full-coverage indexed resets may cause extra pose reads until a full reset, but the documented behavior does not change wrench results.
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.
…7996) ## Description Backports #7967 (`37cfd637f6521dd36865f25918c303f120980acd`) to `release/3.0.0`, following the merged backport batch #7993. Corrects the rotation and torque lever-arm sign in FORGE's wrench transform. Removes the duplicate PhysX joint-frame conversion because the native wrench already uses the child-side joint frame and anchor. Includes the shared physical regression fixture, backend tests, documentation, and changelog fragments. The source change applies without conflicts. All added and removed lines match #7967; existing release-specific context in the Newton tests, sensor documentation, and development guidelines is preserved. ## Validation - Newton joint-wrench sensor suite and FORGE tests: **12 passed**. - PhysX joint-wrench sensor suite: **16 passed**, including the shared analytic frame check, recorded/eager updates, and resets. - File-by-file backport audit, `uv run --no-sync isaaclab -f`, and `git diff --check` passed. - Full Docker/GPU CI requested for this backport. Co-authored-by: Lynn <lynnhe02@gmail.com>
Description
Backports two merged changes to
release/3.0.0:WrenchComposer(726f045a7dd2052311bf64099b096391468f0292). Avoid unnecessary pose reads and composition for local wrenches and supported world-frame wrenches at the center of mass; preserve current-pose composition for mixed or positioned global forces. Includes the PhysX, Newton, and OvPhysX writers and regression tests.1370bb6f7ce1ab57b8939dd9e9b8bfde6f425000). Updates tutorials, demos, conversion tools, benchmarks, task configurations, and test fixtures while retaining the original migration's exclusions.Both backports apply unchanged, with no conflicts. All source changelog fragments are included.
Validation
uv run --no-sync isaaclab -fandgit diff --checkpassed on the combined branch.