this shouldnt be needed
All checks were successful
EIVE/eive-obsw/pipeline/pr-v3.0.0-dev This commit looks good
All checks were successful
EIVE/eive-obsw/pipeline/pr-v3.0.0-dev This commit looks good
This commit is contained in:
parent
4aca7a91e3
commit
f8d9925785
@ -424,21 +424,12 @@ void Guidance::comparePtg(double currentQuat[4], double currentSatRotRate[3], do
|
|||||||
// Calculate error angle
|
// Calculate error angle
|
||||||
errorAngle = QuaternionOperations::getAngle(errorQuat, true);
|
errorAngle = QuaternionOperations::getAngle(errorQuat, true);
|
||||||
|
|
||||||
// Only give back error satellite rotational rate if orientation has already been aquired
|
// Calculate error satellite rotational rate
|
||||||
if (errorAngle < 2. / 180. * M_PI) {
|
// First combine the target and reference satellite rotational rates
|
||||||
// First combine the target and reference satellite rotational rates
|
double combinedRefSatRotRate[3] = {0, 0, 0};
|
||||||
double combinedRefSatRotRate[3] = {0, 0, 0};
|
VectorOperations<double>::add(targetSatRotRate, refSatRotRate, combinedRefSatRotRate, 3);
|
||||||
VectorOperations<double>::add(targetSatRotRate, refSatRotRate, combinedRefSatRotRate, 3);
|
// Then subtract the combined required satellite rotational rates from the actual rate
|
||||||
// Then substract the combined required satellite rotational rates from the actual rate
|
VectorOperations<double>::subtract(currentSatRotRate, combinedRefSatRotRate, errorSatRotRate, 3);
|
||||||
VectorOperations<double>::subtract(currentSatRotRate, combinedRefSatRotRate, errorSatRotRate,
|
|
||||||
3);
|
|
||||||
} else {
|
|
||||||
// If orientation has not been aquired yet set satellite rotational rate to zero
|
|
||||||
errorSatRotRate = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// target flag in matlab, importance, does look like it only gives feedback if pointing control is
|
|
||||||
// under 150 arcsec ??
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Guidance::comparePtg(double currentQuat[4], double currentSatRotRate[3], double targetQuat[4],
|
void Guidance::comparePtg(double currentQuat[4], double currentSatRotRate[3], double targetQuat[4],
|
||||||
@ -453,17 +444,8 @@ void Guidance::comparePtg(double currentQuat[4], double currentSatRotRate[3], do
|
|||||||
// Calculate error angle
|
// Calculate error angle
|
||||||
errorAngle = QuaternionOperations::getAngle(errorQuat, true);
|
errorAngle = QuaternionOperations::getAngle(errorQuat, true);
|
||||||
|
|
||||||
// Only give back error satellite rotational rate if orientation has already been aquired
|
// Calculate error satellite rotational rate
|
||||||
if (errorAngle < 2. / 180. * M_PI) {
|
VectorOperations<double>::subtract(currentSatRotRate, targetSatRotRate, errorSatRotRate, 3);
|
||||||
// Then substract the combined required satellite rotational rates from the actual rate
|
|
||||||
VectorOperations<double>::subtract(currentSatRotRate, targetSatRotRate, errorSatRotRate, 3);
|
|
||||||
} else {
|
|
||||||
// If orientation has not been aquired yet set satellite rotational rate to zero
|
|
||||||
errorSatRotRate = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// target flag in matlab, importance, does look like it only gives feedback if pointing control is
|
|
||||||
// under 150 arcsec ??
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Guidance::targetRotationRate(int8_t timeElapsedMax, timeval now, double quatInertialTarget[4],
|
void Guidance::targetRotationRate(int8_t timeElapsedMax, timeval now, double quatInertialTarget[4],
|
||||||
|
Loading…
Reference in New Issue
Block a user