**IsaacSim: 5.1.0.0
Isaac Lab:** 0.47.2
Operating System
Ubuntu 22.04
GPU Information
-
Model: NVIDIA RTX 3090
-
Driver Version: 570.211.01
Topic Description
Collision fails on Conveyor (Surface Velocity) in InteractiveSceneCfg (Teleoperation task)
I am building a custom teleoperation task using the InteractiveSceneCfg workflow in Isaac Lab. I am encountering a persistent physics consistency issue where dynamic objects (and the robot’s end-effector) fall directly through a conveyor belt asset when running the environment via gym.make(). The issue is strictly tied to the Surface Velocity attribute—if enabled (even at 0.0), the collider is ignored.
Detailed Description
I am using a custom USD stage with a simple Cube primitive acting as a conveyor belt. The primitive has RigidBody, Collider (Box Collider), and Surface Velocity (Conveyor Surface) applied.
When I load this scene through the InteractiveSceneCfg architecture in a headless Gym script:
-
The Conveyor Belt loads visually.
-
However, collisions fail immediately. Dynamic objects placed on the belt fall directly through the mesh (“tunneling”).
-
This happens regardless of the velocity magnitude. Even if
Surface Velocityis set to(0, 0, 0), the presence of the API seems to invalidate the collider.
Crucial Observation (GUI vs. Gym): The exact same USD stage works perfectly in the Isaac Sim GUI (Play Mode). The issue is specific to the initialization/cloning process within Isaac Lab’s gym.make() workflow.
Steps to Reproduce
-
Create USD Asset: Create a Cube primitive. Add
RigidBody,Collider, andSurface Velocity. -
Configure Task: Create a task configuration class inheriting from
InteractiveSceneCfg. Add the conveyor asset to the scene. -
Run Script: Load the task using
gym.make("MyTask-v0")in a standard teleoperation script. -
Spawn Object: Spawn a dynamic object (e.g., a cylinder) above the conveyor.
-
Observe: The object will fall through the conveyor.
Error Messages
No explicit error messages in the console. The physics simply fails silently.
Screenshots or Videos
I have recorded the behavior in both scenarios to demonstrate the discrepancy.
1. Isaac Sim GUI (Play Mode) - WORKS ✅ (The object rests on the conveyor correctly)

2. Isaac Lab Execution (Headless/Gym) - FAILS ❌ (The object tunnels through the conveyor immediately)

Additional Information
What I’ve Tried
I performed an A/B test to isolate the cause:
-
Case A (Surface Velocity Removed): Collision works ✅.
-
Case B (Surface Velocity Enabled, set to 0,0,0): Collision fails ❌.
-
Case C (Surface Velocity Enabled, set to 0.3,0,0): Collision fails ❌.
-
Rigid Body Check: I verified this happens with both Kinematic Rigid Bodies and Dynamic Rigid Bodies (with Locked DOF).
Additional Context
My environment installs Isaac Sim as a Python library. I suspect InteractiveSceneCfg (or the underlying Fabric/Cloner) might be stripping or mishandling Surface Velocityand Collider attributes during environment generation.