I’m having issue on connecting movable parts of robot through Revolute Joints with Articulation API, when i connect them and ArticulatedRoot links everything it moves part from one place of model to another.
Hi @ltorabi , Yes, this issue still persists.
I tried workaround with creating XForm inside prim with X 0 Y 0 Z 0 and then putting dependent objects there, it behaves much better. But it seems like because all XForm ( that i used to wrap wheels ) points to the same location - it’s unable to determine wheel base - it says it’s 0, so this workaround doesn’t look applicable.
Also i observed that joint connects to right place if i don’t pick any revolute joint in the tree, i also able to pick it when scene is started without consequences, but if i pick joint ( not performing any actions ) and then press play it leads to result above. ( I made a lot of different usd for same robot model trying to make it work with different approaches, but yet no success)
@Hammad_M, Yes, i’m using isaac-sim-headless 2020.2.28133
Looks like this issue appears after scaling top usd. Robot.usd.txt (625.4 KB) Robot_scaled.usd.txt (625.4 KB)
*Remove .txt extension from files
Provided original one and scaled, in scaled You will be able to see issue described in original post by picking joint ( joint place will be shown away from original one ) and then pressing the play button, no changes will be shown till joint pick( Also it won’t be changed if Your scene was started ). If You’ll press play button once scene loaded it won’t show this issue.
It looks like the joints in in Robot.usd are not at the correct origin point and clicking on the joint causes the transform to reset back to the current position.
For the small wheels this is easy to fix
For the wheels I would recommend creating separate collision geometry as spheres or setting the collision mesh approximation to spheres so that the wheels are smooth.