first implementation of new laws
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
This commit is contained in:
@ -27,18 +27,37 @@ class SafeCtrl {
|
||||
|
||||
void safeMekf(const double *magFieldB, const double *satRotRateB, const double *sunDirModelI,
|
||||
const double *quatBI, const double *sunDirRefB, const double *satRotRateRefB,
|
||||
double *magMomB, double &errorAngle);
|
||||
const double inertiaMatrix[3][3], double *magMomB, double &errorAngle);
|
||||
|
||||
void safeNonMekf(const double *magFieldB, const double *satRotRateB, const double *sunDirB,
|
||||
const double *sunDirRefB, const double *satRotRateRefB, double *magMomB,
|
||||
double &errorAngle);
|
||||
const double *sunDirRefB, const double *satRotRateRefB,
|
||||
const double inertiaMatrix[3][3], double *magMomB, double &errorAngle);
|
||||
|
||||
void safeRateDamping(const double *magFieldB, const double *satRotRateB,
|
||||
const double *satRotRateRefB, double *magMomB, double &errorAngle);
|
||||
const double *satRotRateRefB, const double *sunDirRefB, double *magMomB,
|
||||
double &errorAngle);
|
||||
|
||||
void splitRotationalRate(const double *satRotRateB, const double *sunDirB);
|
||||
|
||||
void calculateRotationalRateTorque(const double *satRotRateRefB, const double *sunDirB,
|
||||
const double *sunDirRefB, double &errorAngle,
|
||||
const double gainParallel, const double gainOrtho);
|
||||
|
||||
void calculateAngleErrorTorque(const double *sunDirB, const double *sunDirRefB,
|
||||
const double gainAlign, const double inertiaMatrix[3][3]);
|
||||
|
||||
void calculateMagneticMoment(double *magMomB);
|
||||
|
||||
protected:
|
||||
private:
|
||||
AcsParameters *acsParameters;
|
||||
double magFieldBT[3] = {0, 0, 0};
|
||||
double satRotRateParallelB[3] = {0, 0, 0};
|
||||
double satRotRateOrthogonalB[3] = {0, 0, 0};
|
||||
double cmdParallel[3] = {0, 0, 0};
|
||||
double cmdOrtho[3] = {0, 0, 0};
|
||||
double cmdAlign[3] = {0, 0, 0};
|
||||
double cmdTorque[3] = {0, 0, 0};
|
||||
};
|
||||
|
||||
#endif /* ACS_CONTROL_SAFECTRL_H_ */
|
||||
|
Reference in New Issue
Block a user