The position of the rigid body changes after being hit, but the transform does not change

Isaac Sim Version

4.2.0
4.1.0
4.0.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):

GPU Information

  • Model: 4090
  • Driver Version:

Topic Description

Detailed Description

When running in the world, I need to get the position of the target in real time, but when the position change of the target is caused by the collision and grabbing of other objects, its transform does not change, which leads to the incorrect relative position obtained by using the of pythonSDK.

 transformations _ utils. get _ relative _ transform (source _ prim = prim _ 2, target _ prim = prim _ 1) 

I hope that I can still get the actual position of an object after it is hit or grabbed.
Thanks very much

Add two rigid bodies, and when the world is running, let one of them collide with the other, and the position of the collided rigid bodies will change, but the transform will not change.
The following is a simple demonstration video.

I’ve solved it

Any chance you recall how you fixed this? I’m seeing the same behavior.

I have a rigid body that’s moved from it’s original spawn point, and I need to get it’s new location. All methods I’ve found return the spawn location instead of current location… Struggling.

This is because there is something wrong with the target of rigid body addition, such as xform-cardbox. If you add a rigid body to xform, you can get the changed position when the position of the object changes, but when you add a rigid body to cardbox, it changes the position of cardbox instead of xform.

In other words, you need to add a rigid body to the target xform instead of the mesh.

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