feat(isaacsim): forward the PhysX GPU contact buffer knobs on EnvCfg - #1636
Merged
TATP-233 merged 1 commit intoSep 23, 2026
Merged
Conversation
Add isaacsim_gpu_max_rigid_contact_count / isaacsim_gpu_max_rigid_patch_count to EnvCfg with the same fail-fast validation as the other solver knobs, and forward them to UniSim's factory (unilabsim/unisim#292). The keys are omitted when unset so unisim-core releases without the new knobs never see unknown kwargs; setting them against an older unisim-core fails closed at the factory.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pairs with unilabsim/unisim#294 (closes unilabsim/unisim#292).
What
isaacsim_gpu_max_rigid_contact_count/isaacsim_gpu_max_rigid_patch_count(Optional[int], defaultNone) toEnvCfgwith the same fail-fast validation as the other solver knobs (positive integers, bool rejected).env_backend_kwargsto the UniSim factory — conditionally, only when set: unisim-core releases without feat(isaacsim): PhysxSolverConfig 缺 GPU 接触缓存容量旋钮,大规模 mapped 场景接触期崩盘 unilabsim/unisim#292 do not pop these keys, so forwardingNonewould leak them into other backends' constructors; setting them against an older unisim-core fails closed at the factory with an unexpected-kwargTypeError.Why
The SimToolReal migration line (isaacsim backend, N=12288) collapsed at ep~150 because the new channel ran on IsaacLab's default GPU contact/patch buffers (2^23 / 5·2^15) while the original repository pins 2^24/2^23 ("Lab defaults overflow: Patch buffer overflow detected kills training"). The unisim-side knobs land in unilabsim/unisim#294; this PR is the EnvCfg surface.
Tests
uv run pytest tests/base -q: 500 passed, 35 skipped (includes the extendedtest_isaacsim_backend.pyvalidation/forwarding cases).make checkgreen (mypy clean, pyright 0 errors, ruff clean).