Template Struct NDTCell

Struct Documentation

template<int NDim, typename Scalar = double>
struct NDTCell

Representation for a cell of a N dimensional NDT cell.

Public Types

using scalar_type = Scalar

Floating point scalar type.

Public Functions

inline double likelihood_at(const NDTCell &measurement, double d1 = 1.0, double d2 = 1.0) const

Get the L2 likelihood at measurement, scaled by d1 and d2. It assumes the measurement is pre-transformed into the same frame as this cell instance.

Public Members

Eigen::Vector<Scalar, NDim> mean

Mean of the N dimensional normal distribution.

Eigen::Matrix<Scalar, NDim, NDim> covariance

Covariance of the N dimensional normal distribution.

Public Static Attributes

static constexpr int num_dim = NDim

Number of dimensions of the cell’s translation.

Friends

inline friend std::ostream &operator<<(std::ostream &os, const NDTCell &cell)

Ostream overload mostly for debugging purposes.

inline friend NDTCell operator*(const Sophus::SE2<scalar_type> &tf, const NDTCell &ndt_cell)

Transform the normal distribution according to tf, both mean and covariance.

inline friend NDTCell operator*(const Sophus::SE3<scalar_type> &tf, const NDTCell &ndt_cell)

Transform the normal distribution according to tf, both mean and covariance.