diff --git a/CHANGELOG.md b/CHANGELOG.md index 43e914a9..8049f154 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,10 +16,17 @@ will consitute of a breaking change warranting a new major release: # [unreleased] +- Bumped `eive-fsfw` + ## Added - Added parameter to disable STR input for MEKF. +## Fixed + +- Added prevention of sign jump for target quaternion of GS pointing, which would reduce the + performance of the controller. + # [v7.7.2] 2024-03-06 ## Fixed diff --git a/fsfw b/fsfw index 47b21caf..43ea29cb 160000 --- a/fsfw +++ b/fsfw @@ -1 +1 @@ -Subproject commit 47b21caf5fa2a27c7ace89f960141b3f24c329ee +Subproject commit 43ea29cb845d4a7d190c87df490eb53c4992618b diff --git a/mission/controller/acs/Guidance.cpp b/mission/controller/acs/Guidance.cpp index 4406a224..a6559db3 100644 --- a/mission/controller/acs/Guidance.cpp +++ b/mission/controller/acs/Guidance.cpp @@ -244,6 +244,8 @@ void Guidance::limitReferenceRotation(const double xAxisIX[3], double quatIX[4]) return; } + QuaternionOperations::preventSignJump(quatIX, quatIXprev); + // check required rotation and return if below limit double quatXprevX[4] = {0, 0, 0, 0}, quatXprevI[4] = {0, 0, 0, 0}; QuaternionOperations::inverse(quatIXprev, quatXprevI);