IsaacSim 4.5.0 urdf importer segfaulting/ not resolving ros package paths

Isaac Sim Version

4.5.0
4.2.0
4.1.0
4.0.0
4.5.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):

Operating System

Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):

GPU Information

  • Model: 4090M
  • Driver Version: 535.183.01

###Environmental setup

I used this requirements.txt file to install isaac sim in my ros2 humble workspace.

isaacsim==4.2.0.2
isaacsim-extscache-physics==4.2.0.2
isaacsim-extscache-kit-sdk==4.2.0.2
isaacsim-extscache-kit==4.2.0.2

I have a local ros2 humble workspace and use vsctool to install the zedm urdfs

  zed_ros2_wrapper:
    type: git
    url: https://github.com/stereolabs/zed-ros2-wrapper.git
    version: adaaed8

Topic Description

Detailed Description

I was using a python script to import a urdf into isaac sim 4.2. The relevant call is

omni.kit.commands.execute(
    "URDFParseAndImportFile",
    urdf_path=urdf_file,
    import_config=import_config,
    dest_path=usd_file,
)

If I use this same call on 4.5 I get a segfault

2025-02-05 14:17:41 [9,388ms] [Warning] [omni.usd] Warning: in _ReportErrors at line 2890 of /builds/omniverse/usd-ci/USD/pxr/usd/usd/stage.cpp -- Could not load sublayer @/kinisi_robot_description/isaac/configuration/kr1.0_sensor.usd@ of layer @/home/ags/kinisi/kinisi_ros/ros/kinisi_robot_description/isaac/kr1.0.usd@; skipping. (Recomposing stage on stage @/home/ags/kinisi/kinisi_ros/ros/kinisi_robot_description/isaac/kr1.0.usd@ <0x59d7ff283bf0>)

2025-02-05 14:17:41 [9,389ms] [Warning] [omni.usd] Warning: in _ReportErrors at line 2890 of /builds/omniverse/usd-ci/USD/pxr/usd/usd/stage.cpp -- Could not load sublayer @/kinisi_robot_description/isaac/configuration/kr1.0_sensor.usd@ of layer @/home/ags/kinisi/kinisi_ros/ros/kinisi_robot_description/isaac/kr1.0.usd@; skipping. (Recomposing stage on stage @/home/ags/kinisi/kinisi_ros/ros/kinisi_robot_description/isaac/kr1.0.usd@ <0x59d7fe7e0ea0>)

2025-02-05 14:17:41 [9,389ms] [Warning] [omni.usd] Warning: in _ReportErrors at line 2890 of /builds/omniverse/usd-ci/USD/pxr/usd/usd/stage.cpp -- Could not load sublayer @/kinisi_robot_description/isaac/configuration/kr1.0_sensor.usd@ of layer @/home/ags/kinisi/kinisi_ros/ros/kinisi_robot_description/isaac/kr1.0.usd@; skipping. (Recomposing stage on stage @/home/ags/kinisi/kinisi_ros/ros/kinisi_robot_description/isaac/kr1.0.usd@ <0x59d7ff283bf0>)

2025-02-05 14:17:41 [9,389ms] [Warning] [omni.usd] Warning: in _ReportErrors at line 2890 of /builds/omniverse/usd-ci/USD/pxr/usd/usd/stage.cpp -- Could not load sublayer @/kinisi_robot_description/isaac/configuration/kr1.0_physics.usd@ of layer @/home/ags/kinisi/kinisi_ros/ros/kinisi_robot_description/isaac/kr1.0.usd@; skipping. (Recomposing stage on stage @/home/ags/kinisi/kinisi_ros/ros/kinisi_robot_description/isaac/kr1.0.usd@ <0x59d7ff283bf0>)

2025-02-05 14:17:41 [9,390ms] [Warning] [omni.usd] Warning: in _ReportErrors at line 2890 of /builds/omniverse/usd-ci/USD/pxr/usd/usd/stage.cpp -- Could not load sublayer @/kinisi_robot_description/isaac/configuration/kr1.0_sensor.usd@ of layer @/home/ags/kinisi/kinisi_ros/ros/kinisi_robot_description/isaac/kr1.0.usd@; skipping. (Recomposing stage on stage @/home/ags/kinisi/kinisi_ros/ros/kinisi_robot_description/isaac/kr1.0.usd@ <0x59d7fe7e0ea0>)

2025-02-05 14:17:41 [9,390ms] [Warning] [omni.usd] Warning: in _ReportErrors at line 2890 of /builds/omniverse/usd-ci/USD/pxr/usd/usd/stage.cpp -- Could not load sublayer @/kinisi_robot_description/isaac/configuration/kr1.0_physics.usd@ of layer @/home/ags/kinisi/kinisi_ros/ros/kinisi_robot_description/isaac/kr1.0.usd@; skipping. (Recomposing stage on stage @/home/ags/kinisi/kinisi_ros/ros/kinisi_robot_description/isaac/kr1.0.usd@ <0x59d7fe7e0ea0>)

2025-02-05 14:17:41 [9,432ms] [Warning] [isaacsim.asset.importer.urdf] No mass specified for link base_footprint
2025-02-05 14:17:41 [9,436ms] [Warning] [isaacsim.asset.importer.urdf] Link base_footprint has no colliders, and no inertia was imported; assigning a small isotropic inertia matrix
2025-02-05 14:17:41 [9,471ms] [Warning] [omni.usd] Coding Error: in Set at line 552 of /builds/omniverse/usd-ci/USD/pxr/usd/usd/crateData.cpp -- Failed verification: ' i != _data.end() ' -- Tried to set field '/KR1/Looks' on nonexistent spec at <primChildren>

2025-02-05 14:17:41 [9,483ms] [Warning] [omni.usd] Coding Error: in Set at line 552 of /builds/omniverse/usd-ci/USD/pxr/usd/usd/crateData.cpp -- Failed verification: ' i != _data.end() ' -- Tried to set field '/KR1/Looks' on nonexistent spec at <primChildren>

Fatal Python error: Segmentation fault

Thread 0x00007d5c09000640 (most recent call first):
  File "/usr/lib/python3.10/concurrent/futures/thread.py", line 81 in _worker
  File "/usr/lib/python3.10/threading.py", line 953 in run
  File "/usr/lib/python3.10/threading.py", line 1016 in _bootstrap_inner
  File "/usr/lib/python3.10/threading.py", line 973 in _bootstrap

Thread 0x00007d5c8ba00640 (most recent call first):
  File "/usr/lib/python3.10/concurrent/futures/thread.py", line 81 in _worker
  File "/usr/lib/python3.10/threading.py", line 953 in run
  File "/usr/lib/python3.10/threading.py", line 1016 in _bootstrap_inner
  File "/usr/lib/python3.10/threading.py", line 973 in _bootstrap

Thread 0x00007d5c8aa00640 (most recent call first):
  File "/usr/lib/python3.10/concurrent/futures/thread.py", line 81 in _worker
  File "/usr/lib/python3.10/threading.py", line 953 in run
  File "/usr/lib/python3.10/threading.py", line 1016 in _bootstrap_inner
  File "/usr/lib/python3.10/threading.py", line 973 in _bootstrap

Thread 0x00007d5e1cc00640 (most recent call first):
  File "/usr/lib/python3.10/concurrent/futures/thread.py", line 81 in _worker
  File "/usr/lib/python3.10/threading.py", line 953 in run
  File "/usr/lib/python3.10/threading.py", line 1016 in _bootstrap_inner
  File "/usr/lib/python3.10/threading.py", line 973 in _bootstrap

Thread 0x00007d5e27c00640 (most recent call first):
  File "/usr/lib/python3.10/concurrent/futures/thread.py", line 81 in _worker
  File "/usr/lib/python3.10/threading.py", line 953 in run
  File "/usr/lib/python3.10/threading.py", line 1016 in _bootstrap_inner
  File "/usr/lib/python3.10/threading.py", line 973 in _bootstrap

Current thread 0x00007d6179e1f000 (most recent call first):
  File "/usr/local/lib/python3.10/dist-packages/isaacsim/extscache/isaacsim.asset.importer.urdf-2.3.10+106.4.0.lx64.r.cp310/isaacsim/asset/importer/urdf/scripts/commands.py", line 202 in do
  File "/usr/local/lib/python3.10/dist-packages/isaacsim/extscache/omni.kit.commands-1.4.9+d02c707b.lx64.r.cp310/omni/kit/undo/undo.py", line 420 in _execute
  File "/usr/local/lib/python3.10/dist-packages/isaacsim/extscache/omni.kit.commands-1.4.9+d02c707b.lx64.r.cp310/omni/kit/undo/undo.py", line 78 in execute
  File "/usr/local/lib/python3.10/dist-packages/isaacsim/extscache/omni.kit.commands-1.4.9+d02c707b.lx64.r.cp310/omni/kit/commands/command.py", line 463 in execute
  File "/home/ags/kinisi/kinisi_ros/ros/./kinisi_isaac/kinisi_isaac/urdf_to_usd_converter.py", line 152 in <module>

Extension modules: yaml._yaml, regex._regex, markupsafe._speedups, omni.mdl.pymdlsdk._pymdlsdk, psutil._psutil_linux, psutil._psutil_posix, numpy.core._multiarray_umath, numpy.core._multiarray_tests, numpy.linalg._umath_linalg, numpy.fft._pocketfft_internal, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._mt19937, numpy.random.mtrand, numpy.random._philox, numpy.random._pcg64, numpy.random._sfc64, numpy.random._generator, scipy._lib._ccallback_c, scipy.sparse._sparsetools, _csparsetools, scipy.sparse._csparsetools, scipy.sparse.linalg._isolve._iterative, scipy.linalg._fblas, scipy.linalg._flapack, scipy.linalg.cython_lapack, scipy.linalg._cythonized_array_utils, scipy.linalg._solve_toeplitz, scipy.linalg._decomp_lu_cython, scipy.linalg._matfuncs_sqrtm_triu, scipy.linalg.cython_blas, scipy.linalg._matfuncs_expm, scipy.linalg._decomp_update, scipy.linalg._flinalg, scipy.sparse.linalg._dsolve._superlu, scipy.sparse.linalg._eigen.arpack._arpack, scipy.sparse.csgraph._tools, scipy.sparse.csgraph._shortest_path, scipy.sparse.csgraph._traversal, scipy.sparse.csgraph._min_spanning_tree, scipy.sparse.csgraph._flow, scipy.sparse.csgraph._matching, scipy.sparse.csgraph._reordering, scipy.spatial._ckdtree, scipy._lib.messagestream, scipy.spatial._qhull, scipy.spatial._voronoi, scipy.spatial._distance_wrap, scipy.spatial._hausdorff, scipy.special._ufuncs_cxx, scipy.special._ufuncs, scipy.special._specfun, scipy.special._comb, scipy.special._ellip_harm_2, scipy.spatial.transform._rotation, torch._C, torch._C._dynamo.autograd_compiler, torch._C._dynamo.eval_frame, torch._C._dynamo.guards, torch._C._dynamo.utils, torch._C._fft, torch._C._linalg, torch._C._nested, torch._C._nn, torch._C._sparse, torch._C._special, PIL._imaging, PIL._imagingft, _brotli, zstandard.backend_c, osqp._osqp, scipy.io.matlab._mio_utils, scipy.io.matlab._streams, scipy.io.matlab._mio5_utils (total: 75)
/home/ags/kinisi/kinisi_ros/ros/kinisi_isaac/scripts/export_usd.sh: line 21: 3074293 Segmentation fault      (core dumped) ./kinisi_isaac/kinisi_isaac/urdf_to_usd_converter.py --urdf-file $URDF_PATH $LULA_MODE

I looked at the tutorials and saw this new method of importing urdfs.

result, robot_model = omni.kit.commands.execute(
    "URDFParseFile",
    urdf_path=urdf_abs_file,
    import_config=import_config,
)

# Import the robot onto the current stage and retrieve its prim path
result, prim_path = omni.kit.commands.execute(
    "URDFImportRobot",
    urdf_robot=robot_model,
    import_config=import_config,
)

When I run the updated script on isaac sim 4.5 it is not able to resolve the stl files for some external packages.

2025-02-05 14:16:31 [10,950ms] [Warning] [isaacsim.asset.importer.urdf] Path: package://zed_msgs/meshes/zedm.stl not found
2025-02-05 14:16:31 [10,950ms] [Warning] [isaacsim.asset.importer.urdf] Failed to resolve mesh 'package://zed_msgs/meshes/zedm.stl'
2025-02-05 14:16:31 [10,950ms] [Warning] [isaacsim.asset.importer.urdf] Prim /visuals/face_downward_camera_center/zedm not created
2025-02-05 14:16:31 [10,952ms] [Warning] [isaacsim.asset.importer.urdf] Path: package://zed_msgs/meshes/zedm.stl not found
2025-02-05 14:16:31 [10,952ms] [Warning] [isaacsim.asset.importer.urdf] Failed to resolve mesh 'package://zed_msgs/meshes/zedm.stl'
2025-02-05 14:16:31 [10,952ms] [Warning] [isaacsim.asset.importer.urdf] Prim /colliders/face_downward_camera_center/zedm not created

It seems isaac can’t see the files that were installed from depend.repos with vcstool. I set the ROS_PACKAGE_PATH variable to my workspace install directory and confirmed that the stl files were in the correct location, but this does not fix it.

Steps to Reproduce

  1. install urdf files using vcstool and depend.repos
  2. source workspace and set ROS_PACKAGE_PATH
  3. import urdf into isaac sim
  4. see warnings about files not being found

Additional Information

What I’ve Tried

I have tried importing via the gui but face similar issues.

I currently have a workaround for the second issue of package path resolution. Before I pass the urdf to isaac import I have a script that replaces all package:// paths with absolute paths. This lets isaac find the zedm meshes, but if I pass the urdf with absolute imports to URDFParseAndImportFile it still segfaults.