IsaacLab icon indicating copy to clipboard operation
IsaacLab copied to clipboard

[Question] Why is the URDF Importer changing robot joint frames that are not aligned ?

Open vicltz opened this issue 8 months ago • 1 comments

Why is the URDF converter changing robot joint frames ?

I am trying to use the convert_urdf.py script in order to create a .usd for a biped robot. The default configuration of my robot does not have feet joint frames aligned with world axis. However, I need this default configuration for some other reasons.

When using the script, I get the following logs:

[isaacsim.asset.importer.urdf] foot_right_frame: Joint Axis is not body aligned with X, Y or Z primary axis. Adjusting PhysX joint alignment to Axis X and reorienting bodies.
2025-04-23 12:20:00 [6,717ms] [Warning] [isaacsim.asset.importer.urdf] foot_left_frame: Joint Axis is not body aligned with X, Y or Z primary axis. Adjusting PhysX joint alignment to Axis X and reorienting bodies.
2025-04-23 12:20:00 [6,751ms] [Warning] [isaacsim.asset.importer.urdf] torso_frame: Joint Axis is not body aligned with X, Y or Z primary axis. Adjusting PhysX joint alignment to Axis X and reorienting bodies.

I suspect that it causes issues later for my RL training. Why is this behavior happening, and how can I prevent that ?

Thanks.

Setup: Ubuntu 22.04 Isaac Lab 2.0 Isaac Sim 4.5

vicltz avatar Apr 23 '25 14:04 vicltz

Thanks for posting this. This warning appears when the joint is defined with an axis that is not aligned with any standard frame. That is, it is neither (1,0,0), (0,1,0) or (0,0,1) , or any of its negatives. This is actually a violation of URDF standards. Still, the implementation tries to work with it, thus the warning. Is there any way you can try aligning to the standard reference frames? You would have to embed the desired joint pose at the xyz and rpy elements in the joint.

RandomOakForest avatar Apr 25 '25 22:04 RandomOakForest