70 Matrixd<CovDim, NumSigmas - 1 + CovDim> Sbar;
71 for (
int i = 0; i < NumSigmas - 1; i++) {
72 Sbar.template block<CovDim, 1>(0, i) =
74 residualFunc(sigmas.template block<CovDim, 1>(0, 1 + i), x);
76 Sbar.template block<CovDim, CovDim>(0, NumSigmas - 1) = squareRootR;
92 .template block<CovDim, CovDim>(0, 0)
93 .template triangularView<Eigen::Upper>()
100 Eigen::internal::llt_inplace<double, Eigen::Lower>::rankUpdate(
101 S, residualFunc(sigmas.template block<CovDim, 1>(0, 0), x), Wc[0]);
103 return std::make_tuple(x,
S);
std::tuple< Vectord< CovDim >, Matrixd< CovDim, CovDim > > SquareRootUnscentedTransform(const Matrixd< CovDim, NumSigmas > &sigmas, const Vectord< NumSigmas > &Wm, const Vectord< NumSigmas > &Wc, std::function< Vectord< CovDim >(const Matrixd< CovDim, NumSigmas > &, const Vectord< NumSigmas > &)> meanFunc, std::function< Vectord< CovDim >(const Vectord< CovDim > &, const Vectord< CovDim > &)> residualFunc, const Matrixd< CovDim, CovDim > &squareRootR)
Computes unscented transform of a set of sigma points and weights.
Definition UnscentedTransform.h:40
Eigen::Matrix< double, Rows, Cols, Options, MaxRows, MaxCols > Matrixd
Definition EigenCore.h:21
#define S(label, offset, message)
Definition Errors.h:113