First Version of ACS Controller #329
@ -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],
|
||||||
|
@ -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,
|
||||||
|
Loading…
Reference in New Issue
Block a user