URDF/MJCF import

I can successfully import a robot from a URDF file, but when I try to import pretty much the same file from a MJCF format I get the following error:

2023-04-03 16:53:07 [9,264ms] [Warning] [omni.isaac.dynamic_control.plugin] Failed to find articulation at '/robot'
2023-04-03 16:53:07 [9,264ms] [Error] [omni.isaac.dynamic_control.plugin] DcGetArticulationRootBody: Invalid or expired articulation handle
2023-04-03 16:53:07 [9,264ms] [Warning] [omni.physx.tensors.plugin] Failed to find articulation at '/robot'
2023-04-03 16:53:07 [9,264ms] [Error] [omni.physx.tensors.plugin] Pattern '/robot' did not match any articulations

The weird thing is that the exact same code works if I just change the import_config for the MJCF file and set
import_config.set_fix_base(True). However this isn’t a real solution since I don’t actually want to fix the base. Any suggestions on how to fix this?

Hi there, this may be due to the MJCF importer applying the ArticulationRootAPI at the first link prim for non-fixed base assets rather than on the root prim. This helps guarantee that the articulation root parsed from physics is consistent with the prim where the ArticulationRootAPI schema is applied. You can try looking through the hierarchy to find the prim with the ArticulationRootAPI schema and updating the paths in your code accordingly.