44 maxDistForCorrespondence(0.50f),
45 maxAngularDistForCorrespondence(.0f),
46 onlyKeepTheClosest(true),
47 onlyUniqueRobust(false),
48 decimation_other_map_points(1),
49 offset_other_map_points(0),
50 angularDistPivotPoint(0,0,0)
92 virtual
void internal_clear() = 0;
103 virtual bool internal_insertObservation(
105 const CPose3D *robotPose = NULL ) = 0;
113 virtual bool isEmpty()
const = 0;
122 void loadFromProbabilisticPosesAndObservations(
const CSimpleMap &Map );
143 bool insertObservationPtr(
const CObservationPtr &obs,
const CPose3D *robotPose = NULL );
153 virtual double computeObservationLikelihood(
const CObservation *obs,
const CPose3D &takenFrom ) = 0;
176 bool canComputeObservationLikelihood(
const CObservationPtr &obs );
191 bool canComputeObservationsLikelihood(
const CSensoryFrame &sf );
218 virtual void determineMatching2D(
243 virtual void determineMatching3D(
260 virtual float compute3DMatchingRatio(
263 float maxDistForCorr = 0.10f,
264 float maxMahaDistForCorr = 2.0f
269 virtual void saveMetricMapRepresentationToFile(
270 const std::string &filNamePrefix
275 virtual void getAs3DObject( mrpt::opengl::CSetOfObjectsPtr &outObj )
const = 0;
291 virtual float squareDistanceToClosestCorrespondence(
float x0,
float y0 )
const;
size_t decimation_other_map_points
(Default=1) Only consider 1 out of this number of points from the "other" map.
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
void loadFromSimpleMap(const CSimpleMap &Map)
Load the map contents from a CSimpleMap object, erasing all previous content of the map...
The virtual base class which provides a unified interface for all persistent objects in MRPT...
bool onlyKeepTheClosest
If set to true (default), only the closest correspondence will be returned. If false all are returned...
float maxDistForCorrespondence
Maximum linear distance between two points to be paired (meters)
std::deque< CMetricMap * > TMetricMapList
A list of metric maps (used in the mrpt::poses::CPosePDFParticles class):
#define DEFINE_VIRTUAL_SERIALIZABLE(class_name)
This declaration must be inserted in virtual CSerializable classes definition:
Declares a virtual base class for all metric maps storage classes.
#define DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
This declaration must be inserted in all CSerializable classes definition, before the class declarati...
virtual bool canComputeObservationLikelihood(const CObservation *obs)
Returns true if this map is able to compute a sensible likelihood function for this observation (i...
#define MRPT_UNUSED_PARAM(a)
Can be used to avoid "not used parameters" warnings from the compiler.
bool m_disableSaveAs3DObject
When set to true (default=false), calling "getAs3DObject" will have no effects.
size_t offset_other_map_points
Index of the first point in the "other" map to start checking for correspondences (Default=0) ...
Declares a class that represents any robot's observation.
float maxAngularDistForCorrespondence
Allowed "angular error" (in radians): this permits larger pairing threshold distances to more distant...
Parameters for the determination of matchings between point clouds, etc.
This class stores a sequence of
pairs, thus a "metric map" can be t...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
virtual const CSimplePointsMap * getAsSimplePointsMap() const
If the map is a simple points map or it's a multi-metric map that contains EXACTLY one simple points ...
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximat...
A class used to store a 2D pose.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
mrpt::math::TPoint3D angularDistPivotPoint
The point used to calculate angular distances: e.g. the coordinates of the sensor for a 2D laser scan...
bool onlyUniqueRobust
Additional consistency filter: "onlyKeepTheClosest" allows one correspondence for each "local map" po...
A cloud of points in 2D or 3D, which can be built from a sequence of laser scans. ...
Inherit from this class for those objects capable of being observed by a CObserver class...
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
virtual void auxParticleFilterCleanUp()
This method is called at the end of each "prediction-update-map insertion" cycle within "mrpt::slam::...
TMatchingParams()
Ctor: default values.
virtual CSimplePointsMap * getAsSimplePointsMap()