Class CEllipsoidInverseDepth2D

Inheritance Relationships

Base Type

Class Documentation

class CEllipsoidInverseDepth2D : public mrpt::viz::CGeneralizedEllipsoidTemplate<2>

An especial “ellipsoid” in 3D computed as the uncertainty iso-surfaces of a (inv_range,yaw) variable. The parameter space of this ellipsoid comprises these variables (in this order):

  • inv_range: The inverse distance from the sensor to the feature.

  • yaw: Angle for the rotation around +Z (“azimuth”).

This parameterization is a 2D version of that presented in the paper:

  • Civera, J. and Davison, A.J. and Montiel, J., “Inverse depth

    parametrization for monocular SLAM”, T-RO, 2008.

This class expects you to provide a mean vector of length 4 and a 4x4 covariance matrix, set with setCovMatrixAndMean().

Please read the documentation of CGeneralizedEllipsoidTemplate::setQuantiles() for learning the mathematical details about setting the desired confidence interval.

../../output_staging/generated/doxygen/xml/preview_CEllipsoidInverseDepth2D.png

Public Functions

CEllipsoidInverseDepth2D() = default
virtual ~CEllipsoidInverseDepth2D() override = default
inline void setUnderflowMaxRange(const double maxRange)

The maximum range to be used as a correction when a point of the ellipsoid falls in the negative ranges (default: 1e6)

inline double getUnderflowMaxRange() const

Protected Functions

void transformFromParameterSpace(const std::vector<BASE::array_parameter_t> &in_pts, std::vector<BASE::array_point_t> &out_pts) const override

To be implemented by derived classes: maps, using some arbitrary space transformation, a list of points defining an ellipsoid in parameter space into their corresponding points in 2D/3D space.