public DenseMatrix64F getCentroidalMomentumMatrixPart(InverseDynamicsJoint[] joints) { int partDegreesOfFreedom = ScrewTools.computeDegreesOfFreedom(joints); centroidalMomentumMatrixPart.reshape(Momentum.SIZE, partDegreesOfFreedom); centroidalMomentumMatrixPart.zero(); int startColumn = 0; for (InverseDynamicsJoint joint : joints) { int[] columnsForJoint = columnsForJoints.get(joint); MatrixTools.extractColumns( centroidalMomentumRateTermCalculator.getCentroidalMomentumMatrix(), columnsForJoint, centroidalMomentumMatrixPart, startColumn); startColumn += columnsForJoint.length; } return centroidalMomentumMatrixPart; }
public void compute() { ScrewTools.getJointVelocitiesMatrix(jointsInOrder, v); centroidalMomentumRateTermCalculator.compute(); adotV.set(centroidalMomentumRateTermCalculator.getADotVTerm()); }