rot rate limit change
This commit is contained in:
parent
d1fc876f03
commit
46c125d9fe
@ -554,6 +554,9 @@ ReturnValue_t AcsParameters::getParameter(uint8_t domainId, uint8_t parameterId,
|
|||||||
case 0xE:
|
case 0xE:
|
||||||
parameterWrapper->set(gsTargetModeControllerParameters.altitudeTgt);
|
parameterWrapper->set(gsTargetModeControllerParameters.altitudeTgt);
|
||||||
break;
|
break;
|
||||||
|
case 0xF:
|
||||||
|
parameterWrapper->set(gsTargetModeControllerParameters.rotRateLimit);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return INVALID_IDENTIFIER_ID;
|
return INVALID_IDENTIFIER_ID;
|
||||||
}
|
}
|
||||||
|
@ -898,6 +898,7 @@ class AcsParameters : public HasParametersIF {
|
|||||||
double latitudeTgt = 48.7495 * DEG2RAD; // [rad] Latitude
|
double latitudeTgt = 48.7495 * DEG2RAD; // [rad] Latitude
|
||||||
double longitudeTgt = 9.10384 * DEG2RAD; // [rad] Longitude
|
double longitudeTgt = 9.10384 * DEG2RAD; // [rad] Longitude
|
||||||
double altitudeTgt = 500; // [m]
|
double altitudeTgt = 500; // [m]
|
||||||
|
double rotRateLimit = .5 * DEG2RAD;
|
||||||
} gsTargetModeControllerParameters;
|
} gsTargetModeControllerParameters;
|
||||||
|
|
||||||
struct NadirModeControllerParameters : PointingLawParameters {
|
struct NadirModeControllerParameters : PointingLawParameters {
|
||||||
|
@ -251,7 +251,7 @@ void Guidance::limitReferenceRotation(const double xAxisIX[3], double quatIX[4])
|
|||||||
QuaternionOperations::inverse(quatIXprev, quatXprevI);
|
QuaternionOperations::inverse(quatIXprev, quatXprevI);
|
||||||
QuaternionOperations::multiply(quatIX, quatXprevI, quatXprevX);
|
QuaternionOperations::multiply(quatIX, quatXprevI, quatXprevX);
|
||||||
QuaternionOperations::normalize(quatXprevX);
|
QuaternionOperations::normalize(quatXprevX);
|
||||||
double phiMax = acsParameters->gsTargetModeControllerParameters.omMax *
|
double phiMax = acsParameters->gsTargetModeControllerParameters.rotRateLimit *
|
||||||
acsParameters->onBoardParams.sampleTime;
|
acsParameters->onBoardParams.sampleTime;
|
||||||
if (2 * std::acos(quatXprevX[3]) < phiMax) {
|
if (2 * std::acos(quatXprevX[3]) < phiMax) {
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user