![]() |
0.5.0
|
Loosely-coupled Kalman Filter for INS/GNSS integration. More...
Public Types | |
| enum | KFMeas : uint8_t { dPosLat , dPosLon , dPosAlt , dVelN , dVelE , dVelD , dHgt , dPosX , dPosY , dPosZ , dVelX , dVelY , dVelZ } |
| Measurement Keys of the Kalman filter. More... | |
| enum | KFStates : uint8_t { Roll , Pitch , Yaw , VelN , VelE , VelD , PosLat , PosLon , PosAlt , AccBiasX , AccBiasY , AccBiasZ , GyrBiasX , GyrBiasY , GyrBiasZ , HeightBias , HeightScale , KFStates_COUNT , Psi_eb_1 , Psi_eb_2 , Psi_eb_3 , VelX , VelY , VelZ , PosX , PosY , PosZ } |
| State Keys of the Kalman filter. More... | |
| Public Types inherited from NAV::Node | |
| enum class | Mode : uint8_t { REAL_TIME , POST_PROCESSING } |
| Different Modes the Node can work in. More... | |
| enum class | State : uint8_t { Disabled , Deinitialized , DoInitialize , Initializing , Initialized , DoDeinitialize , Deinitializing , DoShutdown , Shutdown } |
| Possible states of the node. More... | |
Public Member Functions | |
| void | guiConfig () override |
| ImGui config window which is shown on double click. | |
| LooselyCoupledKF () | |
| Default constructor. | |
| LooselyCoupledKF (const LooselyCoupledKF &)=delete | |
| Copy constructor. | |
| LooselyCoupledKF (LooselyCoupledKF &&)=delete | |
| Move constructor. | |
| LooselyCoupledKF & | operator= (const LooselyCoupledKF &)=delete |
| Copy assignment operator. | |
| LooselyCoupledKF & | operator= (LooselyCoupledKF &&)=delete |
| Move assignment operator. | |
| void | restore (const json &j) override |
| Restores the node from a json object. | |
| json | save () const override |
| Saves the node into a json object. | |
| std::string | type () const override |
| String representation of the class type. | |
| ~LooselyCoupledKF () override | |
| Destructor. | |
| Public Member Functions inherited from NAV::Node | |
| virtual void | afterCreateLink (OutputPin &startPin, InputPin &endPin) |
| Called when a new link was established. | |
| virtual void | afterDeleteLink (OutputPin &startPin, InputPin &endPin) |
| Called when a link was deleted. | |
| bool | doDeinitialize (bool wait=false) |
| Asks the node worker to deinitialize the node. | |
| bool | doDisable (bool wait=false) |
| Asks the node worker to disable the node. | |
| bool | doEnable () |
| Enable the node. | |
| bool | doInitialize (bool wait=false) |
| Asks the node worker to initialize the node. | |
| bool | doReinitialize (bool wait=false) |
| Asks the node worker to reinitialize the node. | |
| virtual void | flush () |
| Function called by the flow executer after finishing to flush out remaining data. | |
| template<typename T> | |
| std::optional< InputPin::IncomingLink::ValueWrapper< T > > | getInputValue (size_t portIndex) const |
| Get Input Value connected on the pin. Only const data types. | |
| Mode | getMode () const |
| Get the current mode of the node. | |
| const ImVec2 & | getSize () const |
| Get the size of the node. | |
| State | getState () const |
| Get the current state of the node. | |
| bool | hasInputPinWithSameTime (const InsTime &insTime) const |
| Checks wether there is an input pin with the same time. | |
| InputPin & | inputPinFromId (ax::NodeEditor::PinId pinId) |
| Returns the pin with the given id. | |
| size_t | inputPinIndexFromId (ax::NodeEditor::PinId pinId) const |
| Returns the index of the pin. | |
| void | invokeCallbacks (size_t portIndex, const std::shared_ptr< const NodeData > &data) |
| Calls all registered callbacks on the specified output port. | |
| bool | isDisabled () const |
| Checks if the node is disabled. | |
| bool | isInitialized () const |
| Checks if the node is initialized. | |
| bool | isOnlyRealtime () const |
| Checks if the node is only working in real time (sensors, network interfaces, ...) | |
| bool | isTransient () const |
| Checks if the node is changing its state currently. | |
| std::string | nameId () const |
| Node name and id. | |
| Node (const Node &)=delete | |
| Copy constructor. | |
| Node (Node &&)=delete | |
| Move constructor. | |
| Node (std::string name) | |
| Constructor. | |
| void | notifyOutputValueChanged (size_t pinIdx, const InsTime &insTime, const std::scoped_lock< std::mutex > &&guard) |
| Notifies connected nodes about the change. | |
| virtual bool | onCreateLink (OutputPin &startPin, InputPin &endPin) |
| Called when a new link is to be established. | |
| virtual void | onDeleteLink (OutputPin &startPin, InputPin &endPin) |
| Called when a link is to be deleted. | |
| Node & | operator= (const Node &)=delete |
| Copy assignment operator. | |
| Node & | operator= (Node &&)=delete |
| Move assignment operator. | |
| OutputPin & | outputPinFromId (ax::NodeEditor::PinId pinId) |
| Returns the pin with the given id. | |
| size_t | outputPinIndexFromId (ax::NodeEditor::PinId pinId) const |
| Returns the index of the pin. | |
| void | releaseInputValue (size_t portIndex) |
| Unblocks the connected node. Has to be called when the input value should be released and getInputValue was not called. | |
| std::scoped_lock< std::mutex > | requestOutputValueLock (size_t pinIdx) |
| Blocks the thread till the output values was read by all connected nodes. | |
| virtual bool | resetNode () |
| Resets the node. It is guaranteed that the node is initialized when this is called. | |
| virtual void | restoreAtferLink (const json &j) |
| Restores link related properties of the node from a json object. | |
| void | wakeWorker () |
| Wakes the worker thread. | |
| virtual | ~Node () |
| Destructor. | |
Static Public Member Functions | |
| static std::string | category () |
| String representation of the class category. | |
| static std::string | typeStatic () |
| String representation of the class type. | |
| Static Public Member Functions inherited from NAV::Node | |
| static std::string | toString (State state) |
| Converts the state into a printable text. | |
Private Types | |
| enum class | BaroHeightMeasurementUncertaintyUnit : uint8_t { m2 , m } |
| Possible Units for the barometric height measurement uncertainty (standard deviation σ or Variance σ²) More... | |
| enum class | GnssMeasurementUncertaintyPositionUnit : uint8_t { meter2 , meter } |
| Possible Units for the GNSS measurement uncertainty for the position (standard deviation σ or Variance σ²) More... | |
| enum class | GnssMeasurementUncertaintyVelocityUnit : uint8_t { m2_s2 , m_s } |
| Possible Units for the GNSS measurement uncertainty for the velocity (standard deviation σ or Variance σ²) More... | |
| enum class | InitBiasAccelUnit : uint8_t { microg , m_s2 } |
| Possible Units for the initial accelerometer biases. More... | |
| enum class | InitBiasGyroUnit : uint8_t { rad_s , deg_s } |
| Possible Units for the initial gyroscope biases. More... | |
| enum class | InitCovarianceAttitudeAnglesUnit : uint8_t { rad2 , deg2 , rad , deg } |
| Possible Units for the initial covariance for the attitude angles (standard deviation σ or Variance σ²) More... | |
| enum class | InitCovarianceBiasAccelUnit : uint8_t { m2_s4 , m_s2 } |
| Possible Units for the initial covariance for the accelerometer biases (standard deviation σ or Variance σ²) More... | |
| enum class | InitCovarianceBiasGyroUnit : uint8_t { rad2_s2 , deg2_s2 , rad_s , deg_s } |
| Possible Units for the initial covariance for the gyroscope biases (standard deviation σ or Variance σ²) More... | |
| enum class | InitCovarianceBiasHeightUnit : uint8_t { m2 , m } |
| Possible Units for the initial covariance for the height bias (standard deviation σ or Variance σ²) More... | |
| enum class | InitCovariancePositionUnit : uint8_t { rad2_rad2_m2 , rad_rad_m , meter2 , meter } |
| Possible Units for the initial covariance for the position (standard deviation σ or Variance σ²) More... | |
| enum class | InitCovarianceScaleHeight : uint8_t { m2_m2 , m_m } |
| Possible Units for the initial covariance for the height scale (standard deviation σ or Variance σ²) More... | |
| enum class | InitCovarianceVelocityUnit : uint8_t { m2_s2 , m_s } |
| Possible Units for the initial covariance for the velocity (standard deviation σ or Variance σ²) More... | |
| enum class | PhiCalculationAlgorithm : uint8_t { Exponential , Taylor } |
| GUI option for the Phi calculation algorithm. More... | |
| enum class | QCalculationAlgorithm : uint8_t { VanLoan , Taylor1 } |
| GUI option for the Q calculation algorithm. More... | |
| enum class | RandomProcess : uint8_t { RandomWalk , GaussMarkov1 } |
| Available Random processes. More... | |
| enum class | StdevBaroHeightBiasUnits : uint8_t { m } |
| Possible Units for the Variance of the barometric height bias. More... | |
| enum class | StdevBaroHeightScaleUnits : uint8_t { m_m } |
| Possible Units for the Variance of the barometric height scale. More... | |
Private Member Functions | |
| void | deinitialize () override |
| Deinitialize the node. | |
| KeyedMatrix< double, KFMeas, KFMeas, 6, 6 > | e_measurementNoiseCovariance_R (const std::shared_ptr< const PosVel > &posVelObs) const |
| Measurement noise covariance matrix 𝐑 | |
| KeyedMatrix< double, KFStates, KFStates, 17, 17 > | e_systemMatrix_F (const Eigen::Quaterniond &e_Quat_b, const Eigen::Vector3d &b_specForce_ib, const Eigen::Vector3d &e_position, const Eigen::Vector3d &e_gravitation, double r_eS_e, const Eigen::Vector3d &e_omega_ie, const Eigen::Vector3d &tau_bad, const Eigen::Vector3d &tau_bgd) const |
| Calculates the system matrix 𝐅 for the ECEF frame. | |
| bool | hasInputPinWithSameTime (const InsTime &insTime) const |
| Checks wether there is an input pin with the same time. | |
| KeyedMatrix< double, KFStates, KFStates, 17, 17 > | initialErrorCovarianceMatrix_P0 (const Eigen::Vector3d &variance_angles, const Eigen::Vector3d &variance_vel, const Eigen::Vector3d &variance_pos, const Eigen::Vector3d &variance_accelBias, const Eigen::Vector3d &variance_gyroBias, const double &variance_heightBias, const double &variance_heightScale) const |
| Initial error covariance matrix P_0. | |
| bool | initialize () override |
| Initialize the node. | |
| void | invokeCallbackWithPosVelAtt (const PosVelAtt &posVelAtt) |
| Invoke the callback with a PosVelAtt solution (without LCKF specific output) | |
| void | looselyCoupledPrediction (const std::shared_ptr< const PosVelAtt > &inertialNavSol, double tau_i, const ImuPos &imuPos) |
| Predicts the state from the InertialNavSol. | |
| void | looselyCoupledUpdate (const std::shared_ptr< const BaroHgt > &baroHgtObs) |
| Updates the predicted state from the InertialNavSol with the Baro observation. | |
| void | looselyCoupledUpdate (const std::shared_ptr< const PosVel > &posVelObs) |
| Updates the predicted state from the InertialNavSol with the PosVel observation. | |
| KeyedMatrix< double, KFMeas, KFMeas, 6, 6 > | n_measurementNoiseCovariance_R (const std::shared_ptr< const PosVel > &posVelObs, const Eigen::Vector3d &lla_position, double R_N, double R_E) const |
| Measurement noise covariance matrix 𝐑 | |
| KeyedMatrix< double, KFStates, KFStates, 17, 17 > | n_systemMatrix_F (const Eigen::Quaterniond &n_Quat_b, const Eigen::Vector3d &b_specForce_ib, const Eigen::Vector3d &n_omega_in, const Eigen::Vector3d &n_velocity, const Eigen::Vector3d &lla_position, double R_N, double R_E, double g_0, double r_eS_e, const Eigen::Vector3d &tau_bad, const Eigen::Vector3d &tau_bgd) const |
| Calculates the system matrix 𝐅 for the local navigation frame. | |
| Eigen::Matrix< double, 17, 17 > | noiseScaleMatrix_W (const Eigen::Vector3d &sigma_ra, const Eigen::Vector3d &sigma_rg, const Eigen::Vector3d &sigma_bad, const Eigen::Vector3d &sigma_bgd, const Eigen::Vector3d &tau_bad, const Eigen::Vector3d &tau_bgd, const double &sigma_heightBias, const double &sigma_heightScale) |
| Calculates the noise scale matrix 𝐖 | |
| void | recvBaroHeight (InputPin::NodeDataQueue &queue, size_t pinIdx) |
| Receive Function for the BaroHgt observation. | |
| void | recvImuObservation (InputPin::NodeDataQueue &queue, size_t pinIdx) |
| Receive Function for the IMU observation. | |
| void | recvPosVelAttInit (InputPin::NodeDataQueue &queue, size_t pinIdx) |
| Receive Function for the PosVelAtt observation. | |
| void | recvPosVelObservation (InputPin::NodeDataQueue &queue, size_t pinIdx) |
| Receive Function for the PosVel observation. | |
| void | setSolutionPosVelAttAndCov (const std::shared_ptr< PosVelAtt > &lckfSolution, double R_N, double R_E) |
| Sets the covariance matrix P of the LCKF (and does the necessary unit conversions) | |
| void | updateInputPins () |
| Update the input pins depending on the GUI. | |
Static Private Member Functions | |
| static KeyedVector< double, KFMeas, 6 > | e_measurementInnovation_dz (const Eigen::Vector3d &e_positionMeasurement, const Eigen::Vector3d &e_positionEstimate, const Eigen::Vector3d &e_velocityMeasurement, const Eigen::Vector3d &e_velocityEstimate, const Eigen::Quaterniond &e_Quat_b, const Eigen::Vector3d &b_leverArm_InsGnss, const Eigen::Vector3d &b_omega_ib, const Eigen::Matrix3d &e_Omega_ie) |
| Measurement innovation vector 𝜹𝐳 | |
| static KeyedMatrix< double, KFMeas, KFStates, 6, 17 > | e_measurementMatrix_H (const Eigen::Matrix3d &e_Dcm_b, const Eigen::Vector3d &b_omega_ib, const Eigen::Vector3d &b_leverArm_InsGnss, const Eigen::Matrix3d &e_Omega_ie) |
| Measurement matrix for GNSS measurements at timestep k, represented in Earth frame coordinates. | |
| static KeyedMatrix< double, KFMeas, KFStates, 1, 17 > | e_measurementMatrix_H (const Eigen::Vector3d &e_positionEstimate, const double &height, const double &scale) |
| Measurement matrix for barometric height measurements at timestep k, represented in Earth frame coordinates. | |
| static KeyedMatrix< double, KFStates, KFStates, 17, 17 > | e_systemNoiseCovarianceMatrix_Q (const Eigen::Vector3d &sigma2_ra, const Eigen::Vector3d &sigma2_rg, const Eigen::Vector3d &sigma2_bad, const Eigen::Vector3d &sigma2_bgd, const double &sigma_heightBias, const double &sigma_heightScale, const Eigen::Vector3d &tau_bad, const Eigen::Vector3d &tau_bgd, const Eigen::Matrix3d &e_F_21, const Eigen::Matrix3d &e_Dcm_b, const double &tau_s) |
| System noise covariance matrix 𝐐_{k-1}. | |
| static KeyedVector< double, KFMeas, 1 > | n_measurementInnovation_dz (const double &baroheight, const double &height, const double &heightbias, const double &heightscale) |
| Measurement innovation vector 𝜹𝐳 | |
| static KeyedVector< double, KFMeas, 6 > | n_measurementInnovation_dz (const Eigen::Vector3d &lla_positionMeasurement, const Eigen::Vector3d &lla_positionEstimate, const Eigen::Vector3d &n_velocityMeasurement, const Eigen::Vector3d &n_velocityEstimate, const Eigen::Matrix3d &T_rn_p, const Eigen::Quaterniond &n_Quat_b, const Eigen::Vector3d &b_leverArm_InsGnss, const Eigen::Vector3d &b_omega_ib, const Eigen::Matrix3d &n_Omega_ie) |
| Measurement innovation vector 𝜹𝐳 | |
| static KeyedMatrix< double, KFMeas, KFStates, 1, 17 > | n_measurementMatrix_H (const double &height, const double &scale) |
| Measurement matrix for baro height measurements at timestep k, represented in navigation coordinates. | |
| static KeyedMatrix< double, KFMeas, KFStates, 6, 17 > | n_measurementMatrix_H (const Eigen::Matrix3d &T_rn_p, const Eigen::Matrix3d &n_Dcm_b, const Eigen::Vector3d &b_omega_ib, const Eigen::Vector3d &b_leverArm_InsGnss, const Eigen::Matrix3d &n_Omega_ie) |
| Measurement matrix for GNSS measurements at timestep k, represented in navigation coordinates. | |
| static KeyedMatrix< double, KFMeas, KFMeas, 1, 1 > | n_measurementNoiseCovariance_R (const double &baroVarianceHeight) |
| Measurement noise covariance matrix 𝐑 | |
| static KeyedMatrix< double, KFStates, KFStates, 17, 17 > | n_systemNoiseCovarianceMatrix_Q (const Eigen::Vector3d &sigma2_ra, const Eigen::Vector3d &sigma2_rg, const Eigen::Vector3d &sigma2_bad, const Eigen::Vector3d &sigma2_bgd, const double &sigma_heightBias, const double &sigma_heightScale, const Eigen::Vector3d &tau_bad, const Eigen::Vector3d &tau_bgd, const Eigen::Matrix3d &n_F_21, const Eigen::Matrix3d &T_rn_p, const Eigen::Matrix3d &n_Dcm_b, const double &tau_s) |
| System noise covariance matrix 𝐐_{k-1}. | |
| static KeyedMatrix< double, KFStates, KFStates, 17, 17 > | noiseInputMatrix_G (const Eigen::Quaterniond &ien_Quat_b) |
| Calculates the noise input matrix 𝐆 | |
| static void | pinAddCallback (Node *node) |
| Function to call to add a new pin. | |
| static void | pinDeleteCallback (Node *node, size_t pinIdx) |
| Function to call to delete a pin. | |
Private Attributes | |
| Eigen::Vector3d | _accelBiasTotal |
| Accumulator for acceleration bias [m/s²]. | |
| bool | _baroHeightMeasurementUncertaintyOverride |
| Whether to override the barometric height uncertainty or use the one included in the measurement. | |
| double | _barometricHeightMeasurementUncertainty |
| GUI selection of the barometric height measurement uncertainty (standard deviation σ or Variance σ²) | |
| BaroHeightMeasurementUncertaintyUnit | _barometricHeightMeasurementUncertaintyUnit |
| Gui selection for the Unit of the barometric height measurement uncertainty. | |
| bool | _checkKalmanMatricesRanks |
| Check the rank of the Kalman matrices every iteration (computational expensive) | |
| gui::widgets::DynamicInputPins | _dynamicInputPins |
| Dynamic input pins. | |
| bool | _enableBaroHgt |
| Whether to enable barometric height (including the corresponding pin) | |
| InsTime | _externalInitTime |
| Time from the external init. | |
| Eigen::Vector3d | _gnssMeasurementUncertaintyPosition |
| GUI selection of the GNSS position measurement uncertainty (standard deviation σ or Variance σ²). SPP accuracy approx. 3m in horizontal direction and 3 times worse in vertical direction. | |
| bool | _gnssMeasurementUncertaintyPositionOverride |
| Whether to override the position uncertainty or use the one included in the measurement. | |
| GnssMeasurementUncertaintyPositionUnit | _gnssMeasurementUncertaintyPositionUnit |
| Gui selection for the Unit of the GNSS measurement uncertainty for the position. | |
| Eigen::Vector3d | _gnssMeasurementUncertaintyVelocity |
| GUI selection of the GNSS NED velocity measurement uncertainty (standard deviation σ or Variance σ²) | |
| bool | _gnssMeasurementUncertaintyVelocityOverride |
| Whether to override the velocity uncertainty or use the one included in the measurement. | |
| GnssMeasurementUncertaintyVelocityUnit | _gnssMeasurementUncertaintyVelocityUnit |
| Gui selection for the Unit of the GNSS measurement uncertainty for the velocity. | |
| Eigen::Vector3d | _gyroBiasTotal |
| Accumulator gyro bias [rad/s]. | |
| double | _heightBiasTotal |
| Accumulator for height bias [m]. | |
| double | _heightScaleTotal |
| Accumulator for height scale [m/m]. | |
| InertialIntegrator | _inertialIntegrator |
| Inertial Integrator. | |
| std::array< double, 3 > | _initalRollPitchYaw |
| Roll, Pitch and Yaw angles in [deg] used for initialization if not taken from separate pin. | |
| Eigen::Vector3d | _initBiasAccel |
| GUI selection of the initial accelerometer biases. | |
| InitBiasAccelUnit | _initBiasAccelUnit |
| Gui selection for the unit of the initial accelerometer biases. | |
| Eigen::Vector3d | _initBiasGyro |
| GUI selection of the initial gyroscope biases. | |
| InitBiasGyroUnit | _initBiasGyroUnit |
| Gui selection for the unit of the initial gyroscope biases. | |
| Eigen::Vector3d | _initCovarianceAttitudeAngles |
| GUI selection of the initial covariance diagonal values for attitude angles (standard deviation σ or Variance σ²) | |
| InitCovarianceAttitudeAnglesUnit | _initCovarianceAttitudeAnglesUnit |
| Gui selection for the Unit of the initial covariance for the attitude angles. | |
| Eigen::Vector3d | _initCovarianceBiasAccel |
| GUI selection of the initial covariance diagonal values for accelerometer biases (standard deviation σ or Variance σ²) | |
| InitCovarianceBiasAccelUnit | _initCovarianceBiasAccelUnit |
| Gui selection for the Unit of the initial covariance for the accelerometer biases. | |
| Eigen::Vector3d | _initCovarianceBiasGyro |
| GUI selection of the initial covariance diagonal values for gyroscope biases (standard deviation σ or Variance σ²) | |
| InitCovarianceBiasGyroUnit | _initCovarianceBiasGyroUnit |
| Gui selection for the Unit of the initial covariance for the gyroscope biases. | |
| double | _initCovarianceBiasHeight |
| GUI selection of the initial covariance diagonal values for the height bias (standard deviation σ or Variance σ²) | |
| InitCovarianceBiasHeightUnit | _initCovarianceBiasHeightUnit |
| Gui selection for the Unit of the initial covariance for the height bias. | |
| Eigen::Vector3d | _initCovariancePosition |
| GUI selection of the initial covariance diagonal values for position (standard deviation σ or Variance σ²) | |
| InitCovariancePositionUnit | _initCovariancePositionUnit |
| Gui selection for the Unit of the initial covariance for the position. | |
| double | _initCovarianceScaleHeight |
| GUI selection of the initial covariance diagonal values for the height scale (standard deviation σ or Variance σ²) | |
| InitCovarianceScaleHeight | _initCovarianceScaleHeightUnit |
| Gui selection for the Unit of the initial covariance for the height scale. | |
| Eigen::Vector3d | _initCovarianceVelocity |
| GUI selection of the initial covariance diagonal values for velocity (standard deviation σ or Variance σ²) | |
| InitCovarianceVelocityUnit | _initCovarianceVelocityUnit |
| Gui selection for the Unit of the initial covariance for the velocity. | |
| bool | _initializeStateOverExternalPin |
| Whether to initialize the state over an external pin. | |
| bool | _initialSensorBiasesApplied |
| Whether the accumulated biases have been initialized in the 'inertialIntegrator'. | |
| KeyedKalmanFilterD< KFStates, KFMeas > | _kalmanFilter |
| Kalman Filter representation. | |
| std::shared_ptr< const ImuObs > | _lastImuObs |
| Last received IMU observation (to get ImuPos) | |
| PhiCalculationAlgorithm | _phiCalculationAlgorithm |
| GUI option for the Phi calculation algorithm. | |
| int | _phiCalculationTaylorOrder |
| GUI option for the order of the Taylor polynom to calculate the Phi matrix. | |
| bool | _preferAccelerationOverDeltaMeasurements |
| Prefer the raw acceleration measurements over the deltaVel & deltaTheta values. | |
| QCalculationAlgorithm | _qCalculationAlgorithm |
| GUI option for the Q calculation algorithm. | |
| RandomProcess | _randomProcessAccel |
| Random Process used to estimate the accelerometer biases. | |
| RandomProcess | _randomProcessGyro |
| Random Process used to estimate the gyroscope biases. | |
| Eigen::Vector3d | _stdev_bad |
| 𝜎²_bad Variance of the accelerometer dynamic bias | |
| Eigen::Vector3d | _stdev_bgd |
| 𝜎²_bgd Variance of the gyro dynamic bias | |
| Eigen::Vector3d | _stdev_ra |
| 𝜎_ra Standard deviation of the noise on the accelerometer specific-force measurements | |
| Eigen::Vector3d | _stdev_rg |
| 𝜎_rg Standard deviation of the noise on the gyro angular-rate measurements | |
| Units::ImuAccelerometerFilterBiasUnits | _stdevAccelBiasUnits |
| Gui selection for the Unit of the input variance_bad parameter. | |
| Units::ImuAccelerometerFilterNoiseUnits | _stdevAccelNoiseUnits |
| Gui selection for the Unit of the input stdev_ra parameter. | |
| double | _stdevBaroHeightBias |
| Uncertainty of the barometric height bias. | |
| StdevBaroHeightBiasUnits | _stdevBaroHeightBiasUnits |
| Gui selection for the Unit of the barometric height bias uncertainty. | |
| double | _stdevBaroHeightScale |
| Uncertainty of the barometric height scale. | |
| StdevBaroHeightScaleUnits | _stdevBaroHeightScaleUnits |
| Gui selection for the Unit of the barometric height scale uncertainty. | |
| Units::ImuGyroscopeFilterBiasUnits | _stdevGyroBiasUnits |
| Gui selection for the Unit of the input variance_bad parameter. | |
| Units::ImuGyroscopeFilterNoiseUnits | _stdevGyroNoiseUnits |
| Gui selection for the Unit of the input stdev_rg parameter. | |
| Eigen::Vector3d | _tau_bad |
| Correlation length of the accelerometer dynamic bias in [s]. | |
| Eigen::Vector3d | _tau_bgd |
| Correlation length of the gyro dynamic bias in [s]. | |
Static Private Attributes | |
| static const std::vector< KFMeas > | dPos |
| All position difference keys. | |
| static const std::vector< KFMeas > | dVel |
| All velocity difference keys. | |
| static constexpr size_t | INPUT_PORT_INDEX_IMU |
| Flow (ImuObs) | |
| static constexpr size_t | INPUT_PORT_INDEX_POS_VEL_ATT_INIT |
| Flow (PosVelAtt) | |
| static const std::vector< KFStates > | KFAccBias |
| All acceleration bias keys. | |
| static const std::vector< KFStates > | KFAtt |
| All attitude keys. | |
| static const std::vector< KFStates > | KFGyrBias |
| All gyroscope bias keys. | |
| static const std::vector< KFStates > | KFPos |
| All position keys. | |
| static const std::vector< KFStates > | KFPosVel |
| All position and velocity keys. | |
| static const std::vector< KFStates > | KFPosVelAtt |
| All position, velocity and attitude keys. | |
| static const std::vector< KFStates > | KFVel |
| All velocity keys. | |
| static const std::vector< KFMeas > | Meas |
| Vector with all measurement keys. | |
| static constexpr size_t | OUTPUT_PORT_INDEX_SOLUTION |
| Flow (InsGnssLCKFSolution) | |
| static const std::vector< KFStates > | States |
| Vector with all state keys. | |
Additional Inherited Members | |
| Data Fields inherited from NAV::Node | |
| bool | callbacksEnabled |
| Enables the callbacks. | |
| ax::NodeEditor::NodeId | id |
| Unique Id of the Node. | |
| std::vector< InputPin > | inputPins |
| List of input pins. | |
| Kind | kind |
| Kind of the Node. | |
| std::string | name |
| Name of the Node. | |
| std::vector< OutputPin > | outputPins |
| List of output pins. | |
| std::multimap< InsTime, std::pair< OutputPin *, size_t > > | pollEvents |
| Map with callback events (sorted by time) | |
| Protected Attributes inherited from NAV::Node | |
| ImVec2 | _guiConfigDefaultWindowSize |
| bool | _hasConfig |
| Flag if the config window should be shown. | |
| bool | _lockConfigDuringRun |
| Lock the config when executing post-processing. | |
| bool | _onlyRealTime |
| Whether the node can run in post-processing or only real-time. | |
Loosely-coupled Kalman Filter for INS/GNSS integration.
Definition at line 34 of file LooselyCoupledKF.hpp.
|
strongprivate |
Possible Units for the barometric height measurement uncertainty (standard deviation σ or Variance σ²)
| Enumerator | |
|---|---|
| m2 | Variance [m²]. |
| m | Standard deviation [m]. |
Definition at line 383 of file LooselyCoupledKF.hpp.
|
strongprivate |
Possible Units for the GNSS measurement uncertainty for the position (standard deviation σ or Variance σ²)
| Enumerator | |
|---|---|
| meter2 | Variance [m^2, m^2, m^2]. |
| meter | Standard deviation [m, m, m]. |
Definition at line 348 of file LooselyCoupledKF.hpp.
|
strongprivate |
Possible Units for the GNSS measurement uncertainty for the velocity (standard deviation σ or Variance σ²)
| Enumerator | |
|---|---|
| m2_s2 | Variance [m^2/s^2]. |
| m_s | Standard deviation [m/s]. |
Definition at line 366 of file LooselyCoupledKF.hpp.
|
strongprivate |
Possible Units for the initial accelerometer biases.
| Enumerator | |
|---|---|
| microg | [µg] |
| m_s2 | acceleration [m/s^2] |
Definition at line 504 of file LooselyCoupledKF.hpp.
|
strongprivate |
Possible Units for the initial gyroscope biases.
| Enumerator | |
|---|---|
| rad_s | angular rate [rad/s] |
| deg_s | angular rate [deg/s] |
Definition at line 518 of file LooselyCoupledKF.hpp.
|
strongprivate |
Possible Units for the initial covariance for the attitude angles (standard deviation σ or Variance σ²)
| Enumerator | |
|---|---|
| rad2 | Variance [rad^2]. |
| deg2 | Variance [deg^2]. |
| rad | Standard deviation [rad]. |
| deg | Standard deviation [deg]. |
Definition at line 430 of file LooselyCoupledKF.hpp.
|
strongprivate |
Possible Units for the initial covariance for the accelerometer biases (standard deviation σ or Variance σ²)
| Enumerator | |
|---|---|
| m2_s4 | Variance [m^2/s^4]. |
| m_s2 | Standard deviation [m/s^2]. |
Definition at line 446 of file LooselyCoupledKF.hpp.
|
strongprivate |
Possible Units for the initial covariance for the gyroscope biases (standard deviation σ or Variance σ²)
| Enumerator | |
|---|---|
| rad2_s2 | Variance [rad²/s²]. |
| deg2_s2 | Variance [deg²/s²]. |
| rad_s | Standard deviation [rad/s]. |
| deg_s | Standard deviation [deg/s]. |
Definition at line 460 of file LooselyCoupledKF.hpp.
|
strongprivate |
Possible Units for the initial covariance for the height bias (standard deviation σ or Variance σ²)
| Enumerator | |
|---|---|
| m2 | Variance [m²]. |
| m | Standard deviation [m]. |
Definition at line 476 of file LooselyCoupledKF.hpp.
|
strongprivate |
Possible Units for the initial covariance for the position (standard deviation σ or Variance σ²)
| Enumerator | |
|---|---|
| rad2_rad2_m2 | Variance LatLonAlt^2 [rad^2, rad^2, m^2]. |
| rad_rad_m | Standard deviation LatLonAlt [rad, rad, m]. |
| meter2 | Variance NED [m^2, m^2, m^2]. |
| meter | Standard deviation NED [m, m, m]. |
Definition at line 400 of file LooselyCoupledKF.hpp.
|
strongprivate |
Possible Units for the initial covariance for the height scale (standard deviation σ or Variance σ²)
| Enumerator | |
|---|---|
| m2_m2 | Variance [m²/m²]. |
| m_m | Standard devation [m/m]. |
Definition at line 490 of file LooselyCoupledKF.hpp.
|
strongprivate |
Possible Units for the initial covariance for the velocity (standard deviation σ or Variance σ²)
| Enumerator | |
|---|---|
| m2_s2 | Variance [m^2/s^2]. |
| m_s | Standard deviation [m/s]. |
Definition at line 416 of file LooselyCoupledKF.hpp.
| enum NAV::LooselyCoupledKF::KFMeas : uint8_t |
Measurement Keys of the Kalman filter.
Definition at line 103 of file LooselyCoupledKF.hpp.
| enum NAV::LooselyCoupledKF::KFStates : uint8_t |
State Keys of the Kalman filter.
Definition at line 70 of file LooselyCoupledKF.hpp.
|
strongprivate |
GUI option for the Phi calculation algorithm.
| Enumerator | |
|---|---|
| Exponential | Van-Loan. |
| Taylor | Taylor. |
Definition at line 532 of file LooselyCoupledKF.hpp.
|
strongprivate |
GUI option for the Q calculation algorithm.
| Enumerator | |
|---|---|
| VanLoan | Van-Loan. |
| Taylor1 | Taylor. |
Definition at line 544 of file LooselyCoupledKF.hpp.
|
strongprivate |
Available Random processes.
| Enumerator | |
|---|---|
| RandomWalk | Random Walk. |
| GaussMarkov1 | Gauss-Markov 1st Order. |
Definition at line 328 of file LooselyCoupledKF.hpp.
|
strongprivate |
Possible Units for the Variance of the barometric height bias.
| Enumerator | |
|---|---|
| m | [m] |
Definition at line 302 of file LooselyCoupledKF.hpp.
|
strongprivate |
Possible Units for the Variance of the barometric height scale.
| Enumerator | |
|---|---|
| m_m | [m/m] |
Definition at line 315 of file LooselyCoupledKF.hpp.
| NAV::LooselyCoupledKF::LooselyCoupledKF | ( | ) |
Default constructor.
Definition at line 55 of file LooselyCoupledKF.cpp.
|
override |
Destructor.
Definition at line 77 of file LooselyCoupledKF.cpp.
|
delete |
Copy constructor.
|
delete |
Move constructor.
|
staticnodiscard |
String representation of the class category.
Definition at line 92 of file LooselyCoupledKF.cpp.
|
overrideprivatevirtual |
Deinitialize the node.
Reimplemented from NAV::Node.
Definition at line 1085 of file LooselyCoupledKF.cpp.
|
staticnodiscardprivate |
Measurement innovation vector 𝜹𝐳
| [in] | e_positionMeasurement | Position measurement in ECEF coordinates in [m] |
| [in] | e_positionEstimate | Position estimate in ECEF coordinates in [m] |
| [in] | e_velocityMeasurement | Velocity measurement in the e frame in [m/s] |
| [in] | e_velocityEstimate | Velocity estimate in the e frame in [m/s] |
| [in] | e_Quat_b | Rotation quaternion from body to Earth coordinates |
| [in] | b_leverArm_InsGnss | l_{ba}^b lever arm from the INS to the GNSS antenna in body-frame coordinates [m] |
| [in] | b_omega_ib | Angular rate of body with respect to inertial system in body-frame coordinates in [rad/s] |
| [in] | e_Omega_ie | Skew-symmetric matrix of the Earth-rotation vector in Earth frame axes |
Definition at line 2451 of file LooselyCoupledKF.cpp.
|
staticnodiscardprivate |
Measurement matrix for GNSS measurements at timestep k, represented in Earth frame coordinates.
| [in] | e_Dcm_b | Direction Cosine Matrix from body to Earth coordinates |
| [in] | b_omega_ib | Angular rate of body with respect to inertial system in body-frame coordinates in [rad/s] |
| [in] | b_leverArm_InsGnss | l_{ba}^b lever arm from the INS to the GNSS antenna in body-frame coordinates [m] |
| [in] | e_Omega_ie | Skew-symmetric matrix of the Earth-rotation vector in Earth frame axes |
Definition at line 2257 of file LooselyCoupledKF.cpp.
|
staticnodiscardprivate |
Measurement matrix for barometric height measurements at timestep k, represented in Earth frame coordinates.
| [in] | e_positionEstimate | predicted position |
| [in] | height | predicted height (assuming that the KF internally converts to LLA at every epoch) |
| [in] | scale | height scale |
Definition at line 2282 of file LooselyCoupledKF.cpp.
|
nodiscardprivate |
Measurement noise covariance matrix 𝐑
| [in] | posVelObs | Position and velocity observation |
Definition at line 2370 of file LooselyCoupledKF.cpp.
|
nodiscardprivate |
Calculates the system matrix 𝐅 for the ECEF frame.
| [in] | e_Quat_b | Attitude of the body with respect to e-system |
| [in] | b_specForce_ib | Specific force of the body with respect to inertial frame in [m / s^2], resolved in body coordinates |
| [in] | e_position | Position in ECEF coordinates in [m] |
| [in] | e_gravitation | Gravitational acceleration in [m/s^2] |
| [in] | r_eS_e | Geocentric radius. The distance of a point on the Earth's surface from the center of the Earth in [m] |
| [in] | e_omega_ie | Angular velocity of Earth with respect to inertial system, represented in e-sys in [rad/s] |
| [in] | tau_bad | Correlation length for the accelerometer in [s] |
| [in] | tau_bgd | Correlation length for the gyroscope in [s] |
Definition at line 1978 of file LooselyCoupledKF.cpp.
|
staticnodiscardprivate |
System noise covariance matrix 𝐐_{k-1}.
| [in] | sigma2_ra | Variance of the noise on the accelerometer specific-force measurements |
| [in] | sigma2_rg | Variance of the noise on the gyro angular-rate measurements |
| [in] | sigma2_bad | Variance of the accelerometer dynamic bias |
| [in] | sigma2_bgd | Variance of the gyro dynamic bias |
| [in] | sigma_heightBias | Standard deviation of the height bias |
| [in] | sigma_heightScale | Standard deviation of the height scale |
| [in] | tau_bad | Correlation length for the accelerometer in [s] |
| [in] | tau_bgd | Correlation length for the gyroscope in [s] |
| [in] | e_F_21 | Submatrix 𝐅_21 of the system matrix 𝐅 |
| [in] | e_Dcm_b | Direction Cosine Matrix from body to Earth coordinates |
| [in] | tau_s | Time interval in [s] |
Definition at line 2127 of file LooselyCoupledKF.cpp.
|
overridevirtual |
ImGui config window which is shown on double click.
Reimplemented from NAV::Node.
Definition at line 145 of file LooselyCoupledKF.cpp.
|
private |
Checks wether there is an input pin with the same time.
| [in] | insTime | Time to check |
Definition at line 1090 of file LooselyCoupledKF.cpp.
|
nodiscardprivate |
Initial error covariance matrix P_0.
| [in] | variance_angles | Initial Covariance of the attitude angles in [rad²] |
| [in] | variance_vel | Initial Covariance of the velocity in [m²/s²] |
| [in] | variance_pos | Initial Covariance of the position in [rad² rad² m²] n-frame / [m²] i,e-frame |
| [in] | variance_accelBias | Initial Covariance of the accelerometer biases in [m^2/s^4] |
| [in] | variance_gyroBias | Initial Covariance of the gyroscope biases in [rad^2/s^2] |
| [in] | variance_heightBias | Initial Covariance of the height bias [m^2] |
| [in] | variance_heightScale | Initial Covariance of the height scale in [m^2 / m^2] |
Definition at line 2185 of file LooselyCoupledKF.cpp.
|
overrideprivatevirtual |
Initialize the node.
Reimplemented from NAV::Node.
Definition at line 922 of file LooselyCoupledKF.cpp.
|
private |
Invoke the callback with a PosVelAtt solution (without LCKF specific output)
| [in] | posVelAtt | PosVelAtt solution |
Definition at line 1097 of file LooselyCoupledKF.cpp.
|
private |
Predicts the state from the InertialNavSol.
| [in] | inertialNavSol | Inertial navigation solution triggering the prediction |
| [in] | tau_i | Time since the last prediction in [s] |
| [in] | imuPos | IMU platform frame position with respect to body frame |
Definition at line 1297 of file LooselyCoupledKF.cpp.
|
private |
Updates the predicted state from the InertialNavSol with the Baro observation.
| [in] | baroHgtObs | Barometric height measurement triggering the update |
Definition at line 1703 of file LooselyCoupledKF.cpp.
|
private |
Updates the predicted state from the InertialNavSol with the PosVel observation.
| [in] | posVelObs | PosVel measurement triggering the update |
Definition at line 1500 of file LooselyCoupledKF.cpp.
|
staticnodiscardprivate |
Measurement innovation vector 𝜹𝐳
| [in] | baroheight | barometric height measurement in [m] |
| [in] | height | predicted height in [m] |
| [in] | heightbias | height bias in [m] |
| [in] | heightscale | height scale [m/m] |
Definition at line 2442 of file LooselyCoupledKF.cpp.
|
staticnodiscardprivate |
Measurement innovation vector 𝜹𝐳
| [in] | lla_positionMeasurement | Position measurement as Lat Lon Alt in [rad rad m] |
| [in] | lla_positionEstimate | Position estimate as Lat Lon Alt in [rad rad m] |
| [in] | n_velocityMeasurement | Velocity measurement in the n frame in [m/s] |
| [in] | n_velocityEstimate | Velocity estimate in the n frame in [m/s] |
| [in] | T_rn_p | Conversion matrix between cartesian and curvilinear perturbations to the position |
| [in] | n_Quat_b | Rotation quaternion from body to navigation coordinates |
| [in] | b_leverArm_InsGnss | l_{ba}^b lever arm from the INS to the GNSS antenna in body-frame coordinates [m] |
| [in] | b_omega_ib | Angular rate of body with respect to inertial system in body-frame coordinates in [rad/s] |
| [in] | n_Omega_ie | Skew-symmetric matrix of the Earth-rotation vector in local navigation frame axes |
Definition at line 2424 of file LooselyCoupledKF.cpp.
|
staticnodiscardprivate |
Measurement matrix for baro height measurements at timestep k, represented in navigation coordinates.
| [in] | height | predicted height |
| [in] | scale | height scale |
Definition at line 2244 of file LooselyCoupledKF.cpp.
|
staticnodiscardprivate |
Measurement matrix for GNSS measurements at timestep k, represented in navigation coordinates.
| [in] | T_rn_p | Conversion matrix between cartesian and curvilinear perturbations to the position |
| [in] | n_Dcm_b | Direction Cosine Matrix from body to navigation coordinates |
| [in] | b_omega_ib | Angular rate of body with respect to inertial system in body-frame coordinates in [rad/s] |
| [in] | b_leverArm_InsGnss | l_{ba}^b lever arm from the INS to the GNSS antenna in body-frame coordinates [m] |
| [in] | n_Omega_ie | Skew-symmetric matrix of the Earth-rotation vector in local navigation frame axes |
Definition at line 2216 of file LooselyCoupledKF.cpp.
|
staticnodiscardprivate |
Measurement noise covariance matrix 𝐑
| [in] | baroVarianceHeight | Variance of height in [m²] |
Definition at line 2361 of file LooselyCoupledKF.cpp.
|
nodiscardprivate |
Measurement noise covariance matrix 𝐑
| [in] | posVelObs | Position and velocity observation |
| [in] | lla_position | Position as Lat Lon Alt in [rad rad m] |
| [in] | R_N | Meridian radius of curvature in [m] |
| [in] | R_E | Prime vertical radius of curvature (East/West) [m] |
Definition at line 2295 of file LooselyCoupledKF.cpp.
|
nodiscardprivate |
Calculates the system matrix 𝐅 for the local navigation frame.
| [in] | n_Quat_b | Attitude of the body with respect to n-system |
| [in] | b_specForce_ib | Specific force of the body with respect to inertial frame in [m / s^2], resolved in body coordinates |
| [in] | n_omega_in | Angular rate of navigation system with respect to the inertial system [rad / s], resolved in navigation coordinates. |
| [in] | n_velocity | Velocity in n-system in [m / s] |
| [in] | lla_position | Position as Lat Lon Alt in [rad rad m] |
| [in] | R_N | Meridian radius of curvature in [m] |
| [in] | R_E | Prime vertical radius of curvature (East/West) [m] |
| [in] | g_0 | Magnitude of the gravity vector in [m/s^2] (see [18] Groves, ch. 2.4.7, eq. 2.135, p. 70) |
| [in] | r_eS_e | Geocentric radius. The distance of a point on the Earth's surface from the center of the Earth in [m] |
| [in] | tau_bad | Correlation length for the accelerometer in [s] |
| [in] | tau_bgd | Correlation length for the gyroscope in [s] |
Definition at line 1918 of file LooselyCoupledKF.cpp.
|
staticnodiscardprivate |
System noise covariance matrix 𝐐_{k-1}.
| [in] | sigma2_ra | Variance of the noise on the accelerometer specific-force measurements |
| [in] | sigma2_rg | Variance of the noise on the gyro angular-rate measurements |
| [in] | sigma2_bad | Variance of the accelerometer dynamic bias |
| [in] | sigma2_bgd | Variance of the gyro dynamic bias |
| [in] | sigma_heightBias | Standard deviation of the height bias |
| [in] | sigma_heightScale | Standard deviation of the height scale |
| [in] | tau_bad | Correlation length for the accelerometer in [s] |
| [in] | tau_bgd | Correlation length for the gyroscope in [s] |
| [in] | n_F_21 | Submatrix 𝐅_21 of the system matrix 𝐅 |
| [in] | T_rn_p | Conversion matrix between cartesian and curvilinear perturbations to the position |
| [in] | n_Dcm_b | Direction Cosine Matrix from body to navigation coordinates |
| [in] | tau_s | Time interval in [s] |
Definition at line 2071 of file LooselyCoupledKF.cpp.
|
staticnodiscardprivate |
Calculates the noise input matrix 𝐆
| [in] | ien_Quat_b | Quaternion from body frame to {i,e,n} frame |
Definition at line 2032 of file LooselyCoupledKF.cpp.
|
nodiscardprivate |
Calculates the noise scale matrix 𝐖
| [in] | sigma_ra | Standard deviation of the noise on the accelerometer specific-force measurements |
| [in] | sigma_rg | Standard deviation of the noise on the gyro angular-rate measurements |
| [in] | sigma_bad | Standard deviation of the accelerometer dynamic bias |
| [in] | sigma_bgd | Standard deviation of the gyro dynamic bias |
| [in] | tau_bad | Correlation length for the accelerometer in [s] |
| [in] | tau_bgd | Correlation length for the gyroscope in [s] |
| [in] | sigma_heightBias | Standard deviation of the height bias |
| [in] | sigma_heightScale | Standard deviation of the height scale |
Definition at line 2051 of file LooselyCoupledKF.cpp.
|
delete |
Copy assignment operator.
|
delete |
Move assignment operator.
|
staticprivate |
Function to call to add a new pin.
| [in,out] | node | Pointer to this node |
Definition at line 129 of file LooselyCoupledKF.cpp.
|
staticprivate |
Function to call to delete a pin.
| [in,out] | node | Pointer to this node |
| [in] | pinIdx | Input pin index to delete |
Definition at line 140 of file LooselyCoupledKF.cpp.
|
private |
Receive Function for the BaroHgt observation.
| [in] | queue | Queue with all the received data messages |
| [in] | pinIdx | Index of the pin the data is received on |
Definition at line 1252 of file LooselyCoupledKF.cpp.
|
private |
Receive Function for the IMU observation.
| [in] | queue | Queue with all the received data messages |
| [in] | pinIdx | Index of the pin the data is received on |
Definition at line 1140 of file LooselyCoupledKF.cpp.
|
private |
Receive Function for the PosVelAtt observation.
| [in] | queue | Queue with all the received data messages |
| [in] | pinIdx | Index of the pin the data is received on |
Definition at line 1271 of file LooselyCoupledKF.cpp.
|
private |
Receive Function for the PosVel observation.
| [in] | queue | Queue with all the received data messages |
| [in] | pinIdx | Index of the pin the data is received on |
Definition at line 1203 of file LooselyCoupledKF.cpp.
|
overridevirtual |
Restores the node from a json object.
| [in] | j | Json object with the node state |
Reimplemented from NAV::Node.
Definition at line 694 of file LooselyCoupledKF.cpp.
|
nodiscardoverridevirtual |
Saves the node into a json object.
Reimplemented from NAV::Node.
Definition at line 624 of file LooselyCoupledKF.cpp.
|
private |
Sets the covariance matrix P of the LCKF (and does the necessary unit conversions)
| [in] | lckfSolution | LCKF solution from prediction or update |
| [in] | R_N | Prime vertical radius of curvature (East/West) [m] |
| [in] | R_E | Meridian radius of curvature in [m] |
Definition at line 1875 of file LooselyCoupledKF.cpp.
|
nodiscardoverridevirtual |
String representation of the class type.
Implements NAV::Node.
Definition at line 87 of file LooselyCoupledKF.cpp.
|
staticnodiscard |
String representation of the class type.
Definition at line 82 of file LooselyCoupledKF.cpp.
|
private |
Update the input pins depending on the GUI.
Definition at line 97 of file LooselyCoupledKF.cpp.
|
private |
Accumulator for acceleration bias [m/s²].
Definition at line 194 of file LooselyCoupledKF.hpp.
|
private |
Whether to override the barometric height uncertainty or use the one included in the measurement.
Definition at line 395 of file LooselyCoupledKF.hpp.
|
private |
GUI selection of the barometric height measurement uncertainty (standard deviation σ or Variance σ²)
Definition at line 392 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the Unit of the barometric height measurement uncertainty.
Definition at line 389 of file LooselyCoupledKF.hpp.
|
private |
Check the rank of the Kalman matrices every iteration (computational expensive)
Definition at line 253 of file LooselyCoupledKF.hpp.
|
private |
Dynamic input pins.
Definition at line 569 of file LooselyCoupledKF.hpp.
|
private |
Whether to enable barometric height (including the corresponding pin)
Definition at line 204 of file LooselyCoupledKF.hpp.
|
private |
Time from the external init.
Definition at line 207 of file LooselyCoupledKF.hpp.
|
private |
GUI selection of the GNSS position measurement uncertainty (standard deviation σ or Variance σ²). SPP accuracy approx. 3m in horizontal direction and 3 times worse in vertical direction.
Definition at line 358 of file LooselyCoupledKF.hpp.
|
private |
Whether to override the position uncertainty or use the one included in the measurement.
Definition at line 361 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the Unit of the GNSS measurement uncertainty for the position.
Definition at line 354 of file LooselyCoupledKF.hpp.
|
private |
GUI selection of the GNSS NED velocity measurement uncertainty (standard deviation σ or Variance σ²)
Definition at line 375 of file LooselyCoupledKF.hpp.
|
private |
Whether to override the velocity uncertainty or use the one included in the measurement.
Definition at line 378 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the Unit of the GNSS measurement uncertainty for the velocity.
Definition at line 372 of file LooselyCoupledKF.hpp.
|
private |
Accumulator gyro bias [rad/s].
Definition at line 196 of file LooselyCoupledKF.hpp.
|
private |
Accumulator for height bias [m].
Definition at line 189 of file LooselyCoupledKF.hpp.
|
private |
Accumulator for height scale [m/m].
Definition at line 191 of file LooselyCoupledKF.hpp.
|
private |
Inertial Integrator.
Definition at line 181 of file LooselyCoupledKF.hpp.
|
private |
Roll, Pitch and Yaw angles in [deg] used for initialization if not taken from separate pin.
Definition at line 199 of file LooselyCoupledKF.hpp.
|
private |
GUI selection of the initial accelerometer biases.
Definition at line 513 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the unit of the initial accelerometer biases.
Definition at line 510 of file LooselyCoupledKF.hpp.
|
private |
GUI selection of the initial gyroscope biases.
Definition at line 527 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the unit of the initial gyroscope biases.
Definition at line 524 of file LooselyCoupledKF.hpp.
|
private |
GUI selection of the initial covariance diagonal values for attitude angles (standard deviation σ or Variance σ²)
Definition at line 441 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the Unit of the initial covariance for the attitude angles.
Definition at line 438 of file LooselyCoupledKF.hpp.
|
private |
GUI selection of the initial covariance diagonal values for accelerometer biases (standard deviation σ or Variance σ²)
Definition at line 455 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the Unit of the initial covariance for the accelerometer biases.
Definition at line 452 of file LooselyCoupledKF.hpp.
|
private |
GUI selection of the initial covariance diagonal values for gyroscope biases (standard deviation σ or Variance σ²)
Definition at line 471 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the Unit of the initial covariance for the gyroscope biases.
Definition at line 468 of file LooselyCoupledKF.hpp.
|
private |
GUI selection of the initial covariance diagonal values for the height bias (standard deviation σ or Variance σ²)
Definition at line 485 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the Unit of the initial covariance for the height bias.
Definition at line 482 of file LooselyCoupledKF.hpp.
|
private |
GUI selection of the initial covariance diagonal values for position (standard deviation σ or Variance σ²)
Definition at line 411 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the Unit of the initial covariance for the position.
Definition at line 408 of file LooselyCoupledKF.hpp.
|
private |
GUI selection of the initial covariance diagonal values for the height scale (standard deviation σ or Variance σ²)
Definition at line 499 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the Unit of the initial covariance for the height scale.
Definition at line 496 of file LooselyCoupledKF.hpp.
|
private |
GUI selection of the initial covariance diagonal values for velocity (standard deviation σ or Variance σ²)
Definition at line 425 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the Unit of the initial covariance for the velocity.
Definition at line 422 of file LooselyCoupledKF.hpp.
|
private |
Whether to initialize the state over an external pin.
Definition at line 201 of file LooselyCoupledKF.hpp.
|
private |
Whether the accumulated biases have been initialized in the 'inertialIntegrator'.
Definition at line 210 of file LooselyCoupledKF.hpp.
|
private |
Kalman Filter representation.
Definition at line 246 of file LooselyCoupledKF.hpp.
|
private |
Last received IMU observation (to get ImuPos)
Definition at line 186 of file LooselyCoupledKF.hpp.
|
private |
GUI option for the Phi calculation algorithm.
Definition at line 538 of file LooselyCoupledKF.hpp.
|
private |
GUI option for the order of the Taylor polynom to calculate the Phi matrix.
Definition at line 541 of file LooselyCoupledKF.hpp.
|
private |
Prefer the raw acceleration measurements over the deltaVel & deltaTheta values.
Definition at line 183 of file LooselyCoupledKF.hpp.
|
private |
GUI option for the Q calculation algorithm.
Definition at line 550 of file LooselyCoupledKF.hpp.
|
private |
Random Process used to estimate the accelerometer biases.
Definition at line 341 of file LooselyCoupledKF.hpp.
|
private |
Random Process used to estimate the gyroscope biases.
Definition at line 343 of file LooselyCoupledKF.hpp.
|
private |
𝜎²_bad Variance of the accelerometer dynamic bias
Definition at line 282 of file LooselyCoupledKF.hpp.
|
private |
𝜎²_bgd Variance of the gyro dynamic bias
Definition at line 294 of file LooselyCoupledKF.hpp.
|
private |
𝜎_ra Standard deviation of the noise on the accelerometer specific-force measurements
Definition at line 264 of file LooselyCoupledKF.hpp.
|
private |
𝜎_rg Standard deviation of the noise on the gyro angular-rate measurements
Definition at line 273 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the Unit of the input variance_bad parameter.
Definition at line 278 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the Unit of the input stdev_ra parameter.
Definition at line 260 of file LooselyCoupledKF.hpp.
|
private |
Uncertainty of the barometric height bias.
Definition at line 310 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the Unit of the barometric height bias uncertainty.
Definition at line 307 of file LooselyCoupledKF.hpp.
|
private |
Uncertainty of the barometric height scale.
Definition at line 323 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the Unit of the barometric height scale uncertainty.
Definition at line 320 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the Unit of the input variance_bad parameter.
Definition at line 290 of file LooselyCoupledKF.hpp.
|
private |
Gui selection for the Unit of the input stdev_rg parameter.
Definition at line 269 of file LooselyCoupledKF.hpp.
|
private |
Correlation length of the accelerometer dynamic bias in [s].
Definition at line 285 of file LooselyCoupledKF.hpp.
|
private |
Correlation length of the gyro dynamic bias in [s].
Definition at line 297 of file LooselyCoupledKF.hpp.
|
inlinestaticprivate |
All position difference keys.
Definition at line 241 of file LooselyCoupledKF.hpp.
|
inlinestaticprivate |
All velocity difference keys.
Definition at line 243 of file LooselyCoupledKF.hpp.
|
staticconstexprprivate |
Flow (ImuObs)
Definition at line 122 of file LooselyCoupledKF.hpp.
|
staticconstexprprivate |
Flow (PosVelAtt)
Definition at line 123 of file LooselyCoupledKF.hpp.
|
inlinestaticprivate |
All acceleration bias keys.
Definition at line 226 of file LooselyCoupledKF.hpp.
|
inlinestaticprivate |
All attitude keys.
Definition at line 224 of file LooselyCoupledKF.hpp.
|
inlinestaticprivate |
All gyroscope bias keys.
Definition at line 228 of file LooselyCoupledKF.hpp.
|
inlinestaticprivate |
All position keys.
Definition at line 220 of file LooselyCoupledKF.hpp.
|
inlinestaticprivate |
All position and velocity keys.
Definition at line 231 of file LooselyCoupledKF.hpp.
|
inlinestaticprivate |
All position, velocity and attitude keys.
Definition at line 234 of file LooselyCoupledKF.hpp.
|
inlinestaticprivate |
All velocity keys.
Definition at line 222 of file LooselyCoupledKF.hpp.
|
inlinestaticprivate |
Vector with all measurement keys.
Definition at line 239 of file LooselyCoupledKF.hpp.
|
staticconstexprprivate |
Flow (InsGnssLCKFSolution)
Definition at line 124 of file LooselyCoupledKF.hpp.
|
inlinestaticprivate |
Vector with all state keys.
Definition at line 213 of file LooselyCoupledKF.hpp.