Unable to import URDF file with isaac sim 4.5.0

Isaac Sim Version

4.5.0

Operating System

Ubuntu 22.04

Topic Description

The URDF importer no longer works with my .urdf file.

Detailed Description

I attempted to use the latest version of IsaacSim to import my robot from a URDF file. In the previous release, the importer worked after some modifications were made to the USD file. See :

However, in the new version, show me an error and the .usd file that is generated is unusable, which is preventing me from proceeding.

Steps to Reproduce

  1. launch IsaacSim 4.5.0
  2. Import the urdf file

URDF file

xarm6.zip (3.4 KB)

Generated .usd file from previous version

xarm62.zip (1.6 MB).

Generated .usd file with version 4.5.0

xarm6_4_5_0.zip (331 Bytes)

Error Messages

2025-01-31 10:30:56 [185,229ms] [Warning] [isaacsim.asset.importer.urdf] ROS_PACKAGE_PATH not defined, will skip checking ROS packages
2025-01-31 10:30:56 [185,229ms] [Warning] [isaacsim.asset.importer.urdf] Path: meshes/end_tool/collision/end_tool.stl not found
2025-01-31 10:30:56 [185,229ms] [Warning] [isaacsim.asset.importer.urdf] Failed to resolve mesh 'meshes/end_tool/collision/end_tool.stl'
2025-01-31 10:30:56 [185,229ms] [Warning] [isaacsim.asset.importer.urdf] Prim /colliders/xarm6link6/end_tool not created
2025-01-31 10:30:56 [185,232ms] [Error] [omni.kit.commands.command] Failed to execute a command: URDFImportRobot.
  File "/home/theobloesch/isaacsim/kit/extscore/omni.kit.async_engine/omni/kit/async_engine/async_engine.py", line 263, in <lambda>
    lambda *args: self._loop.run_once(),
  File "/home/theobloesch/isaacsim/kit/extscore/omni.kit.async_engine/omni/kit/async_engine/async_engine.py", line 197, in run_once
    self._run_once()
  File "/home/theobloesch/isaacsim/kit/python/lib/python3.10/asyncio/base_events.py", line 1909, in _run_once
    handle._run()
  File "/home/theobloesch/isaacsim/kit/python/lib/python3.10/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/home/theobloesch/isaacsim/extscache/omni.kit.tool.asset_importer-2.12.2+106.5.0/omni/kit/tool/asset_importer/extension.py", line 449, in convert_and_wait
    converted_assets = await self._importers_manager.convert_assets(paths, add_reference)
  File "/home/theobloesch/isaacsim/extscache/omni.kit.tool.asset_importer-2.12.2+106.5.0/omni/kit/tool/asset_importer/importers_manager.py", line 141, in convert_assets
    converted_assets = await importer.convert_assets(
  File "/home/theobloesch/.local/share/ov/data/Kit/Isaac-Sim Full/4.5/exts/3/isaacsim.asset.importer.urdf-2.3.11+106.5.0.lx64.r.cp310/isaacsim/asset/importer/urdf/scripts/extension.py", line 701, in convert_assets
    self._importer.start_import(path=path)
  File "/home/theobloesch/.local/share/ov/data/Kit/Isaac-Sim Full/4.5/exts/3/isaacsim.asset.importer.urdf-2.3.11+106.5.0.lx64.r.cp310/isaacsim/asset/importer/urdf/scripts/extension.py", line 472, in start_import
    self._load_robot(dest_path, path)
  File "/home/theobloesch/.local/share/ov/data/Kit/Isaac-Sim Full/4.5/exts/3/isaacsim.asset.importer.urdf-2.3.11+106.5.0.lx64.r.cp310/isaacsim/asset/importer/urdf/scripts/extension.py", line 586, in _load_robot
    omni.kit.commands.execute(
  File "/home/theobloesch/isaacsim/extscache/omni.kit.commands-1.4.9+d02c707b.lx64.r.cp310/omni/kit/commands/command.py", line 463, in execute
    result = omni.kit.undo.execute(command, name, kwargs)
[...skipped...]
  File "/home/theobloesch/isaacsim/extscache/omni.kit.commands-1.4.9+d02c707b.lx64.r.cp310/omni/kit/undo/undo.py", line 78, in execute
    result = _execute(command, name, level, history_key)
  File "/home/theobloesch/isaacsim/extscache/omni.kit.commands-1.4.9+d02c707b.lx64.r.cp310/omni/kit/undo/undo.py", line 459, in _execute
    raise error
  File "/home/theobloesch/isaacsim/extscache/omni.kit.commands-1.4.9+d02c707b.lx64.r.cp310/omni/kit/undo/undo.py", line 420, in _execute
    result = command.do()
  File "/home/theobloesch/.local/share/ov/data/Kit/Isaac-Sim Full/4.5/exts/3/isaacsim.asset.importer.urdf-2.3.11+106.5.0.lx64.r.cp310/isaacsim/asset/importer/urdf/scripts/commands.py", line 145, in do
    return self._urdf_interface.import_robot(

 <class 'RuntimeError'> Used null prim
2025-01-31 10:30:56 [185,233ms] [Warning] [omni.kit.tool.asset_importer.importers_manager] Failed to convert assets ['/home/theobloesch/Documents/xArm6Curobo/xarm6.urdf'] since importer failed with Accessed invalid null prim.
2025-01-31 10:30:56 [185,291ms] [Error] [asyncio] Task exception was never retrieved
future: <Task finished name='Task-779' coro=<FileBrowserGridViewDelegate.update_grid.<locals>.refresh_thumbnails() done, defined at /home/theobloesch/isaacsim/extscache/omni.kit.widget.filebrowser-2.10.52+d02c707b/omni/kit/widget/filebrowser/grid_view.py:364> exception=UnicodeDecodeError('utf-8', b'pQ\x84\x07', 2, 3, 'invalid start byte')>
Traceback (most recent call last):
  File "/home/theobloesch/isaacsim/extscache/omni.kit.widget.filebrowser-2.10.52+d02c707b/omni/kit/widget/filebrowser/grid_view.py", line 372, in refresh_thumbnails
    self._custom_thumbnails = await model.root.get_custom_thumbnails_for_folder_async()
  File "/home/theobloesch/isaacsim/extscache/omni.kit.widget.filebrowser-2.10.52+d02c707b/omni/kit/widget/filebrowser/model.py", line 363, in get_custom_thumbnails_for_folder_async
    return await list_thumbnails_for_folder_async(self.path)
  File "/home/theobloesch/isaacsim/extscache/omni.kit.widget.filebrowser-2.10.52+d02c707b/omni/kit/widget/filebrowser/thumbnails.py", line 142, in list_thumbnails_for_folder_async
    thumbnail_dict[f"{url}/{entry.relative_path}"] = None
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x84 in position 2: invalid start byte
2025-01-31 10:30:56 [185,293ms] [Error] [asyncio] Task exception was never retrieved
future: <Task finished name='Task-484' coro=<FileBrowserGridViewDelegate.update_grid.<locals>.refresh_thumbnails() done, defined at /home/theobloesch/isaacsim/extscache/omni.kit.widget.filebrowser-2.10.52+d02c707b/omni/kit/widget/filebrowser/grid_view.py:364> exception=UnicodeDecodeError('utf-8', b'pQ\x84\x07', 2, 3, 'invalid start byte')>
Traceback (most recent call last):
  File "/home/theobloesch/isaacsim/extscache/omni.kit.widget.filebrowser-2.10.52+d02c707b/omni/kit/widget/filebrowser/grid_view.py", line 372, in refresh_thumbnails
    self._custom_thumbnails = await model.root.get_custom_thumbnails_for_folder_async()
  File "/home/theobloesch/isaacsim/extscache/omni.kit.widget.filebrowser-2.10.52+d02c707b/omni/kit/widget/filebrowser/model.py", line 363, in get_custom_thumbnails_for_folder_async
    return await list_thumbnails_for_folder_async(self.path)
  File "/home/theobloesch/isaacsim/extscache/omni.kit.widget.filebrowser-2.10.52+d02c707b/omni/kit/widget/filebrowser/thumbnails.py", line 142, in list_thumbnails_for_folder_async
    thumbnail_dict[f"{url}/{entry.relative_path}"] = None
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x84 in position 2: invalid start byte

Thanks in advance for your help
Best regards
Théo Bloesch

1 Like

Hey Theo, thank you for reporting the issue to us.

After trying to import your URDF ourselves and checking the meshes files in your repo. We think the issue is due to “meshes/end_tool/collision/end_tool.stl” not found in your repo.

After removing references to the end tool (line 299 - 304), we are able to successfully import your model in Isaac Sim 4.5

1 Like