9 #ifndef CHierarchicalMapMHPartition_H
10 #define CHierarchicalMapMHPartition_H
30 class CPose3DPDFParticles;
59 const_iterator
begin()
const {
return m_nodes.begin(); }
62 iterator
begin() {
return m_nodes.begin(); }
65 const_iterator
end()
const {
return m_nodes.end(); }
68 iterator
end() {
return m_nodes.end(); }
80 size_t nodeCount()
const;
84 size_t arcCount()
const;
89 CHMHMapNodePtr getFirstNode();
104 CHMHMapNodePtr getNodeByLabel(
const std::string &label,
const THypothesisID &hypothesisID );
109 const CHMHMapNodePtr getNodeByLabel(
const std::string &label,
const THypothesisID &hypothesisID)
const;
124 void saveAreasDiagramForMATLAB(
125 const std::string &filName,
134 void saveAreasDiagramWithEllipsedForMATLAB(
135 const std::string &filName,
138 float uncertaintyExagerationFactor = 1.0f,
139 bool drawArcs =
false,
140 unsigned int numberOfIterationsForOptimalGlobalPoses = 4
148 void saveGlobalMapForMATLAB(
149 const std::string &filName,
157 void findPathBetweenNodes(
162 bool direction=
false)
const;
169 void computeCoordinatesTransformationBetweenNodes(
174 unsigned int particlesCount = 100,
175 float additionalNoiseXYratio = 0.02,
176 float additionalNoisePhiRad =
DEG2RAD(0.1)
182 float computeMatchProbabilityBetweenNodes(
188 unsigned int monteCarloSamplesPose = 300
193 void findArcsBetweenNodes(
201 void findArcsOfTypeBetweenNodes(
205 const std::string &arcType,
211 CHMHMapArcPtr findArcOfTypeBetweenNodes(
215 const std::string &arcType,
216 bool &isInverted )
const;
221 bool areNodesNeightbour(
225 const char *requiredAnnotation=NULL )
const;
232 void computeGloballyConsistentNodeCoordinates(
236 const unsigned int &numberOfIterations = 2)
const;
245 const unsigned int &numberOfIterationsForOptimalGlobalPoses = 5,
246 const bool &showRobotPoseIDs =
true
258 double computeOverlapProbabilityBetweenNodes(
262 const size_t &monteCarloSamples = 100,
263 const float margin_to_substract = 6
std::vector< CHMHMapNode::TNodeID > TNodeIDsList
A type that reprensents a sequence of node IDs.
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
Represents a set of nodes and arcs, posibly only a part of the whole hierarchical, multi-hypothesis map.
Declares a class that represents a Probability Density function (PDF) of a 3D(6D) pose ...
std::map< CHMHMapNode::TNodeID, CHMHMapNodePtr > TNodeList
A map between node IDs and nodes (used in HMT-SLAM).
const Scalar * const_iterator
This namespace contains algorithms for SLAM, localization, map building, representation of robot's ac...
int64_t THypothesisID
An integer number uniquely identifying each of the concurrent hypotheses for the robot topological pa...
const_iterator begin() const
Returns an iterator to the first node in the graph.
A class for storing a list of text lines.
TNodeList::iterator iterator
iterator begin()
Returns an iterator to the first node in the graph.
iterator end()
Returns an iterator to the end of the list of nodes in the graph.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
CHierarchicalMapMHPartition()
The namespace for 3D scene representation and rendering.
This class allows the user to create, load, save, and render 3D scenes using OpenGL primitives...
Declares a class that represents a Probability Density function (PDF) of a 3D pose ...
TNodeList::const_iterator const_iterator
const_iterator end() const
Returns an iterator to the end of the list of nodes in the graph.
TNodeList m_nodes
The internal list of nodes and arcs in the whole hierarchical model.
A class for storing a sequence of arcs (a path).
This base class provides a common printf-like method to send debug information to std::cout...
Declares a class that represents a Probability Density function (PDF) of a 3D pose.
mrpt::utils::TNodeID TNodeID
The type of the IDs of nodes.