Hi!
I am looking to model mechanical tolerances and deformations that could occur at each joint for a robot within Isaac Lab.
Considering a robot arm, the joints are revolute for the most part. But it is possible due to manufacturing issues or real life deformations the joint rotates or translates in other axes than the driven revolute axes - not by much, but due to linkages smaller deltas higher up will lead upto a significant delta at end effector.
Hence if we consider each joint as a D-6 joint, my goal is to drive only the revolute axes and the other 5 axes at each joint will be used for random initialization at each instance in Lab to model this mechanical deformation.
I could do it by generating multiple USDs, each with varying level of deformations, but this means a large number of files and the sample space will be made static, which I do not prefer.
On the other hand I tried changing all my robot joints to D-6 joints. But, The PhysX articulation interface seems to recognize only one axis and none of the others, so I cannot find a simple way to alter those other 5 axes.
And from what I understand it is not possible to change the transformations of joints at will especially when the simulation has already begun?
Is there any other way to do this? I appreciate any help!
The documentation states it has only been tested for revolute and prismatic kinds but hints at the ability to use a D-6 joint as well. But, the Lab Articulation interface / Physx one doesn’t expose all the degrees in a D-6 joint. It only gives access to “<joint_name>:0”. It added the “:0” on its own so I assume its possible some way to make it expose all 6 degrees in the single joint?