Environment
- Isaac Sim 6.0.1 standalone (not the pip/PyPI package), Windows
- OS: Windows 11 Pro for Workstations, 10.0.26200
- GPU: NVIDIA RTX A4000 (16 GB VRAM)
- Driver: 596.72
- Asset imported via the CAD Converter from STEP (Instancing Style = None, Composition Style = None,
Unit = Millimeters, Convert Physics Data = disabled)
I am rigging a two-finger industrial gripper imported from STEP through the CAD Converter, to be
mounted on a FANUC arm. The gripper hierarchy is organised as:
components
├── right_claw / right_fixed (dynamic RigidBody — carriage sliding on the rail)
│ ├── right_forefinger, right_thumb
├── left_claw / left_fixed, rotor/{finger_guide, left_forefinger, left_thumb}
└── base (kinematic RigidBody — static root of the chain)
├── bottom_panel (~14 meshes)
├── guide_panel (~110 meshes — contains the actual linear rail)
└── cover (~70 meshes)
Every moving part has RigidBodyAPI, and every Mesh below it has CollisionAPI. The CAD import
produces a very high mesh count (~600 collider meshes in total for the whole gripper), because each
screw, dowel and bracket comes in as its own Mesh prim.
I created a Prismatic joint between base (Body0) and right_fixed (Body1) and set
physics:collisionEnabled = True on the joint, because I want to measure the real end-stop
positions of the rail by driving the carriage slowly (Stiffness = 0, Damping = 1000,
Target Velocity = 0.01) until it physically hits the mechanical stop, and then reading the arrest
position in the Joint Inspector — rather than guessing the joint limits by hand.
Since the rail has non-convex geometry (grooves and mechanical stops), a Convex Hull collider would
smooth exactly the features that produce the stop, so I set the collider approximation to
SDF Mesh on base.
Problem
As soon as the simulation runs, PhysX floods the console with:
PhysX error: PxGpuDynamicsMemoryConfig::collisionStackSize buffer overflow detected,
please increase its size to at least 844606416 in the scene desc! Contacts have been dropped.
The requested sizes are consistently around 840 MB (839991680, 840034408, 840511640,
840615408, 844606416 across consecutive frames). Because the contacts are dropped, right_fixed
tunnels straight through the rail geometry instead of stopping against it, so the
collision-based limit measurement is impossible.
What I have tried
-
Narrowed the SDF scope. Initially SDF Mesh was applied to all ~194 meshes under
base.
I revertedbottom_panelandcoverback to Convex Hull (they are structural/cosmetic parts,
not contact surfaces), keeping SDF only onguide_panel(~110 meshes). The overflow persisted.
I am now narrowing SDF down to the single mesh that is the actual rail surface. -
Disabled GPU Dynamics on the Physics Scene to fall back to the CPU pipeline. This removes the
GPU buffer error, but the application becomes unresponsive for several minutes, after which the
gripper moves a few millimetres and then locks in a skewed position. It never reaches the
end stop. -
Checked for a residual scale, since a wrong scale would throw off contact/rest offsets. The
chain is clean: only the intended0.001(mm → m) at the root prim,(1,1,1)everywhere below. -
Removed a stray
RigidBodyAPIthat had ended up on the purely organisationalcomponents
parent prim, which was nesting rigid bodies inside another rigid body. Fixing this did not change
the buffer overflow. -
Verified all physics APIs with a custom inspector script: every moving body has RigidBody +
Collider on all of its meshes, kinematic flags are as intended (basekinematic,right_fixed
dynamic).
Questions
- What is the correct way to raise
collisionStackSizefor a single-scene, single-robot setup in
Isaac Sim 6.0.1? I can seegpu_collision_stack_sizein the Python API, but is there a supported
way to set it on the Physics Scene prim so it persists in the USD stage? - Is a ~840 MB collision stack request expected for a CAD-imported assembly of this mesh count, or
is it a symptom of something structurally wrong in how I set up the colliders? - Is the collision-based end-stop measurement approach even advisable here, or should high mesh-count
CAD assemblies always use explicitly authored joint limits from CAD dimensions instead? - For the CPU fallback: is the multi-minute freeze simply the expected cost of ~600 colliders with
SDF among them, or does it point to a different problem?