syroco/orca

Adding a new function to recover generalizedGravityForces.

Closed this issue · 4 comments

const Eigen::VectorXd& RobotDynTree::generalizedGravityForces()
{
    kinDynComp_.generalizedGravityForces(robotData_.generalizedGravityForces);
    robotData_.eigGeneralizedGravityForces.head(6) = iDynTree::toEigen(robotData_.generalizedGravityForces.baseWrench());
    robotData_.eigGeneralizedGravityForces.tail(kinDynComp_.getNrOfDegreesOfFreedom()) = iDynTree::toEigen(robotData_.generalizedGravityForces.jointTorques());
    return robotData_.eigGeneralizedGravityForces;
}

What do you mean by adding a new function ?

In RobotDyn class, we can't recover only generalizedGravityForces to compute gravityregularisation task, because generaliZedBiasdForces return Gravity + Coriolis. So, i have to add generalizedGravityForces in RobotDyn class.

You can get the subvector :

Eigen::VectorXd gravity_torques = robot->generalizedGravityForces().segment(6,kinDynComp_.getNrOfDegreesOfFreedom());

Thank you.