Tutorial 3: Collider pairs#

Tutorial

You inspected the asset structure and collision meshes. Now decide which parts of the hand may collide with each other. Overlapping collision geometry between links can create phantom contacts, jitter, and forces that destabilize the hand. Filtered Pairs disable collision for selected rigid-body pairs while preserving contacts that matter, such as finger-to-object contacts.

Learning Objectives#

In this tutorial, you will:

  • Explain how Filtered Pairs work and when to use them.

  • Identify overlapping self-collision pairs with the Robot Self-Collision Detector.

  • Add filtered pairs for all overlaps reported by the detector.

Prerequisites#

Understanding filtered pairs#

Filtered Pairs tell the physics engine not to detect collision between two rigid bodies. Adjacent articulation links do not self-collide by default, but non-adjacent links do. When close or overlapping collision meshes collide, you can see:

  • Unrealistic forces — The solver resolves interpenetration between links that would not contact in the physical mechanism.

  • Instability — The hand jitters, jumps, or separates as conflicting contacts fight each other.

  • Wasted compute — Simulating every possible self-contact is often unnecessary for grasping or manipulation.

Filter problematic pairs while retaining contacts you need. Over-filtering permits unrealistic interpenetration; under-filtering can leave the articulation unstable.

Identify problematic collision pairs#

The Robot Self-Collision Detector queries the current articulation and reports overlapping collider pairs. It highlights the corresponding geometry in the viewport so you can confirm each pair before filtering it.

Reproduce the problem#

Self-collisions were enabled during import in Tutorial 1. First observe the instability they create, then establish a stable baseline.

  1. Press Play. Overlapping non-adjacent links collide and move unexpectedly. Press Stop.

Simulation instability caused by enabled self-collisions.
  1. In the Stage panel, select r_base_link.

  2. In the Property panel, find Newton Articulation Root (PhysX) and clear Self Collisions Enabled.

Articulation Root property with the Self Collisions Enabled option.
  1. Press Play again. The hand is stable. Press Stop.

Stable hand simulation with self-collisions disabled.
  1. Select Self Collisions Enabled again. The detector requires it to find overlapping pairs.

Find overlapping pairs#

The Robot Self-Collision Detector lists the current overlaps as rigid-body pairs. Each row includes Rigid Body A, Rigid Body B, and a Filtered Pair checkbox. Selecting a row highlights both bodies in the viewport.

Note

The detector reports no pairs when self-collisions are disabled on the articulation root.

  1. Go to Tools > Robotics > Asset Editors > Robot Self-Collision Detector.

  2. Select inspire_hand in the robot dropdown.

  3. Click Check Collisions.

Menu path for opening Robot Self-Collision Detector.
  1. Select a pair, such as the palm and right_little_1, to highlight the overlapping shapes.

Viewport highlighting a selected pair of colliding rigid bodies.

Add filtered pairs#

Filtered Pairs use the neutral Physics API, so author them in physics.usda.

Note

Physics Filtered Pairs block collision in both directions. It does not matter whether you author the relationship on the parent or child link.

  1. In the Layer tab, click the Insert Sublayer icon.

Layer panel with the Insert Sublayer icon highlighted.
  1. In the file dialog, open your asset’s payloads/Physics/ folder, select physx.usda, then click Open.

File dialog with physx.usda selected.
  1. Expand the layer tree, right-click physics.usda, and select Set Authoring Layer.

Context menu for setting physics.usda as the authoring layer.

The active physics.usda layer is highlighted green.

physics.usda highlighted as the active authoring layer.
  1. Return to the Robot Self-Collision Detector.

  2. Select all rows in the collision-pairs table. Select the first row, hold Shift, then select the last row.

  3. Select Filtered Pair on one row. The detector applies the selection to every selected pair and authors UsdPhysics.FilteredPairsAPI relationships in physics.usda.

Robot Self-Collision Detector with all overlapping pairs marked as filtered.
  1. Press Play to confirm that the hand remains stable.

Stable hand simulation after collision filtering.
  1. Click the blue files icon next to physics.usda (Authoring Layer) to save the changes.

Layer panel with the save icon for physics.usda.

Note

Open Isaac/Samples/Rigging/Inspire/module_3_end/inspire_hand/inspire_hand.usda before continuing. This checkpoint includes all collision filters needed for stability and performance.

Summary#

This tutorial covered:

  • Using the Robot Self-Collision Detector to identify overlapping rigid-body pairs.

  • Batch-filtering every detected pair on the physics.usda layer.

  • Confirming that the hand simulates stably after the filters are authored.

Next Steps#

Continue to Tutorial 4: Joint drive tuning to configure joint torque and velocity limits.

Back to Gallery View