diff --git a/mission/controller/acs/Guidance.cpp b/mission/controller/acs/Guidance.cpp index 2c1b3c63..07730e09 100644 --- a/mission/controller/acs/Guidance.cpp +++ b/mission/controller/acs/Guidance.cpp @@ -303,9 +303,9 @@ void Guidance::comparePtg(double currentQuat[4], double currentSatRotRate[3], do // First calculate error quaternion between current and target orientation without reference // quaternion double errorQuatWoRef[4] = {0, 0, 0, 0}; - QuaternionOperations::multiply(currentQuat, targetQuat, errorQuatWoRef); + QuaternionOperations::multiply(targetQuat, currentQuat, errorQuatWoRef); // Then add rotation from reference quaternion - QuaternionOperations::multiply(refQuat, errorQuatWoRef, errorQuat); + QuaternionOperations::multiply(errorQuatWoRef, refQuat, errorQuat); // Keep scalar part of quaternion positive if (errorQuat[3] < 0) { VectorOperations::mulScalar(errorQuat, -1, errorQuat, 4);