Isaac Sim cannot find robot class extension when started through python file

Hello,

I want to create a new robot class, for the UR5e robot. Since the already implemented UR10 robot class is very similar to the UR5e, I copied this extension and started modifying everything for the UR5e.

When I now want to import the new robot class in a standalone python application (code below) I get the error: No module named ‘omni.isaac.universal_robots_UR5e’ (similar to this post: Isaac Sim cannot find robot class extension)

If I put my UR5e robot class in the UR10 extension and import it through that, everything works fine.

I can also activate the extension in the extensions manager (window → Extensions) and import it in the script editor. So the paths and .toml files should be correct.

It only seems to be problematic, when I launch Isaac sim from a standalone python script.

Do I have to activate new extensions somewhere before I want to use them with standalone python scripts?

Many thanks in advance!

from omni.isaac.kit import SimulationApp
simulation_app = SimulationApp({"headless": False})

from omni.isaac.core import World
from omni.isaac.core.objects import DynamicCuboid
from omni.isaac.universal_robots_UR5e import UR5e
#from omni.isaac.universal_robots import UR5e
import numpy as np


world = World()
world.scene.add_default_ground_plane()
robot = world.scene.add(UR5e(prim_path="/World/UR5e_robot", name="UR5e"))
world.reset()

for i in range(500):
    world.step(render=True) # execute one physics step and one rendering step

simulation_app.close() # close Isaac Sim
1 Like

Hello,

If it works through the script editor, then what you are missing is adding it to the standalone python app file located at apps/omni.isaac.sim.python.kit

Take a look at the dependecies section in the app file

# Isaac Sim Extensions
###############################
[dependencies]
"omni.isaac.core" = {}
"omni.isaac.core_nodes" = {}
"omni.isaac.core_archive" = {}
"omni.isaac.debug_draw" = {}
"omni.isaac.dofbot" = {}
"omni.isaac.dynamic_control" = {}
"omni.isaac.franka" = {}
"omni.isaac.manipulators" = {}
"omni.isaac.isaac_sensor" = {}
"omni.isaac.kit" = {}
"omni.isaac.ml_archive" = {}
"omni.isaac.motion_planning" = {}
"omni.isaac.motion_generation" = {}

so in your case you will have to add “omni.isaac.universal_robots_UR5e” = {} to the dependencies list.

Let us know if you have further questions.

1 Like

That was the solution!

Thank you very much, now everything works.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.