41 #include <visp3/core/vpUKSigmaDrawerMerwe.h>
43 #if (VISP_CXX_STANDARD >= VISP_CXX_STANDARD_11)
59 const unsigned int nbSigmaPoints = 2 *
m_n + 1;
60 std::vector<vpColVector> sigmaPoints(nbSigmaPoints);
61 sigmaPoints[0] = mean;
64 for (
unsigned int i = 0; i <
m_n; ++i) {
73 const unsigned int nbSigmaPoints = 2 *
m_n + 1;
75 weights.
m_wm.resize(nbSigmaPoints);
76 weights.
m_wc.resize(nbSigmaPoints);
81 double cstWeight = 1. / (2. * (
static_cast<double>(
m_n) +
m_lambda));
82 for (
unsigned int i = 1; i < nbSigmaPoints; ++i) {
83 weights.
m_wm[i] = cstWeight;
84 weights.
m_wc[i] = cstWeight;
90 void vpUKSigmaDrawerMerwe_dummy()
Implementation of column vector and the associated operations.
Implementation of a matrix and operations on matrices.
vpMatrix cholesky() const
vpRowVector getRow(unsigned int i) const
vpColVector transpose() const
vpUKSigmaDrawerMerwe(const int &n, const double &alpha, const double &beta, const double &kappa, const vpAddSubFunction &resFunc=vpUnscentedKalman::simpleResidual, const vpAddSubFunction &addFunc=vpUnscentedKalman::simpleAdd)
Construct a new vpUKSigmaDrawerMerwe object.
vpAddSubFunction m_resFunc
virtual std::vector< vpColVector > drawSigmaPoints(const vpColVector &mean, const vpMatrix &covariance) override
Draw the sigma points according to the current mean and covariance of the state of the Unscented Kalm...
vpUnscentedKalman::vpAddSubFunction vpAddSubFunction
virtual vpSigmaPointsWeights computeWeights() override
Computed the weigths that correspond to the sigma poitns that have been drawn.
vpAddSubFunction m_addFunc
The weights corresponding to the sigma points drawing.
std::vector< double > m_wm
std::vector< double > m_wc