diff --git a/src/zmp-from-forces.cpp b/src/zmp-from-forces.cpp index 81ea9b9fba659ee097cd4b3859d143dfcfbce5d3..ca1d34d4c14819c718c3f2107242b8725a22ed43 100644 --- a/src/zmp-from-forces.cpp +++ b/src/zmp-from-forces.cpp @@ -97,10 +97,9 @@ namespace sot { const MatrixHomogeneous& M = sensorPositionsSIN_ [i]->access (time); fz [i] = M (2,0) * f (0) + M(2,1) * f (1) + M (2,2) * f (2); if (fz[i] > 0) { - double Mx = M (0,0)*f(3) + M (0,1)*f(4) + M (0,2)*f(5) + - M (1,3)*(M(2,0)*f(0)+M(2,1)*f(1)+M(2,2)*f(2)); - double My = M (1,0)*f(3) + M (1,1)*f(4) + M (1,2)*f(5) - - M (1,3)*(M(1,0)*f(0)+M(1,1)*f(1)+M(1,2)*f(2)); + /// we assume M (2,3)==0 for moments computations + double Mx = M (0,0)*f(3) + M (0,1)*f(4) + M (0,2)*f(5) + M (1,3)*(fz [i]); + double My = M (1,0)*f(3) + M (1,1)*f(4) + M (1,2)*f(5) - M (0,3)*(fz [i]); fnormal += fz[i]; sumZmpx -= My; sumZmpy += Mx;