Isaac Sim python scripting no articulation view

I created a standalone application following this tutorial for loading a robot into Isaac Sim.
I want to load my own custom robot, but I tested it with the Franka robot usd provided in Isaac Sim:

usd_path = "/home/<user_name>/Desktop/franka_alt_fingers.usd"
prim_path = "/World/envs/env_0/panda"
# load the Franka Panda robot USD file
stage_utils.add_reference_to_stage(usd_path, prim_path)
# wrap the prim as an articulation
prim = Articulation(prim_path=prim_path, name="franka_panda")

world.reset()
action = ArticulationAction(joint_positions=np.array([0.0, -1.0, 0.0, -2.2, 0.0, 2.4, 0.8, 0.04, 0.04]))
prim.apply_action(action)

When I run it using python.sh, I get the error:

Traceback (most recent call last):
  File "/home/<user_name>/Dev/isaac_sim/scenario.py", line 66, in <module>
    prim.apply_action(action)
  File "/home/<user_name>/.local/share/ov/pkg/isaac_sim-2023.1.1/exts/omni.isaac.core/omni/isaac/core/articulations/articulation.py", line 898, in apply_action
    self._articulation_controller.apply_action(control_actions=control_actions)
  File "/home/<user_name>/.local/share/ov/pkg/isaac_sim-2023.1.1/exts/omni.isaac.core/omni/isaac/core/controllers/articulation_controller.py", line 53, in apply_action
    applied_actions = self.get_applied_action()
  File "/home/<user_name>/.local/share/ov/pkg/isaac_sim-2023.1.1/exts/omni.isaac.core/omni/isaac/core/controllers/articulation_controller.py", line 235, in get_applied_action
    applied_actions = self._articulation_view.get_applied_actions()
AttributeError: 'ArticulationController' object has no attribute '_articulation_view'. Did you mean: '_articulation_handle'?

i wonder if this is because of the defined prim path. there was a change in how that was managed from 2023.1.0 to 2023.1.1 and i suspect the documentation you were following isn’t quite up to date.

here’s the detail regarding the update:

another example of user encountering issue when using wrong articulation root prim path:

@Simplychenable thanks again! Sorry for the late reply.

I tried again with the prim_path being the articulation root “/World/franka_alt_fingers”, found by filtering by Articulation Root in the stage of the usd file in Isaac Sim. However, when I run the program, I get the same error.

Hi @anna.cherlie.joy

Somehow I also wrote the code in same way. I am also getting same error, Did you solve it, How did you make it run ?

Thanks

Hello Guys @anna.cherlie.joy @Simplychenable

we have to add this articulation view into the code

hand_bot = ArticulationView(prim_paths_expr=“/World/franka”, name=“robot”)
my_world.scene.add(hand_bot)
my_world.initialize_physics()

It works for me in isaac sim 4.0.0

Hi, @dekusmash016
Glad to hear you resolved the issue! Thank you for sharing your solution with the community; it’s always helpful to have these insights.

I have a follow-up question that might help others who encounter similar problems. When you compared your script to the one in the Isaac Sim documentation, what specific elements were missing that led to the issue? Was it only the line my_world.scene.add(hand_bot), or were there other crucial parts that needed to be included?

1 Like

Hi @VickNV

I thought we missed this line mainly

robot = ArticulationView(prim_paths_expr=“/World/franka”, name=“robot”)

If we don’t add this line, custom robot is loading into isaac sim but it wont move and its throwing an warning like

2024-08-08 07:38:46 [7,226ms] [Warning] [omni.isaac.core.articulations.articulation_view] ArticulationView needs to be initialized.

and if we give any commads for joint target positions or getting any information from robot, it won’t give infromation correctly.

joint_positions are None
dof are : None

So, I thought we need to add articulation view first, scene add, and initalize physics to resolve this issue.

If we can do any other way, please let me know and @VickNV the main thing is Isaac sim documentation is here, but it is not giving all the information, I had to go to this doc to find about articulation view and code. I feel that Isaac sim documentation is already huge, but for few extensions and customs we need to go another docs again.

Thanks in advance.

Thank you for your feedback on our documentation. We appreciate you taking the time to share your experience.

It seems the warning “ArticulationView needs to be initialized.” is indeed critical. This warning indicates that the ArticulationView object must be properly initialized before it can be used. This step is essential for ensuring that the articulation is correctly set up and can interact with the simulation environment as expected.

1 Like

@VickNV yes exactly !!

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