-
From paperAnalytical Derivatives of Rigid Body Dynamics Algorithms in Pinocchio's citation, derivative of Link Spatial Acceleration with respect to generalized joint velocity is With assumptions of joint types in paper, I got this simplified as: My question is this seems not consistent with code in pinocchio: case LOCAL:
// also computes dvec/dq
if (parent > 0)
{
vtmp = oMlast.actInv(data.ov[parent]);
motionSet::motionAction(vtmp, a_partial_da_cols, v_partial_dq_cols);
}
if (parent > 0)
vtmp -= data.v[jointId];
else
vtmp = -data.v[jointId];
motionSet::motionAction(vtmp, a_partial_da_cols, a_partial_dv_cols);
motionSet::se3ActionInverse<ADDTO>(oMlast, dJcols, a_partial_dv_cols);
break; in JointAccelerationDerivativesBackwardStep Class's algo() method which I think do the following computation: Thanks for your help in advance. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
In fact, it is consistent (as far as I remember). In the code of Pinocchio, we use quantities that are expressed in the WORLD coordinate systems for fast computations. Thus, we must add missing terms to get a complete formula in the LOCAL frame. |
Beta Was this translation helpful? Give feedback.
In fact, it is consistent (as far as I remember). In the code of Pinocchio, we use quantities that are expressed in the WORLD coordinate systems for fast computations. Thus, we must add missing terms to get a complete formula in the LOCAL frame.