9#ifndef CMetricMapBuilder_H
10#define CMetricMapBuilder_H
97 options.enableMapUpdating = enable;
110 enableMapUpdating(true),
111 debugForceInsertion(false),
112 alwaysInsertByClass()
This class stores any customizable set of metric maps.
This class stores a sequence of <Probabilistic Pose,SensoryFrame> pairs, thus a "metric map" can be t...
Declares a class for storing a collection of robot actions.
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximat...
Declares a class that represents a probability density function (pdf) of a 2D pose (x,...
This virtual class is the base for SLAM implementations.
void leaveCriticalSection()
Leave critical section for map updating:
void loadCurrentMapFromFile(const std::string &fileName)
Load map (mrpt::maps::CSimpleMap) from a ".simplemap" file.
virtual mrpt::poses::CPose3DPDFPtr getCurrentPoseEstimation() const =0
Returns a copy of the current best pose estimation as a pose PDF.
synch::CCriticalSection critZoneChangingMap
Critical zones.
virtual void processActionObservation(mrpt::obs::CActionCollection &action, mrpt::obs::CSensoryFrame &observations)=0
Process a new action and observations pair to update this map: See the description of the class at th...
void clear()
Clear all elements of the maps, and reset localization to (0,0,0deg).
CMetricMapBuilder()
Constructor.
virtual mrpt::maps::CMultiMetricMap * getCurrentlyBuiltMetricMap()=0
Returns the map built so far.
virtual void initialize(const mrpt::maps::CSimpleMap &initialMap=mrpt::maps::CSimpleMap(), mrpt::poses::CPosePDF *x0=NULL)=0
Initialize the method, starting with a known location PDF "x0"(if supplied, set to NULL to left unmod...
virtual void getCurrentlyBuiltMap(mrpt::maps::CSimpleMap &out_map) const =0
Fills "out_map" with the set of "poses"-"sensory-frames", thus the so far built map.
void saveCurrentMapToFile(const std::string &fileName, bool compressGZ=true) const
Save map (mrpt::maps::CSimpleMap) to a ".simplemap" file.
void enableMapUpdating(bool enable)
Enables or disables the map updating (default state is enabled)
virtual void saveCurrentEstimationToImage(const std::string &file, bool formatEMF_BMP=true)=0
A useful method for debugging: the current map (and/or poses) estimation is dumped to an image file.
void enterCriticalSection()
Enter critical section for map updating:
virtual ~CMetricMapBuilder()
Destructor.
virtual unsigned int getCurrentlyBuiltMapSize()=0
Returns just how many sensory-frames are stored in the currently build map.
This class provides simple critical sections functionality.
This base class provides a common printf-like method to send debug information to std::cout,...
A list (actually based on a std::set) of MRPT classes, capable of keeping any class registered by the...
#define MRPT_MAKE_ALIGNED_OPERATOR_NEW
struct BASE_IMPEXP CPose3DPDFPtr
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Options for the algorithm.
bool verbose
If true shows debug information in the console, default is true.
mrpt::utils::CListOfClasses alwaysInsertByClass
A list of observation classes (derived from mrpt::obs::CObservation) which will be always inserted in...
bool enableMapUpdating
Enable map updating, default is true.
bool debugForceInsertion
Always insert into map. Default is false: detect if necesary.