From 4193a565a42971d9680dc35083bbed3d326357bc Mon Sep 17 00:00:00 2001 From: meggert Date: Fri, 22 Mar 2024 11:39:18 +0100 Subject: [PATCH 1/2] i hate this --- mission/controller/acs/Guidance.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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); -- 2.34.1 From 9f033411089ba7c7cf537fa2fb69bb8a05c4313e Mon Sep 17 00:00:00 2001 From: meggert Date: Fri, 22 Mar 2024 11:40:00 +0100 Subject: [PATCH 2/2] changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 649cf44f..6510f227 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ will consitute of a breaking change warranting a new major release: # [unreleased] +## Fixed + +- Fixed wrong order in quaternion multiplication for computation of the error quaternion. + # [v7.7.4] 2024-03-21 ## Changed -- 2.34.1