33template<
typename StateKeyType>
53 template<
typename Scalar,
int Size,
typename Derived>
57 const double& latitude,
58 const double& longitude,
59 const Eigen::QuaternionBase<Derived>& n_quat_b)
61 Phi.template block<4>(
Att,
Att).setIdentity();
71 template<
typename Derived>
73 calcPhiAndQ(
double dt,
const double& latitude,
const double& longitude,
const Eigen::QuaternionBase<Derived>& n_quat_b)
87 bool ShowGui(
float itemWidth,
float unitWidth,
const char*
id)
101 "%.1e", ImGuiInputTextFlags_CharsScientific))
120 template<
typename Derived>
122 calcProcessNoiseMatrix(
double dt,
double latitude,
double longitude,
const Eigen::QuaternionBase<Derived>& n_quat_b)
const
131 Eigen::Matrix4d S_e = e_J_n * n_covQuat_b * e_J_n.transpose();
133 return { dt * S_e,
Att,
Att };
Transformation collection.
Eigen::Matrix< typename Derived::Scalar, 4, 4 > covQuat2QuatJacobian(const Eigen::QuaternionBase< Derived > &beta_quat_alpha)
Calculates the Jacobian to convert an attitude represented in quaternions from one frame into another...
Definition CoordinateFrames.hpp:250
Eigen::Quaternion< Scalar > e_Quat_n(const Scalar &latitude, const Scalar &longitude)
Quaternion for rotations from navigation to Earth-fixed frame.
Definition CoordinateFrames.hpp:305
Eigen::Matrix4< typename Derived::Scalar > covRPY2quat(const Eigen::MatrixBase< Derived > &covRPY, const Eigen::QuaternionBase< DerivedQ > &n_quat_b)
Converts a covariance for an attitude represented in Euler angels (roll, pitch, yaw) into a covarianc...
Definition CoordinateFrames.hpp:195
nlohmann::json json
json namespace
Definition FlowManager.hpp:21
double convertUnit(const double &value, Units::PositionUncertaintyUnits unit)
Converts the value depending on the unit provided.
Units used by the system model parameters.
CovarianceAngularVelocityUnits
Possible Units for the Standard deviation of the rotation velocity.
Definition Units.hpp:37
@ deg_sqrts
[ deg / β(s) ]
Definition Units.hpp:41
@ rad_sqrts
[ rad / β(s) ]
Definition Units.hpp:39
@ degsqrts_min
[ deg β(s) / min ]
Definition Units.hpp:43
#define LOG_DEBUG
Debug information. Should not be called on functions which receive observations (spamming)
Definition Logger.hpp:67
constexpr std::array< StateKeyType, 4 > Att
All attitude keys.
Definition MotionModel.hpp:62
Attitude System Model.
Definition AttitudeModel.hpp:35
std::pair< KeyedMatrix4d< StateKeyType >, KeyedMatrix4d< StateKeyType > > calcPhiAndQ(double dt, const double &latitude, const double &longitude, const Eigen::QuaternionBase< Derived > &n_quat_b)
Calculates the state transition matrix (π½) and the process noise covariance matrix (π)
Definition AttitudeModel.hpp:73
void initialize()
Initializes the attitude model.
Definition AttitudeModel.hpp:38
friend void from_json(const json &j, AttitudeModel &data)
Converts the provided json object into the data object.
Definition AttitudeModel.hpp:157
Eigen::Vector3d _gui_covarianceAngularVelocity
GUI selection for the Standard deviation of the angular velocity due to user motion (Roll,...
Definition AttitudeModel.hpp:139
void updatePhiAndQ(KeyedMatrix< Scalar, StateKeyType, StateKeyType, Size, Size > &Phi, KeyedMatrix< Scalar, StateKeyType, StateKeyType, Size, Size > &Q, double dt, const double &latitude, const double &longitude, const Eigen::QuaternionBase< Derived > &n_quat_b)
Updates the provided Phi, Q and G matrix.
Definition AttitudeModel.hpp:54
friend void to_json(json &j, const AttitudeModel &data)
Converts the provided data into a json object.
Definition AttitudeModel.hpp:147
Eigen::Vector3d _covarianceAngularVelocity
Covariance of the angular velocity due to user motion (Roll, Pitch, Yaw) [radΒ²/s].
Definition AttitudeModel.hpp:142
bool ShowGui(float itemWidth, float unitWidth, const char *id)
Shows a GUI.
Definition AttitudeModel.hpp:87
Units::CovarianceAngularVelocityUnits _gui_covarianceAngularVelocityUnit
Gui selection for the Unit of the input covarianceAngularVelocity.
Definition AttitudeModel.hpp:137
const std::array< StateKeyType, 4 > & Att
All attitude keys.
Definition AttitudeModel.hpp:113
KeyedMatrix4d< StateKeyType > calcProcessNoiseMatrix(double dt, double latitude, double longitude, const Eigen::QuaternionBase< Derived > &n_quat_b) const
Calculates the process noise matrix Q.
Definition AttitudeModel.hpp:122
Static sized KeyedMatrix.
Definition KeyedMatrix.hpp:1921
Matrix which can be accessed by keys.
KeyedMatrix< double, RowKeyType, ColKeyType, 4, 4 > KeyedMatrix4d
Static 4x4 squared size KeyedMatrix with double types.
Definition KeyedMatrix.hpp:2328
static const internal::all_t all
Used to request all rows or columns in KeyedMatrices.
Definition KeyedMatrix.hpp:1457