idyntree icon indicating copy to clipboard operation
idyntree copied to clipboard

Document semantics difference between Pinocchio quantities and iDynTree KinDynComputations quantities

Open traversaro opened this issue 5 years ago • 5 comments
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

traversaro avatar Apr 20 '20 10:04 traversaro

cc @GiulioRomualdi

traversaro avatar Apr 20 '20 10:04 traversaro

Related issues:

  • https://github.com/stack-of-tasks/pinocchio/issues/1171
  • https://github.com/stack-of-tasks/pinocchio/issues/1140

traversaro avatar Apr 20 '20 14:04 traversaro

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

GiulioRomualdi avatar Jul 07 '20 13:07 GiulioRomualdi

CC @robotology/iit-dynamic-interaction-control

DanielePucci avatar Jul 11 '20 20:07 DanielePucci

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_REPRESENTATION Eq. 35 in https://research.tue.nl/en/publications/multibody-dynamics-notation-version-2
  • INERTIAL_FIXED_REPRESENTATION Eq. 23 in https://research.tue.nl/en/publications/multibody-dynamics-notation-version-2
  • BODY_FIXED_REPRESENTATION Eq. 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

traversaro avatar Mar 26 '22 11:03 traversaro