2023-11-22 13:36:04 +01:00
|
|
|
#ifndef MISSION_CONTROLLER_ACS_ATTITUDEESTIMATION_H_
|
|
|
|
#define MISSION_CONTROLLER_ACS_ATTITUDEESTIMATION_H_
|
|
|
|
|
2023-11-23 11:50:26 +01:00
|
|
|
#include <fsfw/datapool/PoolReadGuard.h>
|
2023-11-22 13:36:04 +01:00
|
|
|
#include <fsfw/globalfunctions/math/QuaternionOperations.h>
|
|
|
|
#include <fsfw/globalfunctions/math/VectorOperations.h>
|
|
|
|
#include <mission/controller/acs/AcsParameters.h>
|
2023-11-22 13:56:33 +01:00
|
|
|
#include <mission/controller/controllerdefinitions/AcsCtrlDefinitions.h>
|
2023-11-22 13:36:04 +01:00
|
|
|
|
|
|
|
#include <cmath>
|
|
|
|
#include <iostream>
|
|
|
|
|
|
|
|
class AttitudeEstimation {
|
|
|
|
public:
|
|
|
|
AttitudeEstimation(AcsParameters *acsParameters_);
|
|
|
|
virtual ~AttitudeEstimation();
|
|
|
|
;
|
|
|
|
|
2023-11-22 13:56:33 +01:00
|
|
|
void quest(acsctrl::SusDataProcessed *susData, acsctrl::MgmDataProcessed *mgmData,
|
|
|
|
acsctrl::AttitudeEstimationData *attitudeEstimation);
|
2023-11-22 13:36:04 +01:00
|
|
|
|
|
|
|
protected:
|
|
|
|
private:
|
|
|
|
AcsParameters *acsParameters;
|
2023-11-23 11:50:26 +01:00
|
|
|
|
2023-11-27 10:52:30 +01:00
|
|
|
double qOld[4] = {0, 0, 0, 0};
|
|
|
|
|
2023-11-23 11:50:26 +01:00
|
|
|
static constexpr double ZERO_VEC4[4] = {0, 0, 0, 0};
|
2023-11-22 13:36:04 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* MISSION_CONTROLLER_ACS_ATTITUDEESTIMATION_H_ */
|