10 #include <CTraitsTest.h>    11 #include <gtest/gtest.h>    15 #include <Eigen/Dense>    22 template class mrpt::CTraitsTest<CPosePDFGaussian>;
    30         double x, 
double y, 
double phi, 
double std_scale)
    37         for (
int i = 0; i < 3; i++) 
cov(i, i) += 1e-7;
    46         const CPose2D p1(x[0], x[1], x[2]);
    48         for (
int i = 0; i < 3; i++) Y[i] = p1_inv[i];
    63             for (
int i = 0; i < 3; i++) x_mean[i] = pdf1.
mean[i];
    71                 x_mean, x_cov, func_inverse, DUMMY, y_mean, y_cov, x_incrs);
    75             << 
"pdf1 mean: " << pdf1.
mean << endl
    76             << 
"Numeric approximation of covariance: " << endl
    78             << 
"Returned covariance: " << endl
    79             << pdf1_inv.
cov << endl;
    85     testPoseInverse(0, 0, 0, 0.01);
    86     testPoseInverse(0, 0, 0, 0.1);
    88     testPoseInverse(1, 0, 0, 0.1);
    89     testPoseInverse(0, 1, 0, 0.1);
    90     testPoseInverse(0, 0, 1, 0.1);
    92     testPoseInverse(-5, 0, 0, 0.1);
    93     testPoseInverse(0, -5, 0, 0.1);
    94     testPoseInverse(0, 0, -5, 0.1);
    96     testPoseInverse(4, 6, 10.0_deg, 0.1);
    97     testPoseInverse(4, 6, -10.0_deg, 0.1);
    99     testPoseInverse(-7, 2, 30.0_deg, 0.1);
   100     testPoseInverse(-7, 2, -30.0_deg, 0.1);
 A compile-time fixed-size numeric matrix container. 
 
CPose2D mean
The mean value. 
 
void fill(const Scalar &val)
 
void drawGaussian1DMatrix(MAT &matrix, const double mean=0, const double std=1)
Fills the given matrix with independent, 1D-normally distributed samples. 
 
mrpt::math::CMatrixDouble33 cov
The 3x3 covariance matrix. 
 
void matProductOf_AAt(const MAT_A &A)
this = A * AT 
 
This base provides a set of functions for maths stuff. 
 
Declares a class that represents a Probability Density function (PDF) of a 2D pose ...
 
static void func_inverse(const CVectorFixedDouble< 3 > &x, [[maybe_unused]] const double &dummy, CVectorFixedDouble< 3 > &Y)
 
void testPoseInverse(double x, double y, double phi, double std_scale)
 
CMatrixDouble cov(const MATRIX &v)
Computes the covariance matrix from a list of samples in an NxM matrix, where each row is a sample...
 
static CPosePDFGaussian generateRandomPose2DPDF(double x, double y, double phi, double std_scale)
 
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
 
TEST_F(PosePDFGaussTests, Inverse)
 
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries. 
 
A class used to store a 2D pose, including the 2D coordinate point and a heading (phi) angle...
 
EXPECT_NEAR(out.cam_params.rightCameraPose.x, 0.1194, 0.005)
 
CRandomGenerator & getRandomGenerator()
A static instance of a CRandomGenerator class, for use in single-thread applications. 
 
void inverse(CPosePDF &o) const override
Returns a new PDF such as: NEW_PDF = (0,0,0) - THIS_PDF.