Go to the documentation of this file.
34 void CHMTSLAM::perform_TLC(
47 (
unsigned)Ai, (
unsigned)Ae);
57 m_map.getNodeByID(Ai)->m_annotations.getElemental(
110 if (it->second == Ai) it->second = Ae;
124 m_map.getNodeByID(Ai)->getArcs(lstArcs, LMH.
m_ID);
136 m_map.getNodeByID(Ai)->getArcs(lstArcs);
142 m_map.getNodeByID(Ai).reset();
155 const CPose3D AeRefInLMH = AiRef + Apose_ie;
165 const TPoseID poseId = it->first;
171 for (
size_t i = 0; i < pi.
pdf.
size(); i++)
175 LMH.
m_particles[i].d->robotPoses[poseId] = AeRefInLMH +
p;
This class is used in HMT-SLAM to represent each of the Local Metric Hypotheses (LMHs).
THypothesisID m_ID
The unique ID of the hypothesis (Used for accessing mrpt::slam::CHierarchicalMHMap).
Declares a class that represents a Probability Density function (PDF) of a 3D pose .
const Scalar * const_iterator
void updateAreaFromLMH(const CHMHMapNode::TNodeID areaID, bool eraseSFsFromLMH=false)
The corresponding node in the HMT map is updated with the robot poses & SFs in the LMH: the poses are...
void getPoseParticles(const TPoseID &poseID, mrpt::poses::CPose3DPDFParticles &outPDF) const
Returns the mean and covariance of each robot pose in this LMH, as computed from the set of particles...
#define NODE_ANNOTATION_REF_POSEID
size_t size() const
Get the m_particles count (equivalent to "particlesCount")
Information kept for each robot pose used in CRobotPosesGraph.
#define NODE_ANNOTATION_POSES_GRAPH
#define ASSERT_(f)
Defines an assertion mechanism.
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
TPoseIDList m_posesPendingAddPartitioner
The list of poseIDs waiting to be added to the graph partitioner, what happens in the LSLAM thread ma...
struct mrpt::hmtslam::CLocalMetricHypothesis::TRobotPosesPartitioning m_robotPosesGraph
std::map< TPoseID, mrpt::obs::CSensoryFrame > m_SFs
The SF gathered at each robot pose.
Auxiliary class used in mrpt::slam::CLocalMetricHypothesis for HMT-SLAM; this class stores a set of r...
Classes related to the implementation of Hybrid Metric Topological (HMT) SLAM.
std::map< TPoseID, CHMHMapNode::TNodeID > m_nodeIDmemberships
The hybrid map node membership for each robot pose.
mrpt::graphs::TNodeID TNodeID
The type of the IDs of nodes.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
void rebuildMetricMaps()
Rebuild the metric maps of all particles from the observations and their estimated poses.
TNodeIDSet m_neighbors
The list of all areas sourronding the current one (this includes the current area itself).
Declares a class that represents a Probability Density function (PDF) of a 3D pose.
std::mutex lock
CS to access the entire struct.
CParticleList m_particles
The array of particles.
uint64_t TPoseID
An integer number uniquely identifying each robot pose stored in HMT-SLAM.
A class for storing a sequence of arcs (a path).
void getMean(CPose3D &mean_pose) const override
Returns an estimate of the pose, (the mean, or mathematical expectation of the PDF),...
A namespace of pseudo-random numbers generators of diferent distributions.
std::shared_ptr< CRobotPosesGraph > Ptr
mrpt::obs::CSensoryFrame sf
The observations.
CPose3D mean
The mean value.
mrpt::poses::CPose3DPDFParticles pdf
The robot pose PDF.
Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST | |