Skip to content

Unable to correctly set inertia when randomizing COM in Isaac Lab #4162

@YeJiAce

Description

@YeJiAce

Question

Hello, I am doing domain randomization on a simple rigid box in Isaac Lab.
My workflow is:

  1. Randomly shift the object’s COM.
  2. Recompute the inertia tensor using the parallel-axis theorem.
  3. The resulting inertia matrix is non-diagonal.
  4. I apply it with: asset.root_physx_view.set_inertias
  5. However, I found that all off-diagonal terms are silently discarded, and only the diagonal values remain.
  6. According to the PhysX documentation, inertias are defined in the rigid body’s COM frame, and in this frame, the inertia of a box should indeed be diagonal.

My question is:

Since the inertia tensor is defined in the COM frame, if I shift the COM, does that mean I don’t need to change the inertia tensor? And is this physically consistent with real-world object dynamics in simulation?

Thanks in advance.

  • Isaac Lab Version: [2.2.0]
  • Isaac Sim Version: [5.0.0]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions