MEKF readded to Detumble State Machine #908
@ -557,9 +557,12 @@ void AcsController::performPointingCtrl() {
|
||||
void AcsController::handleDetumbling() {
|
||||
switch (detumbleState) {
|
||||
case DetumbleState::NO_DETUMBLE:
|
||||
if (fusedRotRateData.rotRateTotalSusMgm.isValid() and
|
||||
VectorOperations<double>::norm(fusedRotRateData.rotRateTotalSusMgm.value, 3) >
|
||||
acsParameters.detumbleParameter.omegaDetumbleStart) {
|
||||
if ((fusedRotRateData.rotRateTotalSusMgm.isValid() and
|
||||
VectorOperations<double>::norm(fusedRotRateData.rotRateTotalSusMgm.value, 3) >
|
||||
acsParameters.detumbleParameter.omegaDetumbleStart) and
|
||||
(attitudeEstimationData.satRotRateMekf.isValid() and
|
||||
VectorOperations<double>::norm(attitudeEstimationData.satRotRateMekf.value, 3) >
|
||||
acsParameters.detumbleParameter.omegaDetumbleStart)) {
|
||||
detumbleCounter++;
|
||||
} else if (detumbleCounter > 0) {
|
||||
detumbleCounter -= 1;
|
||||
@ -601,9 +604,12 @@ void AcsController::handleDetumbling() {
|
||||
detumbleState = DetumbleState::NO_DETUMBLE;
|
||||
break;
|
||||
case DetumbleState::IN_DETUMBLE:
|
||||
if (fusedRotRateData.rotRateTotalSusMgm.isValid() and
|
||||
VectorOperations<double>::norm(fusedRotRateData.rotRateTotalSusMgm.value, 3) <
|
||||
acsParameters.detumbleParameter.omegaDetumbleEnd) {
|
||||
if ((fusedRotRateData.rotRateTotalSusMgm.isValid() and
|
||||
VectorOperations<double>::norm(fusedRotRateData.rotRateTotalSusMgm.value, 3) <
|
||||
acsParameters.detumbleParameter.omegaDetumbleEnd) and
|
||||
(attitudeEstimationData.satRotRateMekf.isValid() and
|
||||
VectorOperations<double>::norm(attitudeEstimationData.satRotRateMekf.value, 3) <
|
||||
acsParameters.detumbleParameter.omegaDetumbleEnd)) {
|
||||
detumbleCounter++;
|
||||
} else if (detumbleCounter > 0) {
|
||||
detumbleCounter -= 1;
|
||||
|
Loading…
Reference in New Issue
Block a user