I want to add own usd object to the scene in Isaac sim with python. Here is sample of the code I use:
add_reference_to_stage(usd_path=path, prim_path=prim_path) prim = XFormPrim( prim_path=prim_path, name=f"object_{self._object_count}", position=np.array([40, 0, 40]) ) self.get_world().scene.add(prim) Where path is for example: "/home/user/my_object.usd" and prim_path: "/World/objects/object".
if path is a file in Isaac sim assets /Isaac/Props/Flip_Stack/screw_95_physics.usd it works, but if I try to load my own object, following error shows up:
[Error] [asyncio] [/home/filip/.local/share/ov/pkg/isaac_sim-2021.2.0/kit/python/lib/python3.7/asyncio/base_events.py:1619] Task exception was never retrieved future: <Task finished coro=<BaseSampleExtension._on_load_world.<locals>._on_load_world_async() done, defined at /home/filip/.local/share/ov/pkg/isaac_sim-2021.2.0/exts/omni.isaac.examples/omni/isaac/examples/base_sample/base_sample_extension.py:161> exception=ErrorException(Error in 'pxrInternal_v0_20__pxrReserved__::UsdStage::_SetValueImpl' at line 6043 in file /buildAgent/work/ca6c508eae419cf8/USD/pxr/usd/usd/stage.cpp : 'Type mismatch for </World/objects/object_0.xformOp:orient>: expected 'GfQuatf', got 'GfQuatd'')> Traceback (most recent call last): File "/home/filip/.local/share/ov/pkg/isaac_sim-2021.2.0/exts/omni.isaac.examples/omni/isaac/examples/base_sample/base_sample_extension.py", line 162, in _on_load_world_async await self._sample.load_world_async() File "/home/filip/.local/share/ov/pkg/isaac_sim-2021.2.0/exts/omni.isaac.examples/omni/isaac/examples/base_sample/base_sample.py", line 44, in load_world_async self.setup_scene() File "/home/filip/.local/share/ov/pkg/isaac_sim-2021.2.0/exts/omni.isaac.examples/omni/isaac/examples/user_examples/master_thesis.py", line 55, in setup_scene self.add_object() File "/home/filip/.local/share/ov/pkg/isaac_sim-2021.2.0/exts/omni.isaac.examples/omni/isaac/examples/user_examples/master_thesis.py", line 79, in add_object position=np.array([40, 0, 40]) File "/home/filip/.local/share/ov/pkg/isaac_sim-2021.2.0/exts/omni.isaac.core/omni/isaac/core/prims/xform_prim.py", line 82, in __init__ XFormPrim._set_xform_properties(self) File "/home/filip/.local/share/ov/pkg/isaac_sim-2021.2.0/exts/omni.isaac.core/omni/isaac/core/prims/xform_prim.py", line 160, in _set_xform_properties XFormPrim.set_world_pose(self, position=current_position, orientation=current_orientation) File "/home/filip/.local/share/ov/pkg/isaac_sim-2021.2.0/exts/omni.isaac.core/omni/isaac/core/prims/xform_prim.py", line 329, in set_world_pose self, translation=np.array(calculated_translation), orientation=gf_quatd_to_np_array(calculated_orientation) File "/home/filip/.local/share/ov/pkg/isaac_sim-2021.2.0/exts/omni.isaac.core/omni/isaac/core/prims/xform_prim.py", line 389, in set_local_pose xform_op.Set(rotq) pxr.Tf.ErrorException: Error in 'pxrInternal_v0_20__pxrReserved__::UsdStage::_SetValueImpl' at line 6043 in file /buildAgent/work/ca6c508eae419cf8/USD/pxr/usd/usd/stage.cpp : 'Type mismatch for </World/objects/object_0.xformOp:orient>: expected 'GfQuatf', got 'GfQuatd'' Can somebody help me with this error?
Thank you.
lego_4x2_red_isaac.usd (327.5 KB) - my .usd file which doesn’t work.
screw_95_physics.usd (20.1 KB) - file from Isaac assets which works.
