diff --git a/mission/controller/acs/AcsParameters.h b/mission/controller/acs/AcsParameters.h index 15d4d84f..f5b72252 100644 --- a/mission/controller/acs/AcsParameters.h +++ b/mission/controller/acs/AcsParameters.h @@ -54,6 +54,9 @@ class AcsParameters /*: public HasParametersIF*/ { {15.67482e-2, -6.958760e-2, 94.50124e-2}}; float mgm3softIronInverse[3][3] = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}; float mgm4softIronInverse[3][3] = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}; + float mgm02variance[3] = {1, 1, 1}; + float mgm13variance[3] = {1, 1, 1}; + float mgm4variance[3] = {1, 1, 1}; } mgmHandlingParameters; @@ -753,7 +756,12 @@ class AcsParameters /*: public HasParametersIF*/ { double gyr1orientationMatrix[3][3] = {{0, 0, -1}, {0, 1, 0}, {1, 0, 0}}; double gyr2orientationMatrix[3][3] = {{0, 0, -1}, {0, -1, 0}, {-1, 0, 0}}; double gyr3orientationMatrix[3][3] = {{0, 0, -1}, {0, 1, 0}, {1, 0, 0}}; - float gyrFusionWeight = 0.93; + // var = sqrt(sigma), sigma = RND*sqrt(freq), following values are RND^2 and not var as freq is + // assumed to be equal for the same class of sensors + float gyr02variance[3] = {pow(3.0e-3 * sqrt(2), 2), // RND_x = 3.0e-3 deg/s/sqrt(Hz) rms + pow(3.0e-3 * sqrt(2), 2), // RND_y = 3.0e-3 deg/s/sqrt(Hz) rms + pow(4.3e-3 * sqrt(2), 2)}; // RND_z = 4.3e-3 deg/s/sqrt(Hz) rms + float gyr13variance[3] = {pow(11e-3, 2), pow(11e-3, 2), pow(11e-3, 2)}; } gyrHandlingParameters; struct RwHandlingParameters {