Skip to content

Commit 7ee6d2a

Browse files
Clarifies asset classes' default_inertia tensor coordinate frame (#3405)
# Description The default_inertia attributes of the Articulation, RigidObjectCollection, and RigidObject data asset classes did not specify in what coordinate frame the tensors should be provided. This PR addresses this, and addresses some minor inconsistencies across the default_inertia docstrings. ## Type of change - This change requires a documentation update ## Screenshots ArticulationData | Before | After | | ------ | ----- | | <img width="731" height="162" alt="image" src="https://github.com/user-attachments/assets/7e2a6973-6264-4ba0-89d7-fd903e3bee6d" />| <img width="750" height="262" alt="image" src="https://github.com/user-attachments/assets/470832e6-0164-4402-b4c7-6a5ac5e599a1" />| RigidObjectCollectionData | Before | After | | ------ | ----- | | <img width="731" height="181" alt="image" src="https://github.com/user-attachments/assets/7d6bd039-b7f5-40e2-9180-33d0748694a8" /> | <img width="733" height="276" alt="image" src="https://github.com/user-attachments/assets/07bb32ca-628c-4132-8009-1db1c279d653" /> | RigidObjectData | Before | After | | ------ | ----- | | <img width="732" height="160" alt="image" src="https://github.com/user-attachments/assets/43b29f1c-3e92-4b96-925f-88cdf7ef3fc3" /> | <img width="733" height="276" alt="image" src="https://github.com/user-attachments/assets/d16bbc57-3939-4f2e-84cb-9ec135dcbe7e" /> | ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there
1 parent 69f3412 commit 7ee6d2a

File tree

4 files changed

+14
-6
lines changed

4 files changed

+14
-6
lines changed

CONTRIBUTORS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ Guidelines for modifications:
111111
* Özhan Özen
112112
* Patrick Yin
113113
* Peter Du
114+
* Philipp Reist
114115
* Pulkit Goyal
115116
* Qian Wan
116117
* Qinxi Yu

source/isaaclab/isaaclab/assets/articulation/articulation_data.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,9 @@ def update(self, dt: float):
151151
default_inertia: torch.Tensor = None
152152
"""Default inertia for all the bodies in the articulation. Shape is (num_instances, num_bodies, 9).
153153
154-
The inertia is the inertia tensor relative to the center of mass frame. The values are stored in
155-
the order :math:`[I_{xx}, I_{xy}, I_{xz}, I_{yx}, I_{yy}, I_{yz}, I_{zx}, I_{zy}, I_{zz}]`.
154+
The inertia tensor should be given with respect to the center of mass, expressed in the articulation links' actor frame.
155+
The values are stored in the order :math:`[I_{xx}, I_{yx}, I_{zx}, I_{xy}, I_{yy}, I_{zy}, I_{xz}, I_{yz}, I_{zz}]`.
156+
However, due to the symmetry of inertia tensors, row- and column-major orders are equivalent.
156157
157158
This quantity is parsed from the USD schema at the time of initialization.
158159
"""

source/isaaclab/isaaclab/assets/rigid_object/rigid_object_data.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,11 @@ def update(self, dt: float):
112112
default_inertia: torch.Tensor = None
113113
"""Default inertia tensor read from the simulation. Shape is (num_instances, 9).
114114
115-
The inertia is the inertia tensor relative to the center of mass frame. The values are stored in
116-
the order :math:`[I_{xx}, I_{xy}, I_{xz}, I_{yx}, I_{yy}, I_{yz}, I_{zx}, I_{zy}, I_{zz}]`.
115+
The inertia tensor should be given with respect to the center of mass, expressed in the rigid body's actor frame.
116+
The values are stored in the order :math:`[I_{xx}, I_{yx}, I_{zx}, I_{xy}, I_{yy}, I_{zy}, I_{xz}, I_{yz}, I_{zz}]`.
117+
However, due to the symmetry of inertia tensors, row- and column-major orders are equivalent.
118+
119+
This quantity is parsed from the USD schema at the time of initialization.
117120
"""
118121

119122
##

source/isaaclab/isaaclab/assets/rigid_object_collection/rigid_object_collection_data.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,11 @@ def update(self, dt: float):
118118
default_inertia: torch.Tensor = None
119119
"""Default object inertia tensor read from the simulation. Shape is (num_instances, num_objects, 9).
120120
121-
The inertia is the inertia tensor relative to the center of mass frame. The values are stored in
122-
the order :math:`[I_{xx}, I_{xy}, I_{xz}, I_{yx}, I_{yy}, I_{yz}, I_{zx}, I_{zy}, I_{zz}]`.
121+
The inertia tensor should be given with respect to the center of mass, expressed in the rigid body's actor frame.
122+
The values are stored in the order :math:`[I_{xx}, I_{yx}, I_{zx}, I_{xy}, I_{yy}, I_{zy}, I_{xz}, I_{yz}, I_{zz}]`.
123+
However, due to the symmetry of inertia tensors, row- and column-major orders are equivalent.
124+
125+
This quantity is parsed from the USD schema at the time of initialization.
123126
"""
124127

125128
##

0 commit comments

Comments
 (0)