Hi!
I have a problem with a function GeometryPrim(prim.GetPath()
in 2023 of Nvidia Isaac.
I tested that same code works in 2022 version, but crashes in 2023 with
Traceback (most recent call last):
File "/home/karavaev/isaac/isaac_sim_experiment/soto_world.py", line 291, in <module>
sim = RobotSimulator(simulation_app, args=args,
File "/home/karavaev/isaac/isaac_sim_experiment/soto_world.py", line 129, in __init__
super().__init__(simulation_app, stage_path=args.stage_path)
File "/home/karavaev/isaac/isaac_sim_experiment/general_scene.py", line 13, in __init__
self.setup_scene()
File "/home/karavaev/isaac/isaac_sim_experiment/soto_world.py", line 232, in setup_scene
self.robot = Soto(self.simulation_app, self.args.urdf_path,
File "/home/karavaev/isaac/isaac_sim_experiment/soto.py", line 75, in __init__
self.urdf_import()
File "/home/karavaev/isaac/isaac_sim_experiment/soto.py", line 177, in urdf_import
backpack_prims = [GeometryPrim(prim.GetPath()) for prim
File "/home/karavaev/isaac/isaac_sim_experiment/soto.py", line 177, in <listcomp>
backpack_prims = [GeometryPrim(prim.GetPath()) for prim
File "/home/karavaev/.local/share/ov/pkg/isaac_sim-2023.1.0/exts/omni.isaac.core/omni/isaac/core/prims/geometry_prim.py", line 93, in __init__
self._geometry_prim_view = GeometryPrimView(
File "/home/karavaev/.local/share/ov/pkg/isaac_sim-2023.1.0/exts/omni.isaac.core/omni/isaac/core/prims/geometry_prim_view.py", line 96, in __init__
XFormPrimView.__init__(
File "/home/karavaev/.local/share/ov/pkg/isaac_sim-2023.1.0/exts/omni.isaac.core/omni/isaac/core/prims/xform_prim_view.py", line 121, in __init__
self._set_xform_properties()
File "/home/karavaev/.local/share/ov/pkg/isaac_sim-2023.1.0/exts/omni.isaac.core/omni/isaac/core/prims/xform_prim_view.py", line 193, in _set_xform_properties
current_positions, current_orientations = self.get_world_poses()
File "/home/karavaev/.local/share/ov/pkg/isaac_sim-2023.1.0/exts/omni.isaac.core/omni/isaac/core/prims/xform_prim_view.py", line 557, in get_world_poses
positions[write_idx], orientations[write_idx] = get_world_pose(self._prim_paths[i])
File "/home/karavaev/.local/share/ov/pkg/isaac_sim-2023.1.0/exts/omni.isaac.core/omni/isaac/core/utils/xforms.py", line 164, in get_world_pose
result_transform = _get_world_pose_transform_w_scale(prim_path)
File "/home/karavaev/.local/share/ov/pkg/isaac_sim-2023.1.0/exts/omni.isaac.core/omni/isaac/core/utils/xforms.py", line 88, in _get_world_pose_transform_w_scale
fabric_prim = get_prim_at_path(prim_path=prim_path, fabric=True)
File "/home/karavaev/.local/share/ov/pkg/isaac_sim-2023.1.0/exts/omni.isaac.core/omni/isaac/core/utils/prims.py", line 42, in get_prim_at_path
return get_current_stage(fabric=fabric).GetPrimAtPath(prim_path)
TypeError: GetPrimAtPath(): incompatible function arguments. The following argument types are supported:
1. (self: usdrt.Usd._Usd.Stage, path: usdrt.Sdf._Sdf.Path) -> usdrt::UsdPrim
Invoked with: Stage(<ID: 9223049>), Sdf.Path('/soto_2_1_description/base_link/base_to_backpack_base')
I can’t share full code unfortunately, because of NDA, but since it works with previous version, I am pretty sure it’s something with new API ?