namespace mrpt::hmtslam

Classes related to the implementation of Hybrid Metric Topological (HMT) SLAM.

namespace hmtslam {

// typedefs

typedef std::map<CHMHMapNode::TNodeID, std::shared_ptr<CHMHMapNode>> TNodeList;
typedef mrpt::containers::list_searchable<CHMHMapNode::TNodeID> TNodeIDList;
typedef std::set<CHMHMapNode::TNodeID> TNodeIDSet;
typedef std::pair<CHMHMapNode::TNodeID, CHMHMapNode::TNodeID> TPairNodeIDs;
typedef std::map<TPoseID, mrpt::poses::CPose3D> TMapPoseID2Pose3D;
typedef int64_t THypothesisID;
typedef uint64_t TPoseID;
typedef std::pair<TPoseID, TPoseID> TPairPoseIDs;
typedef std::vector<TPoseID> TPoseIDList;
typedef std::set<TPoseID> TPoseIDSet;

// structs

struct TPoseInfo;
struct TPropertyValueIDTriplet;

// classes

class CHMHMapArc;
class CHMHMapNode;
class CHierarchicalMHMap;
class CHierarchicalMapMHPartition;
class CLSLAMAlgorithmBase;
class CLSLAMParticleData;
class CLocalMetricHypothesis;
class CMHPropertiesValuesList;
class CPropertiesValuesList;
class CRobotPosesGraph;
class CTopLCDetectorBase;
class CTopLCDetector_FabMap;
class CTopLCDetector_GridMatching;
class TArcList;
class THypothesisIDSet;

// global functions

void registerAllClasses_mrpt_hmtslam();

} // namespace hmtslam


typedef std::map<CHMHMapNode::TNodeID, std::shared_ptr<CHMHMapNode>> TNodeList

A map between node IDs and nodes (used in HMT-SLAM).

See also:


typedef int64_t THypothesisID

An integer number uniquely identifying each of the concurrent hypotheses for the robot topological path (& possibly local metric clusters) in HMT-SLAM.

The number 0 has the special meaning of “that part of the map/robot path in which all hypotheses agree”. They can be generated from CHMTSLAM::generateHypothesisID()

typedef uint64_t TPoseID

An integer number uniquely identifying each robot pose stored in HMT-SLAM.

They can be generated from CHMTSLAM::generatePoseID()