How to randomize the fixed joint's joint_positions in RL env?

For some reasons, I would like to randomize the fixed joint’s joint_positions in the RL env, such as the camera position tied to the robot. The now suppored method is usually to randomize the acitve joint’s position, What should I do to randomize the fixed joints’ position, such as the position related to the root link?

Hi @yinghuili - You can try that using Domain Randomization feature in Isaac Gym. Here’s the doc link: 2. Domain Randomization for RL — Omniverse IsaacSim latest documentation

Hi, @rthaker -Thanks, I have looked at this link.The most related info I think is the Randomization of “joint_positions (dim=num_dof): The joint positions. In radians or meters.” But like I said before, I dont know If this function will work encountering the fixed joints, because the fixed joints will not be in range of dofs. What’s more, the fixed joints is different from the prismatic joints or revolute, wihch means that It s hard to define the Randomization params like radians or meters? Is this could be accomplished? Id appreciate it if you could give me some samples. Thank you!!!

Hi there, I don’t believe it’s possible to modify fixed joint properties at runtime. As an alternative, you can try defining each environment with a randomized fixed joint position during environment creation.

Hi,I tried to implement the rl training in orbit, with the purpose to randomize the fixed joints. In orbit, we use the omni/physics/tensors/impl/api.py to connect with simulator, there is no function to set the fixed joints position by the local pose params. Is it possible to add this function?

It should be possible to change the localPose0/1 in runtime and the change should be propagated to PhysX SDK, see the video:

Regards,
Ales