Incorrect Dof Limits fetched from USD

Hi,

I have built on top of the Anymal environment from omniisaacgymenvs, I have made my usd instancable as per instructions in the documentation. Now I have two usd files, one that is a base for the meshes and one that is the instancable asset that is loaded into the environment.

I have manually changed all the lower limits to specific numbers. When I print the limits via articulation_view_instance.get_dof_limits()

  • the USD is loaded using omni.isaac.core.utils.stage.add_reference_to_stage()

  • Then later I call the function get_dof_limits() that originates in omni.isaac.core.articulations.articulation_view.get_dof_limits()
    I get 16 joints, out of which only 14 have correct values, and 2 of them have values that are not even in the instancable usd.

NOTE: I believe this might be connected to the problem I am trying to solve, which is when I put in default joint angles in a yaml config file for the task (all basically similar to anymal environment, but not reproducible with the anymal file itself) the robot as a whole tilts in the “pitch”, i.e. to the front for angles that should set positions for the joints, not for the whole body…

So I have two questions about this supposed BUG:

  1. How is it possible that the compiled code in kit.omni.physics.tensors returns numbers that are not even in the USD?

  2. How to find, where is the connection between joints names and actual prims? Because that seems to be the problem here.

I still don’t have the answer for point 1, bud I do have answer for point 2.

2) Where is the connection between joints names and actual prims?

I needed to know in what order are the prims (primitives) from the .usd spawned. This could be done by checking out the initialize() function in omni.isaac.core.articulations.articulation_view.py and printing the metadata provided with the physics view.

I am still waiting for someone to respond to the DOF limits being incorrect. i still see one limit being flipped and cannot figure out why. The limits are correct in the USD and also in the Isaac Sim 2023 when I check out the joint limits via the scene inspection on the right…