Inertia class
BodyNode has multiple functionalities and it makes the API complex. Inertia will take mass, moment of inertia, and center of mass properties from BodyNode.
- [x] Deprecate APIs related to inertia properties in
BodyNode - [ ] Add API for the transformation from the body frame to the inertial frame in
Inertia - [x] Add API that returns moment of inertia as (3x3) matrix in
Inertia - [x] Add API that returns spatial inertia as (6x6) matrix in
Inertia - [x] Add API that set and get each component of moment of inertia as scalar in
Inertia
Inertia class is added in #369.
I didn't close this yet, because we currently don't have an API that handles the transformation of the spatial inertia matrices. I don't think it would be hard to implement, I just haven't nailed down an API design that seems ideal to me yet.
I have two ideas so far. Let's say you want to transform from Frame current to Frame target. We could either do:
(1) Take in both frames as arguments:
inertia->transform(current, target);
(2) Or just take in a single transform and assume that the user is passing in the correct transform:
inertia->transform( target->getTransform(current) );
I'm not sure which would be preferable, but I'm leaning towards the latter. I'm also open to alternatives.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.