Go to the documentation of this file.
10 #ifndef CINCREMENTALMAPPARTITIONER_H
11 #define CINCREMENTALMAPPARTITIONER_H
98 unsigned int addMapFrame(
const mrpt::obs::CSensoryFramePtr &frame,
const mrpt::poses::CPosePDFPtr &robotPose2D );
107 unsigned int addMapFrame(
const mrpt::obs::CSensoryFramePtr &frame,
const mrpt::poses::CPose3DPDFPtr &robotPose3D );
134 template <
class MATRIX>
144 return &m_individualFrames;
151 return &m_individualFrames;
168 mrpt::opengl::CSetOfObjectsPtr &objs,
169 const std::map< uint32_t, int64_t > *renameIndexes = NULL
Configuration of the algorithm:
bool forceBisectionOnly
If set to true (default), 1 or 2 clusters will be returned.
void removeSetOfNodes(vector_uint indexesToRemove, bool changeCoordsRef=true)
Remove the stated nodes (0-based indexes) from the internal lists.
unsigned int addMapFrame(const mrpt::obs::CSensoryFramePtr &frame, const mrpt::poses::CPosePDFPtr &robotPose2D)
Add a new frame to the current graph: call this method each time a new observation is added to the ma...
std::vector< uint32_t > vector_uint
void clear()
Initialization: Start of a new map, new internal matrices,...
mrpt::maps::CSimpleMap m_individualFrames
float partitionThreshold
The partition threshold for bisection in range [0,2], default=1.0.
float gridResolution
For the occupancy grid maps of each node, default=0.10.
Declares a class that represents a Probability Density Function (PDF) of a 3D pose (6D actually).
mrpt::math::CMatrixD m_A
Adjacency matrix.
std::vector< vector_uint > m_last_partition
The last partition.
std::deque< mrpt::maps::CMultiMetricMap > m_individualMaps
mrpt::maps::CSimpleMap * getSequenceOfFrames()
Access to the sequence of Sensory Frames.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
virtual ~CIncrementalMapPartitioner()
Destructor:
int minimumNumberElementsEachCluster
If a partition leads to a cluster with less elements than this, it will be rejected even if had a goo...
unsigned int getNodesCount()
It returns the nodes count currently in the internal map/graph.
void loadFromConfigFile(const mrpt::utils::CConfigFileBase &source, const std::string §ion) MRPT_OVERRIDE
This method load the options from a ".ini"-like file or memory-stored string list.
void changeCoordinatesOrigin(const mrpt::poses::CPose3D &newOrigin)
Change the coordinate origin of all stored poses, for consistency with future new poses to enter in t...
float minMahaDistForCorrespondence
Used in the computation of weights, default=2.0.
const mrpt::maps::CSimpleMap * getSequenceOfFrames() const
Read-only access to the sequence of Sensory Frames.
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximat...
const mrpt::math::CMatrixDouble & getAdjacencyMatrix() const
Returns a const ref to the internal adjacency matrix.
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
void dumpToTextStream(mrpt::utils::CStream &out) const MRPT_OVERRIDE
This method should clearly display all the contents of the structure in textual form,...
This class allows loading and storing values and vectors of different types from a configuration text...
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
float minDistForCorrespondence
Used in the computation of weights, default=0.20.
void updatePartitions(std::vector< vector_uint > &partitions)
This method executed only the neccesary part of the partition to take into account the lastest added ...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
bool m_last_last_partition_are_new_ones
This will be true after adding new observations, and before an "updatePartitions" is invoked.
void markAllNodesForReconsideration()
Mark all nodes for reconsideration in the next call to "updatePartitions", instead of considering jus...
The virtual base class which provides a unified interface for all persistent objects in MRPT.
unsigned int addMapFrame(const mrpt::obs::CSensoryFramePtr &frame, const mrpt::poses::CPose3DPDFPtr &robotPose3D)
Add a new frame to the current graph: call this method each time a new observation is added to the ma...
#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...
unsigned int addMapFrame(const mrpt::obs::CSensoryFrame &frame, const mrpt::poses::CPose3DPDF &robotPose3D)
Add a new frame to the current graph: call this method each time a new observation is added to the ma...
This class can be used to make partitions on a map/graph build from observations taken at some poses/...
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
bool useMapMatching
If set to true (default), adjacency matrix is computed from maps matching; otherwise,...
This class stores a sequence of <Probabilistic Pose,SensoryFrame> pairs, thus a "metric map" can be t...
CIncrementalMapPartitioner()
Constructor:
This class is a "CSerializable" wrapper for "CMatrixTemplateNumeric<double>".
std::vector< uint8_t > m_modified_nodes
The list of keyframes to consider in the next update.
void changeCoordinatesOriginPoseIndex(const unsigned &newOriginPose)
Change the coordinate origin of all stored poses, for consistency with future new poses to enter in t...
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
void getAdjacencyMatrix(MATRIX &outMatrix) const
Returns a copy of the internal adjacency matrix.
TOptions()
Sets default values at object creation.
void getAs3DScene(mrpt::opengl::CSetOfObjectsPtr &objs, const std::map< uint32_t, int64_t > *renameIndexes=NULL) const
Returns a 3D representation of the current state: poses & links between them.
Page generated by Doxygen 1.8.20 for MRPT 1.4.0 SVN: at Thu Aug 27 02:40:23 UTC 2020 | | |