Isaac sim standalone python api, specify root link of articulation


I have a question about how to specify the root prim of an articulation. To illustrate my question let’s say we have a robot with 3 links:

  • my_robot
    • base_link
    • chassis_link
    • imu_link

Then I add the robot using the python api like this:
add(Robot(prim_path, name="my_robot", position=[0, 0, 2], orientation=[0, 0, 0, 1]))

However the robot spawns w.r.t. the imu link’s position instead of the base_link. This is also reflected in the TF graph, where the transform is always from world->imu_link->others.

So my question is, how do I specify that base_link should be the root link.

Still stuck on this unfortunately. Using the dynamic_control api I’m able to print the articulation_root_body using the functions get_articulation_root_body() and get_rigid_body_name().

Does anyone know how the root body of an articulation is chosen? or how I can change the root body of the articulation?

Nevermind I found my problem in this thread. Applying the root_articulation property to the right prim fixed it for me.

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