Skip to Content
PK

Simulation

The robot that flew off on spawn

A mobile manipulator was stable in its own Isaac Sim world, but launched itself on Play whenever it was spawned as a reference into another world.

  1. USD asset
  2. suction joint
  3. PhysX
  4. articulation

~10 m

stale world anchor found in a tool joint

  • NVIDIA Isaac Sim
  • OpenUSD
  • PhysX
  • Python

Problem

A vacuum-gripper-equipped mobile manipulator behaved correctly in its authoring world, but when spawned as a USD reference into a different simulation world, the entire articulation launched itself on Play — making it unusable for a spin-up pipeline that spawns assets as references by design.

Investigation

Root-caused via direct OpenUSD Pxr layer inspection. The vacuum gripper's suction-joint attachment was authored with a body0 reference but no body1 — Isaac Sim silently defaults the missing body to the world frame, so the joint's local anchor offset gets baked relative to the robot's authoring-world pose (a ~10 m world-derived value instead of a small tool-local offset). When the asset is referenced into another world at a non-origin pose, the tool frame moves but the joint's world anchor stays fixed; on Play, the stiff drives snap the joint back toward the stale anchor and launch the articulation.

Root cause

The suction joint had no body1, so Isaac Sim pinned it to the world frame and baked a ~10 m world anchor into the asset.

Fix

Shipped a workaround (suction joint deactivated); NVIDIA confirmed the defect and targeted a fix for 6.x.

Outcome

Confirmed with NVIDIA as a genuine Isaac Sim 5.1.0 bug, with a fix targeted for the 6.x release. The interim workaround kept the spin-up pipeline shipping on the affected version.

  • → Root cause isolated via direct Pxr/USD layer inspection, not trial and error
  • → NVIDIA-acknowledged defect, fix targeted for 6.x
← Back to case studies