corrected output direction of sunVectors

This commit is contained in:
Marius Eggert 2022-11-18 10:49:38 +01:00
parent 902caa3985
commit f07b905df5
2 changed files with 6 additions and 6 deletions

View File

@ -107,17 +107,17 @@ void SusConverter::calibration(const float coeffAlpha[9][10], const float coeffB
float* SusConverter::calculateSunVector() { float* SusConverter::calculateSunVector() {
// Calculate the normalized Sun Vector // Calculate the normalized Sun Vector
sunVectorBodyFrame[0] = (tan(alphaBetaCalibrated[0] * (M_PI / 180)) / sunVectorSensorFrame[0] = -(tan(alphaBetaCalibrated[0] * (M_PI / 180)) /
(sqrt((powf(tan(alphaBetaCalibrated[0] * (M_PI / 180)), 2)) + (sqrt((powf(tan(alphaBetaCalibrated[0] * (M_PI / 180)), 2)) +
powf(tan((alphaBetaCalibrated[1] * (M_PI / 180))), 2) + (1)))); powf(tan((alphaBetaCalibrated[1] * (M_PI / 180))), 2) + (1))));
sunVectorBodyFrame[1] = (tan(alphaBetaCalibrated[1] * (M_PI / 180)) / sunVectorSensorFrame[1] = -(tan(alphaBetaCalibrated[1] * (M_PI / 180)) /
(sqrt(powf((tan(alphaBetaCalibrated[0] * (M_PI / 180))), 2) + (sqrt(powf((tan(alphaBetaCalibrated[0] * (M_PI / 180))), 2) +
powf(tan((alphaBetaCalibrated[1] * (M_PI / 180))), 2) + (1)))); powf(tan((alphaBetaCalibrated[1] * (M_PI / 180))), 2) + (1))));
sunVectorBodyFrame[2] = sunVectorSensorFrame[2] =
(-1 / (sqrt(powf((tan(alphaBetaCalibrated[0] * (M_PI / 180))), 2) + -(-1 / (sqrt(powf((tan(alphaBetaCalibrated[0] * (M_PI / 180))), 2) +
powf((tan(alphaBetaCalibrated[1] * (M_PI / 180))), 2) + (1)))); powf((tan(alphaBetaCalibrated[1] * (M_PI / 180))), 2) + (1))));
return sunVectorBodyFrame; return sunVectorSensorFrame;
} }
float* SusConverter::getSunVectorSensorFrame(const uint16_t susChannel[6], float* SusConverter::getSunVectorSensorFrame(const uint16_t susChannel[6],

View File

@ -31,7 +31,7 @@ class SusConverter {
// float coeffAlpha[9][10]; // float coeffAlpha[9][10];
// float coeffBeta[9][10]; // float coeffBeta[9][10];
float alphaBetaCalibrated[2]; //[°] float alphaBetaCalibrated[2]; //[°]
float sunVectorBodyFrame[3]; //[-] float sunVectorSensorFrame[3]; //[-]
bool validFlag[12] = {returnvalue::OK, returnvalue::OK, returnvalue::OK, returnvalue::OK, bool validFlag[12] = {returnvalue::OK, returnvalue::OK, returnvalue::OK, returnvalue::OK,
returnvalue::OK, returnvalue::OK, returnvalue::OK, returnvalue::OK, returnvalue::OK, returnvalue::OK, returnvalue::OK, returnvalue::OK,