Omni.kit.commands.execute() when importing URDF

I call omni.kit.commands.execute("CreateURDFImportConfigCommand") after starting up the simulator. However, that yields the following error:

[Error] [carb.python] Can't execute command: "CreateURDFImportConfigCommand", it wasn't registered or ambigious.

I am running the simulator via Python API in a virtual environment with all the libraries in environment.yml installed + with setenv.sh sourced. Am I missing something?

EDIT:
I also tried importing omni.isaac.urdf in order to call the import commands manually, as was done in 2020.2. However, I got the following: ImportError: /home/USERNAME/isaac_sim/kit/extscore/omni.usd.libs/bin/libjs.so: undefined symbol: _ZN32pxrInternal_v0_20__pxrReserved__18Tf_PostErrorHelperERKNS_13TfCallContextENS_16TfDiagnosticTypeEPKcz

EDIT 2:
I see that omni.isaac.urdf.scripts.commands registers all the commands it defines at the bottom of the script. However, I am unable to import it due to the undefined symbol error above.

1 Like

Solved (sort of).

I packaged the import_config generation and actual import commands in an external Python script which I was importing. Once I moved it into my main file (the one that was starting up Isaac Sim), the commands were successfully getting registered. Moreover, I had to make sure from pxr import Sdf, Gf, UsdPhysics, UsdLux, PhysxSchema was being run AFTER the simulator had already started up. It threw an undefined symbol error when I did not do this.