9 #ifndef CMetricMapBuilder_H
10 #define CMetricMapBuilder_H
95 const std::string& file,
bool formatEMF_BMP =
true) = 0;
110 const std::string& fileName,
bool compressGZ =
true)
const;
#define MRPT_MAKE_ALIGNED_OPERATOR_NEW
Put this macro inside any class with members that require {16,32,64}-byte memory alignment (e....
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...
std::shared_ptr< CPose3DPDF > Ptr
Declares a class that represents a probability density function (pdf) of a 2D pose (x,...
A list (actually based on a std::set) of MRPT classes, capable of keeping any class registered by the...
This virtual class is the base for SLAM implementations.
void leaveCriticalSection()
Leave critical section for map updating.
void saveCurrentMapToFile(const std::string &fileName, bool compressGZ=true) const
Save map (mrpt::maps::CSimpleMap) to a ".simplemap" file.
void clear()
Clear all elements of the maps, and reset localization to (0,0,0deg).
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...
virtual ~CMetricMapBuilder()
Destructor.
virtual void initialize(const mrpt::maps::CSimpleMap &initialMap=mrpt::maps::CSimpleMap(), const mrpt::poses::CPosePDF *x0=nullptr)=0
Initialize the method, starting with a known location PDF "x0"(if supplied, set to nullptr to left un...
virtual const mrpt::maps::CMultiMetricMap * getCurrentlyBuiltMetricMap() const =0
Returns the map built so far.
virtual mrpt::poses::CPose3DPDF::Ptr getCurrentPoseEstimation() const =0
Returns a copy of the current best pose estimation as a pose PDF.
void loadCurrentMapFromFile(const std::string &fileName)
Load map (mrpt::maps::CSimpleMap) from a ".simplemap" file.
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.
CMetricMapBuilder()
Constructor.
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.
std::mutex critZoneChangingMap
Critical zones.
virtual unsigned int getCurrentlyBuiltMapSize()=0
Returns just how many sensory-frames are stored in the currently build map.
Versatile class for consistent logging and management of output messages.
GLsizei const GLchar ** string
VerbosityLevel
Enumeration of available verbosity levels.
Options for the algorithm.
mrpt::rtti::CListOfClasses alwaysInsertByClass
A list of observation classes (derived from mrpt::obs::CObservation) which will be always inserted in...
mrpt::system::VerbosityLevel & verbosity_level
bool enableMapUpdating
Enable map updating, default is true.
bool debugForceInsertion
Always insert into map.
TOptions(mrpt::system::VerbosityLevel &verb_level_ref)