idyntree
idyntree copied to clipboard
Document semantics difference between Pinocchio quantities and iDynTree KinDynComputations quantities
trafficstars
Things to check (see https://github.com/robotology/idyntree/issues/673#issuecomment-615168900) :
- DOFs and link serializations
- Velocity, force and acceleration representations for the base quantities
- How we need to transform the vector and matrix input and output quantities appropriately given these differences
cc @GiulioRomualdi
Related issues:
- https://github.com/stack-of-tasks/pinocchio/issues/1171
- https://github.com/stack-of-tasks/pinocchio/issues/1140
Before I forgot I want to drop here this table of conversion:
iDynTree |
Pinocchio |
|---|---|
| MIXED_REPRESENTATION | LOCAL_WORLD_ALIGNED |
| INERTIAL_FIXED_REPRESENTATION | WORLD |
| BODY_FIXED_REPRESENTATION | LOCAL |
CC @robotology/iit-dynamic-interaction-control
Before I forgot I want to drop here this table of conversion:
Updated version to be self-contained. Assumptions:
- we have two frame a and e, and the transform between this two frames is represented by ᵃRₑ ∈ SO(3) ᵃoₑ ∈ ℝ³
- (.)ᵛ represents the mapping between the skew-symmetrix matrix and the related vector in ℝ³, i.e. such that if u,v ∈ ℝ³, u = (U)ᵛ s.t. U v = u × v
- the dot represent the usual mathematical analysis dot operator (time derivative) and not the Featherstone one then the different velocities are:
iDynTree |
Pinocchio |
Math |
|---|---|---|
| MIXED_REPRESENTATION | LOCAL_WORLD_ALIGNED | (ᵃȯₑ , ( ᵃṘₑ ᵃRₑᵀ )ᵛ ) . |
| INERTIAL_FIXED_REPRESENTATION | WORLD | (ᵃȯₑ - (ᵃṘₑ ᵃRₑᵀ) ᵃoₑ , ( ᵃṘₑ ᵃRₑᵀ )ᵛ ) . |
| BODY_FIXED_REPRESENTATION | LOCAL | (ᵃRₑᵀ ᵃȯₑ , ( ᵃRₑᵀ ᵃṘₑ )ᵛ ) . |
Sources and derivation for the equations:
MIXED_REPRESENTATIONEq. 35 in https://research.tue.nl/en/publications/multibody-dynamics-notation-version-2INERTIAL_FIXED_REPRESENTATIONEq. 23 in https://research.tue.nl/en/publications/multibody-dynamics-notation-version-2BODY_FIXED_REPRESENTATIONEq. 18 in https://research.tue.nl/en/publications/multibody-dynamics-notation-version-2
Related Pinocchio issues:
- https://github.com/stack-of-tasks/pinocchio/issues/1624
- https://github.com/stack-of-tasks/pinocchio/issues/1336