Skip to content

Fix OVPhysX contact force history reset - #7208

Merged
AntoineRichard merged 1 commit into
isaac-sim:developfrom
AntoineRichard:antoiner/fix/ovphysx-force-matrix-history-reset-develop
Aug 21, 2026
Merged

Fix OVPhysX contact force history reset#7208
AntoineRichard merged 1 commit into
isaac-sim:developfrom
AntoineRichard:antoiner/fix/ovphysx-force-matrix-history-reset-develop

Conversation

@AntoineRichard

Copy link
Copy Markdown
Collaborator

Summary

  • clear filtered force-matrix history during OVPhysX contact-sensor resets
  • preserve history for environments outside the reset mask
  • add a CPU-only Warp regression test

Testing

  • uv run --extra test python -m pytest source/isaaclab_ov/test/sensors/test_contact_sensor_kernels.py
  • uv run python tools/changelog/cli.py check develop
  • uv run isaaclab -f

@AntoineRichard
AntoineRichard requested a review from a team August 20, 2026 07:19
@github-actions github-actions Bot added bug Something isn't working isaac-lab Related to Isaac Lab team labels Aug 20, 2026
@greptile-apps

greptile-apps Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR fixes OVPhysX contact-sensor resets so filtered force-matrix history is cleared only for selected environments.

  • Passes the force-matrix history buffer into the existing reset kernel.
  • Clears every history and filter slot covered by the reset mask.
  • Adds a CPU-only Warp regression test verifying both clearing and preservation behavior.
  • Documents the fix in the OVPhysX changelog.

Confidence Score: 5/5

The PR appears safe to merge, with the reset behavior correctly scoped to selected environments.

The new loop uses dimensions consistent with the allocated history buffer, safely handles configurations without filtered-force buffers, and has focused regression coverage for masked resets.

Important Files Changed

Filename Overview
source/isaaclab_ov/isaaclab_ov/sensors/contact_sensor/contact_sensor.py Supplies the optional force-matrix history buffer to the reset kernel while preserving the existing environment mask.
source/isaaclab_ov/isaaclab_ov/sensors/contact_sensor/kernels.py Clears all allocated filtered-force history entries for selected environments, with valid bounds and optional-buffer handling.
source/isaaclab_ov/test/sensors/test_contact_sensor_kernels.py Adds focused CPU coverage proving selected history is cleared while unselected environment history remains unchanged.

Reviews (1): Last reviewed commit: "Fix OVPhysX contact force history reset" | Re-trigger Greptile

@isaaclab-review-bot isaaclab-review-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isaac Lab Review Bot

The reset path now passes filtered force-matrix history into the existing Warp kernel, clears it only for masked environments, and includes a focused CPU regression test plus changelog fragment.

  • Design and architecture: Using the existing reset kernel keeps history cleanup aligned with the other contact-sensor buffers and preserves unselected environments through the established env-mask early return.
  • API: The positional kernel signature and the shown ContactSensor.reset launch site remain aligned. No public sensor property, configuration field, or exported symbol is changed; only reset semantics for force_matrix_w_history are corrected.
  • Implementation: The added indexing matches the documented buffer layout, and the test verifies both clearing a selected environment and preserving an unselected one. The test directly exercises the kernel rather than the complete ContactSensor.reset integration path, leaving a small non-blocking integration-coverage tradeoff.

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.

@camevor camevor left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

@AntoineRichard
AntoineRichard enabled auto-merge (squash) August 21, 2026 09:13
@AntoineRichard
AntoineRichard merged commit c4448cd into isaac-sim:develop Aug 21, 2026
48 of 49 checks passed
kellyguo11 added a commit that referenced this pull request Aug 22, 2026
## Description

Bundled backport to `release/3.0.0` to reduce CI load.

Source PRs reviewed for this bundle:

- #7020 — already represented in `release/3.0.0`; its cherry-pick was
empty, so no duplicate commit was added.
- #7207
- #7229
- #7227
- #7231
- #6762
- #7208
- #7168 — backports the current PR head while the source PR is still
open.
- #7157
- #7216

## Type of change

- Bug fix
- Documentation update
- Workflow / packaging update

## Checklist

- [x] I have read and understood the contribution guidelines.
- [x] I have run formatting checks.
- [x] Documentation changes are included.
- [x] Documentation build generates no new warnings.
- [x] Focused regression coverage passed.
- [x] Required changelog fragments are included by the source PRs.
- [x] Contributors are already listed or included by the source PRs.

---------

Signed-off-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: Mustafa H <34825877+StafaH@users.noreply.github.com>
Co-authored-by: Richard Lei <rilei@nvidia.com>
Co-authored-by: Mustafa Haiderbhai <mhaiderbhai@nvidia.com>
Co-authored-by: Kelly Guo <kellyg@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants