Hi I am new to isaaclab here, I want to load a usd file into isaac and assign velocity on it.
I first use source/standalone/tools/convert_mjcf.py
to convert my xml into usd file, I can successfully get a usd file and view it in isaac, while I got the below error message:
2024-11-23 08:19:31 [23,792ms] [Warning] [omni.usd] Warning: in SdfPath at line 81 of /builds/omniverse/usd-ci/USD/pxr/usd/sdf/path.cpp -- Ill-formed SdfPath <>: syntax error
2024-11-23 08:19:31 [23,792ms] [Warning] [omni.usd] Coding Error: in _IsValidPathForCreatingPrim at line 3340 of /builds/omniverse/usd-ci/USD/pxr/usd/usd/stage.cpp -- Path must be an absolute path: <>
MJCF importer output:
Generated USD file: /home/xinyili/IsaacLab/day31_spinning_top.usd
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
2024-11-23 08:19:34 [26,049ms] [Warning] [omni.hydra.scene_delegate.plugin] Calling getBypassRenderSkelMeshProcessing for prim /day31_spinning_top/day31_spinning_top/visuals.proto__geom_0_id0 that has not been populated
2024-11-23 08:20:42 [94,504ms] [Warning] [omni.hydra.scene_delegate.plugin] InstanceAdapter - cannot find cache item for proto /day31_spinning_top/day31_spinning_top/collisions.proto__geom_1_id0
2024-11-23 08:20:42 [94,504ms] [Warning] [omni.hydra.scene_delegate.plugin] InstanceAdapter - cannot find cache item for proto /day31_spinning_top/day31_spinning_top/visuals.proto__geom_0_id0
2024-11-23 08:20:42 [94,504ms] [Warning] [omni.hydra.scene_delegate.plugin] InstanceAdapter - cannot find cache item for proto /day31_spinning_top/day31_spinning_top/visuals.proto__geom_1_id1
the xml code is:
<mujoco model="day31_spinning_top">
<default>
<default class="visual">
<geom group="2" type="mesh" contype="0" conaffinity="0"/>
</default>
<default class="collision">
<geom group="3" type="mesh"/>
</default>
</default>
<asset>
<material name="Scene_-_Root" specular="0.5" shininess="0.5" rgba="1 1 1 1.0"/>
<mesh file="day31_spinning_top.obj"/>
</asset>
<worldbody>
<body name="day31_spinning_top">
<geom material="Scene_-_Root" mesh="day31_spinning_top" class="visual"/>
<geom mesh="day31_spinning_top" class="collision"/>
</body>
</worldbody>
</mujoco>
Then I want to assign velocity to it, so I try to load it with InteractiveSceneCfg:
spinner = RigidObjectCfg(
prim_path="{ENV_REGEX_NS}/Top",
spawn=sim_utils.UsdFileCfg(
usd_path='spintop_rigid.usd',
rigid_props=sim_utils.RigidBodyPropertiesCfg(
rigid_body_enabled=True,
max_linear_velocity=1000.0,
max_angular_velocity=1000.0,
max_depenetration_velocity=100.0,
enable_gyroscopic_forces=True,
),
),
init_state=RigidObjectCfg.InitialStateCfg(pos=[0, 0, 1], lin_vel=[10, 0.3, 0]),
)
and I got the error message below:
2024-11-23 08:35:27 [21,442ms] [Warning] [omni.usd] Warning: in _ReportErrors at line 2890 of /builds/omniverse/usd-ci/USD/pxr/usd/usd/stage.cpp -- In </World/envs/env_0/Top>: Unresolved reference prim path @spintop_rigid.usd@<defaultPrim> introduced by @anon:0x15d42ac0:World0.usd@</World/envs/env_0/Top> (recomposing stage on stage @anon:0x15d42ac0:World0.usd@ <0x14116480>)
2024-11-23 08:35:27 [21,451ms] [Warning] [omni.isaac.lab.sim.utils] Could not perform 'modify_rigid_body_properties' on any prims under: '/World/envs/env_0/Top'. This might be because of the following reasons:
(1) The desired attribute does not exist on any of the prims.
(2) The desired attribute exists on an instanced prim.
Discovered list of instanced prim paths: []
Traceback (most recent call last):
File "/home/xinyili/IsaacLab/source/extensions/omni.isaac.lab/omni/isaac/lab/assets/asset_base.py", line 92, in <lambda>
lambda event, obj=weakref.proxy(self): obj._initialize_callback(event),
File "/home/xinyili/IsaacLab/source/extensions/omni.isaac.lab/omni/isaac/lab/assets/asset_base.py", line 263, in _initialize_callback
self._initialize_impl()
File "/home/xinyili/IsaacLab/source/extensions/omni.isaac.lab/omni/isaac/lab/assets/rigid_object/rigid_object.py", line 280, in _initialize_impl
raise RuntimeError(
RuntimeError: Failed to find a rigid body when resolving '/World/envs/env_.*/Top'. Please ensure that the prim has 'USD RigidBodyAPI' applied.
Traceback (most recent call last):
File "/home/xinyili/IsaacLab/spinning_top.py", line 192, in <module>
main()
File "/home/xinyili/IsaacLab/spinning_top.py", line 187, in main
run_simulator(sim, scene)
File "/home/xinyili/IsaacLab/spinning_top.py", line 140, in run_simulator
scene.reset()
File "/home/xinyili/IsaacLab/source/extensions/omni.isaac.lab/omni/isaac/lab/scene/interactive_scene.py", line 351, in reset
rigid_object.reset(env_ids)
File "/home/xinyili/IsaacLab/source/extensions/omni.isaac.lab/omni/isaac/lab/assets/rigid_object/rigid_object.py", line 103, in reset
self._external_force_b[env_ids] = 0.0
AttributeError: 'RigidObject' object has no attribute '_external_force_b'
I tried assign rigid body material in issacsim interface by ‘create->physics->physics material → Rigid Body Material’ on the root Xform and save it into a new usd file, but the error message are all the same. Any suggestion about this would be appreciated!