49 resMsg->hypothesisID = LMH_ID;
52 newID != newPoseIDs.end(); ++newID)
56 mrpt::utils::LVL_DEBUG,
"[thread_AA] Processing new pose ID: %u\n",
57 static_cast<unsigned>(*newID));
62 mrpt::make_aligned_shared<CPose3DPDFParticles>();
70 LMH->
m_SFs.find(*newID);
83 obj->m_options.AA_options;
92 vector<vector_uint> partitions;
103 resMsg->partitions.resize(partitions.size());
106 for (itDest = resMsg->partitions.begin(), itSrc = partitions.begin();
107 itSrc != partitions.end(); itSrc++, itDest++)
109 itDest->resize(itSrc->size());
112 for (it1 = itSrc->begin(), it2 = itDest->begin(); it1 != itSrc->end();
117 resMsg->dumpToConsole();
124 void CHMTSLAM::TMessageLSLAMfromAA::dumpToConsole()
const 127 "Hypo ID: %i has %i partitions:\n", (
int)hypothesisID,
128 (
int)partitions.size());
131 it != partitions.end(); ++it)
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
THypothesisID m_ID
The unique ID of the hypothesis (Used for accessing mrpt::slam::CHierarchicalMHMap).
void markAllNodesForReconsideration()
Mark all nodes for reconsideration in the next call to "updatePartitions", instead of considering jus...
Classes related to the implementation of Hybrid Metric Topological (HMT) SLAM.
void updatePartitions(std::vector< vector_uint > &partitions)
This method executed only the neccesary part of the partition to take into account the lastest added ...
std::shared_ptr< CPose3DPDFParticles > Ptr
const Scalar * const_iterator
GLsizei GLsizei GLuint * obj
An implementation of Hybrid Metric Topological SLAM (HMT-SLAM).
mrpt::slam::CIncrementalMapPartitioner partitioner
int64_t THypothesisID
An integer number uniquely identifying each of the concurrent hypotheses for the robot topological pa...
std::map< uint32_t, TPoseID > idx2pose
For the poses in "partitioner".
mrpt::utils::safe_ptr< CHMTSLAM > m_parent
For quick access to our parent object.
This namespace contains representation of robot actions and observations.
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximat...
std::string format(const char *fmt,...) MRPT_printf_format_check(1
A std::string version of C sprintf.
mrpt::slam::CIncrementalMapPartitioner::TOptions options
std::shared_ptr< CSensoryFrame > Ptr
This class is used in HMT-SLAM to represent each of the Local Metric Hypotheses (LMHs).
std::mutex lock
CS to access the entire struct.
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
struct mrpt::hmtslam::CLocalMetricHypothesis::TRobotPosesPartitioning m_robotPosesGraph
std::vector< TPoseID > TPoseIDList
std::map< TPoseID, mrpt::obs::CSensoryFrame > m_SFs
The SF gathered at each robot pose.
void printf_vector(const char *fmt, const std::vector< T > &V)
Prints a vector in the format [A,B,C,...] to std::cout, and the fmt string for each vector element...
unsigned int addMapFrame(const mrpt::obs::CSensoryFrame::Ptr &frame, const mrpt::poses::CPosePDF::Ptr &robotPose2D)
std::shared_ptr< TMessageLSLAMfromAA > Ptr
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...