Replies: 1 comment 4 replies
-
|
The "joint transforms are not consistent" error comes from Isaac Sim's URDF exporter ( This typically happens when:
Isaac Sim's URDF exporter ( The "Rig Closed-Loop Structures" tutorial handles loops within a PhysX articulation at runtime (using D6 joints as constraints). But for URDF export, those constraint joints must be excluded since URDF can't represent loops. The simulation can handle closed chains; the file format cannot. Here are some fixes for your reference Fix 1: Exclude passive joints from export (recommended) The exporter's from nvidia.srl.from_usd.to_urdf import UsdToUrdf
usd_to_urdf = UsdToUrdf(
stage,
node_names_to_remove=["linkage_rod_joint_1", "linkage_rod_joint_2"],
root="/World/Robot",
)
usd_to_urdf.save_to_file("robot.urdf")Replace the joint names with the actual prim names of your passive linkage joints. This tells the exporter to skip those joints when building the tree topology. Fix 2: Fix joint transform consistency If the error fires on a joint you do want in the URDF (not a loop-forming joint), the local frames need correcting:
Fix 3: Structure the USD for tree-compatible export Since URDF requires a tree (no loops), structure your gripper as: Then add <joint name="finger2_joint" type="revolute">
<mimic joint="finger1_joint" multiplier="-1.0" offset="0.0"/>
...
</joint>The linkage rods are removed from the URDF entirely (via Please let us know if the above fixes resolve your issue. If not, could you please provide a minimal setup files for us to replicate this issue? Thanks! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I’m currently working on a robot with a parallel gripper and ran into an issue when exporting to URDF:
I’m not sure what exactly is causing this or how to fix it.
Right now, I’ve set up one finger as part of the articulation and configured the other finger using a mimic joints. This works good for far. However, the gripper also includes passive joints (e.g., linkage rods that constrain motion). These joints are currently excluded from the articulation, because including them creates an articulation loop.
For reference, I’ve followed the “Rig Closed-Loop Structures” tutorial, but unfortunately it doesn’t cover passive joints like pins that hold parts in place while allowing rotation:
https://docs.isaacsim.omniverse.nvidia.com/5.1.0/robot_setup_tutorials/rig_closed_loop_structures.html
I would like to ask
Any guidance or examples for handling parallel grippers / closed-chain mechanisms in this workflow would be really helpful! 🙂
Beta Was this translation helpful? Give feedback.
All reactions