Isaac Sim Version
[*] 4.2.0
4.1.0
4.0.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):
Operating System
[*] Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):
GPU Information
- Model: A6000
- Driver Version: 535.183.01
Topic Description
Detailed Description
I use the USD file in YCB DATASET and upload it to ISAAC SIM, the following error message occurs.
i’m also wondering about what is a_name"(Xform)?
i haven’t created it.
I’ve looked hard for material on how to create a prim, but couldn’t find it, so if anyone knows of it, I’d appreciate a link.
sorry. i can’t upload any media file because i’m new member
Steps to Reproduce
- I’ve created the code so you can reproduce it, and I’ve also attached the usd file provided by the ycb dataset, so you can download it, change the path and test it out.
Error Messages
2025-01-14 05:05:33 [17,285ms] [Error] [omni.physicsschema.plugin] Rigid Body of (/World/object_0/a_name) missing xformstack reset when child of rigid body (/World/object_0) in hierarchy. Simulation of multiple RigidBodyAPI’s in a hierarchy will cause unpredicted results. Please fix the hierarchy or use XformStack reset.
2025-01-14 05:05:33 [17,286ms] [Error] [omni.physicsschema.plugin] Rigid Body of (/World/object_1/a_name) missing xformstack reset when child of rigid body (/World/object_1) in hierarchy. Simulation of multiple RigidBodyAPI’s in a hierarchy will cause unpredicted results. Please fix the hierarchy or use XformStack reset.
2025-01-14 05:05:33 [17,286ms] [Error] [omni.physicsschema.plugin] Rigid Body of (/World/object_2/a_name) missing xformstack reset when child of rigid body (/World/object_2) in hierarchy. Simulation of multiple RigidBodyAPI’s in a hierarchy will cause unpredicted results. Please fix the hierarchy or use XformStack reset.
Screenshots or Videos
This is what it looks like in ISAAC SIM when I run the code I attached.
Additional Information
What I’ve Tried
I also saw other solution in nvidia forum. but it doesn’t help me.
Code
from omni.isaac.kit import SimulationApp
simulation_app = SimulationApp({"headless": False})
from omni.isaac.core import World
from omni.isaac.core.scenes.scene import Scene
from omni.isaac.core.utils.stage import add_reference_to_stage
from omni.isaac.core.scenes.scene import Scene
from omni.isaac.core.utils.prims import is_prim_path_valid
from omni.isaac.core.utils.string import find_unique_string_name
from omni.isaac.core.utils.prims import create_prim, get_prim_path, define_prim
from omni.isaac.core.utils.stage import get_stage_units
from omni.isaac.core.materials import PhysicsMaterial
from omni.isaac.core.prims import RigidPrim, GeometryPrim
import numpy as np #
my_world = World(stage_units_in_meters=1.0)
scene = Scene()
scene.add_default_ground_plane()\
usd_path = ['CHANGE IT : usd_path1',
'CHANGE IT : usd_path2',
'CHANGE IT : usd_path3']
usd_path = ['/home/ysson/sangtaepark/code/lecture/dataset/ycb/013_apple/final.usd',
'/home/ysson/sangtaepark/code/lecture/dataset/ycb/014_lemon/final.usd',
'/home/ysson/sangtaepark/code/lecture/dataset/ycb/015_peach/final.usd']
imported_objects_prim_path = '/World/object'
object_positions = [[0, 0.5, 0.2],
[0, 1.0, 0.2],
[0, 1.5, 0.2]]
for object_number in range(len(usd_path)):
# https://forums.developer.nvidia.com/t/set-mass-and-physicalmaterial-properties-to-prim/229727/4
define_prim(imported_objects_prim_path + f"_{object_number}")
define_prim(imported_objects_prim_path + f"/geometry_prim_{object_number}")
task_object = add_reference_to_stage(usd_path = usd_path[object_number],
prim_path = imported_objects_prim_path + f"_{object_number}")
rigid_prim = RigidPrim(prim_path = imported_objects_prim_path + f"_{object_number}",
position = object_positions[object_number],
orientation = np.array([1, 0, 0, 0]),
name = "rigid_prim",
scale = np.array([0.2] * 3),
mass = 0.01)
rigid_prim.enable_rigid_body_physics()
geometry_prim = GeometryPrim(prim_path = imported_objects_prim_path + f"/geometry_prim_{object_number}",
name = "geometry_prim",
position = object_positions[object_number],
orientation = np.array([1, 0, 0, 0]),
scale = np.array([0.2] * 3),
collision = True,
)
geometry_prim.apply_physics_material(
PhysicsMaterial(
prim_path = imported_objects_prim_path + f"/physics_material_{object_number}",
static_friction = 10,
dynamic_friction = 10,
restitution = None
)
)
while simulation_app.is_running():
my_world.step(render=True)
simulation_app.close()