Merge pull request 'GS Target Pointing Limit Change' (#881) from ptg-improv into main
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
Reviewed-on: #881 Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
This commit is contained in:
commit
8011686fbe
@ -16,6 +16,11 @@ will consitute of a breaking change warranting a new major release:
|
|||||||
|
|
||||||
# [unreleased]
|
# [unreleased]
|
||||||
|
|
||||||
|
## Changed
|
||||||
|
|
||||||
|
- Rotational rate limit for the GS target pointing is now seperated from controller limit. It
|
||||||
|
is also reduced to 0.75°/s now.
|
||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
|
|
||||||
- Fixed wrong sign in calculation of total current within the `PWR Controller`.
|
- Fixed wrong sign in calculation of total current within the `PWR Controller`.
|
||||||
|
@ -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 = .75 * 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