How do I fix it?

from omni.isaac.kit import SimulationApp

simulation_app = SimulationApp({“headless”: False})
import omni.isaac.core.utils.stage as stage_utils
from omni.isaac.core.utils.nucleus import get_assets_root_path
from omni.isaac.core import World
from omni.isaac.core.utils.types import ArticulationAction
from omni.isaac.core.articulations.articulation import Articulation

my_world = World(stage_units_in_meters=1.0)
my_world.scene.add_default_ground_plane()
usd_path = “/home/user/Downloads/assets/robot/shadow_hand_description/xarm_shadow/xarm_shadow.usd”
prim_path=“/xarm_shadow”
stage_utils.add_reference_to_stage(usd_path=usd_path, prim_path=prim_path)
xarm_shadow = Articulation(prim_path=prim_path,name = “xarm_shadow”)
xarm_shadow = my_world.scene.add(xarm_shadow)
my_world.reset()

i = 0
while simulation_app.is_running():
my_world.step(render=True)
if my_world.is_playing():
i += 1
simulation_app.close()

Traceback (most recent call last):
File “/home/user/.local/share/ov/pkg/isaac_sim-2023.1.0-hotfix.1/xarm_shadow/xarm_shadow.py”, line 19, in
my_world.reset()
File “/home/user/.local/share/ov/pkg/isaac_sim-2023.1.0-hotfix.1/exts/omni.isaac.core/omni/isaac/core/world/world.py”, line 283, in reset
self._scene._finalize(self.physics_sim_view)
File “/home/user/.local/share/ov/pkg/isaac_sim-2023.1.0-hotfix.1/exts/omni.isaac.core/omni/isaac/core/scenes/scene.py”, line 318, in _finalize
articulated_system.initialize(physics_sim_view)
File “/home/user/.local/share/ov/pkg/isaac_sim-2023.1.0-hotfix.1/exts/omni.isaac.core/omni/isaac/core/articulations/articulation.py”, line 164, in initialize
self._articulation_view.initialize(physics_sim_view=physics_sim_view)
File “/home/user/.local/share/ov/pkg/isaac_sim-2023.1.0-hotfix.1/exts/omni.isaac.core/omni/isaac/core/articulations/articulation_view.py”, line 204, in initialize
assert self._physics_view.is_homogeneous
File “/home/user/.local/share/ov/pkg/isaac_sim-2023.1.0-hotfix.1/extsPhysics/omni.physics.tensors-105.1.10-5.1/omni/physics/tensors/impl/api.py”, line 167, in is_homogeneous
return self._backend.is_homogeneous
AttributeError: ‘NoneType’ object has no attribute ‘is_homogeneous’

How do I fix it? And I follow the tutorial"import URDF" and encounter the issue.


How do I make the “xarm7” as a “articulation”?

Can you help me solve this problem?

Hi @1878720579 - Here’s the snippet of how to add articulation

Here’s the doc link: 5.5. Rigging Robots — Omniverse IsaacSim latest documentation

I don’t think that can solve my problem. The importer carry over joint information.


I use the "xarm_shadow.urdf"URDF files as follows:
shadow_hand_description.zip (7.0 MB)
I follow the turtorial “import urdf” and transform it to the USD.

from omni.isaac.kit import SimulationApp
simulation_app = SimulationApp({“headless”: False})
import omni.isaac.core.utils.stage as stage_utils
from omni.isaac.core.utils.nucleus import get_assets_root_path
from omni.isaac.core import World
from omni.isaac.core.utils.types import ArticulationAction
from omni.isaac.core.articulations.articulation import Articulation

my_world = World(stage_units_in_meters=1.0)
usd_path = “/home/user/Downloads/assets/robot/shadow_hand_description/xarm_shadow/xarm_shadow.usd”
prim_path = “/xarm_shadow”
stage_utils.add_reference_to_stage(usd_path=usd_path,prim_path=prim_path)
xarm_shadow = Articulation(prim_path=“/xarm_shadow/link_base”,name = “xarm_shadow”)
xarm_shadow = my_world.scene.add(xarm_shadow)
my_world.reset()
print(xarm_shadow.num_dof)

i = 0
while simulation_app.is_running():
my_world.step(render=True)
if my_world.is_playing():
i += 1

simulation_app.close()

I found when the prim path is “/xarm_shadow/link_base”, the “Articulation” is work. I don’t understamd. Why?

your prim path here needs to point to the articulation root - When you change it to the path as listed below you selected the prim that contains the ARticulation Root API, and that’s why making that change makes it work

if you use 2022.2.1 urdf importer, the articulation root path will be “/xarm_shadow”, if you use 2023.1.1 urdf importer, the articulation root path will be “/xarm_shadow/link_base”

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