function
Estimation.StrapdownINS.ESKF.withCovarianceRoot
Set the authoritative root and its dense diagnostic
Public declarations
Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.
| Role | Name | Type | Dimensions / attributes / default | Description |
|---|---|---|---|---|
| input | previous | State | | |
| input | root | Covariance | | |
| input | barometerBiasCrossCovariance | Real | [TangentLength] | |
| output | updated | State | |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
function withCovarianceRoot "Set the authoritative root and its dense diagnostic"
input State previous;
input Covariance root;
input Real barometerBiasCrossCovariance[TangentLength];
output State updated;
algorithm
updated := State(positionWorldEnu_m=previous.positionWorldEnu_m,
velocityWorldEnu_m_s=previous.velocityWorldEnu_m_s,
quaternionWorldBody=previous.quaternionWorldBody,
gyroscopeBiasBodyFlu_rad_s=previous.gyroscopeBiasBodyFlu_rad_s,
accelerometerBiasBodyFlu_m_s2=previous.accelerometerBiasBodyFlu_m_s2,
covariance=LinearAlgebra.symmetrize(root * transpose(root)),
covarianceRoot=root,
useSquareRootCovariance=previous.useSquareRootCovariance,
barometerBiasCrossCovariance=barometerBiasCrossCovariance,
barometerBias_m=previous.barometerBias_m,
barometerBiasVariance_m2=previous.barometerBiasVariance_m2,
useJointBarometerBias=previous.useJointBarometerBias);
end withCovarianceRoot;