<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>The MRPT project: mrpt::hmtslam::CLocalMetricHypothesis Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> > <b>C++ reference</b> </div> <div align="right"> <a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a> </div> <!-- Generated by Doxygen 1.7.2 --> <script type="text/javascript"><!-- var searchBox = new SearchBox("searchBox", "search",false,'Search'); --></script> <div class="navigation" id="top"> <div class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li id="searchli"> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <form id="FSearchBox" action="search.php" method="get"> <img id="MSearchSelect" src="search/mag.png" alt=""/> <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"/> </form> </span><span class="right"></span> </div> </li> </ul> </div> <div class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"> <ul> <li><a class="el" href="namespacemrpt.html">mrpt</a> </li> <li><a class="el" href="namespacemrpt_1_1hmtslam.html">hmtslam</a> </li> <li><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html">CLocalMetricHypothesis</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-attribs">Public Attributes</a> | <a href="#pro-attribs">Protected Attributes</a> | <a href="#friends">Friends</a> </div> <div class="headertitle"> <h1>mrpt::hmtslam::CLocalMetricHypothesis Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="mrpt::hmtslam::CLocalMetricHypothesis" --><!-- doxytag: inherits="mrpt::bayes::CParticleFilterCapable,CParticleFilterData< CLSLAMParticleData >,mrpt::utils::CSerializable" --><hr/><a name="_details"></a><h2>Detailed Description</h2> <p>This class is used in HMT-SLAM to represent each of the Local Metric Hypotheses (LMHs). </p> <p>It has a set of particles representing the robot path in nearby poses. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hmtslam_1_1_c_h_m_t_s_l_a_m.html" title="An implementation of Hybrid Metric Topological SLAM (HMT-SLAM).">CHMTSLAM</a>, <a class="el" href="classmrpt_1_1hmtslam_1_1_c_l_s_l_a_m___r_b_p_f__2_d_l_a_s_e_r.html" title="Implements a 2D local SLAM method based on a RBPF over an occupancy grid map.">CLSLAM_RBPF_2DLASER</a> </dd></dl> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00092">92</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> <p><code>#include <<a class="el" href="_c_local_metric_hypothesis_8h_source.html">mrpt/hmtslam/CLocalMetricHypothesis.h</a>></code></p> <!-- startSectionHeader --><div class="dynheader"> Inheritance diagram for mrpt::hmtslam::CLocalMetricHypothesis:<!-- endSectionHeader --></div> <!-- startSectionSummary --><!-- endSectionSummary --><!-- startSectionContent --><div class="dyncontent"> <div class="center"><img src="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis__inherit__graph.png" border="0" usemap="#mrpt_1_1hmtslam_1_1_c_local_metric_hypothesis_inherit__map" alt="Inheritance graph"/></div> <map name="mrpt_1_1hmtslam_1_1_c_local_metric_hypothesis_inherit__map" id="mrpt_1_1hmtslam_1_1_c_local_metric_hypothesis_inherit__map"> </map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center><!-- endSectionContent --></div> <p><a href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Classes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis_1_1_t_robot_poses_partitioning.html">TRobotPosesPartitioning</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Used by AA thread. <a href="structmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis_1_1_t_robot_poses_partitioning.html#_details">More...</a><br/></td></tr> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a2bbdca2d89a2fb8af1653bd7329a47b9">CLocalMetricHypothesis</a> (<a class="el" href="classmrpt_1_1hmtslam_1_1_c_h_m_t_s_l_a_m.html">CHMTSLAM</a> *parent=NULL)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor (Default param only used from STL classes) <a href="#a2bbdca2d89a2fb8af1653bd7329a47b9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a86511a658f5bee0d6f691d587f88f28d">~CLocalMetricHypothesis</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#a86511a658f5bee0d6f691d587f88f28d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#acc0d025987f9c66caad5d68000f1eae9">getAs3DScene</a> (<a class="el" href="structmrpt_1_1opengl_1_1_c_set_of_objects_ptr.html">mrpt::opengl::CSetOfObjectsPtr</a> &objs) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a 3D representation of the the current robot pose, all the poses in the auxiliary graph, and each of the areas they belong to. <a href="#acc0d025987f9c66caad5d68000f1eae9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a900ef425bec6c5c83e76b966e91791e4">getMeans</a> (std::map< <a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> > &outList) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the mean of each robot pose in this LMH, as computed from the set of particles. <a href="#a900ef425bec6c5c83e76b966e91791e4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a4ba3c721e2267263ffdc71fc135eb51c">getPathParticles</a> (std::map< <a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f_particles.html">CPose3DPDFParticles</a> > &outList) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the mean and covariance of each robot pose in this LMH, as computed from the set of particles. <a href="#a4ba3c721e2267263ffdc71fc135eb51c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#afa8b95e48dd493f10d7be8bfe15b8237">getPoseParticles</a> (const <a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a> &poseID, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f_particles.html">CPose3DPDFParticles</a> &outPDF) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the mean and covariance of each robot pose in this LMH, as computed from the set of particles. <a href="#afa8b95e48dd493f10d7be8bfe15b8237"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#ab7bb93d7896dae88dfb3bce6583a8cda">getRelativePose</a> (const <a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a> &reference, const <a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a> &pose, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f_particles.html">CPose3DPDFParticles</a> &outPDF) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the pose PDF of some pose relative to some other pose ID (both must be part of the the LMH). <a href="#ab7bb93d7896dae88dfb3bce6583a8cda"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a140ca3c2a9ed35ae2c309a8048967320">dumpAsText</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_string_list.html">utils::CStringList</a> &st) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Describes the LMH in text. <a href="#a140ca3c2a9ed35ae2c309a8048967320"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#acba2fa4b741ec7992a9b6a99e821ff2c">changeCoordinateOrigin</a> (const <a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a> &newOrigin)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Change all coordinates to set a given robot pose as the new coordinate origin, and rebuild metric maps and change coords in the partitioning subsystem as well. <a href="#acba2fa4b741ec7992a9b6a99e821ff2c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a22552cd4b0cb997f5c49db70747270d4">rebuildMetricMaps</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Rebuild the metric maps of all particles from the observations and their estimated poses. <a href="#a22552cd4b0cb997f5c49db70747270d4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a606853a7af9972034844b09ac34823ec">clearRobotPoses</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Rebuild the auxiliary metric maps in "m_robotPosesGraph" from the observations "m_SFs" and their estimated poses. <a href="#a606853a7af9972034844b09ac34823ec"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a46e638e17923e4edd02c82032d928a1f">getCurrentPose</a> (const size_t &particleIdx) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the i'th particle hypothesis for the current robot pose. <a href="#a46e638e17923e4edd02c82032d928a1f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a1e6d76874e063f203e15e37c1c1181d4">getCurrentPose</a> (const size_t &particleIdx)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the i'th particle hypothesis for the current robot pose. <a href="#a1e6d76874e063f203e15e37c1c1181d4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a89cceed13077158b256d7e466dace4b4">removeAreaFromLMH</a> (const <a class="el" href="classmrpt_1_1hmtslam_1_1_c_h_m_h_map_node.html#a4320fd5748b07f6fdb6dd1bdc5b3920e">CHMHMapNode::TNodeID</a> areaID)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Removes a given area from the LMH:</p> <ul> <li>The corresponding node in the HMT map is updated with the robot poses & SFs in the LMH. </li> </ul> <a href="#a89cceed13077158b256d7e466dace4b4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#ac267ba60aa7a869d06c632a2a0550677">updateAreaFromLMH</a> (const <a class="el" href="classmrpt_1_1hmtslam_1_1_c_h_m_h_map_node.html#a4320fd5748b07f6fdb6dd1bdc5b3920e">CHMHMapNode::TNodeID</a> areaID, bool eraseSFsFromLMH=false)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The corresponding node in the HMT map is updated with the robot poses & SFs in the LMH: the poses are referenced to the area's reference poseID, such as that reference is at the origin. <a href="#ac267ba60aa7a869d06c632a2a0550677"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pub-attribs"></a> Public Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1synch_1_1_c_critical_section.html">synch::CCriticalSection</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a3fca93101fbbd36f8542deb960231f53">m_lock</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Critical section for threads signaling they are working with the LMH. <a href="#a3fca93101fbbd36f8542deb960231f53"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacemrpt_1_1hmtslam.html#a6a8c7a5cb874400f4df9d1fd6b6ff9ee">THypothesisID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a559c9d5b9fcc9325ecd95f722fbe682f">m_ID</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The unique ID of the hypothesis (Used for accessing mrpt::slam::CHierarchicalMHMap). <a href="#a559c9d5b9fcc9325ecd95f722fbe682f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1utils_1_1safe__ptr.html">safe_ptr</a>< <a class="el" href="classmrpt_1_1hmtslam_1_1_c_h_m_t_s_l_a_m.html">CHMTSLAM</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#acb6413f6bc48d29770cc179eab5ee0a3">m_parent</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">For quick access to our parent object. <a href="#acb6413f6bc48d29770cc179eab5ee0a3"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#ae2172d3ffdfeeefe6183f6dca598f960">m_currentRobotPose</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The current robot pose (its global unique ID) for this hypothesis. <a href="#ae2172d3ffdfeeefe6183f6dca598f960"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacemrpt_1_1hmtslam.html#a5bcc3f9cba9de3b8239a394d63c3ce66">TNodeIDSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a7bda1e6774884134f9b34d220eccd5df">m_neighbors</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The list of all areas sourronding the current one (this includes the current area itself). <a href="#a7bda1e6774884134f9b34d220eccd5df"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::map< <a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a>, <br class="typebreak"/> <a class="el" href="classmrpt_1_1hmtslam_1_1_c_h_m_h_map_node.html#a4320fd5748b07f6fdb6dd1bdc5b3920e">CHMHMapNode::TNodeID</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#ad7adc8d8a5e7a04334a50558b051aa15">m_nodeIDmemberships</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The hybrid map node membership for each robot pose. <a href="#ad7adc8d8a5e7a04334a50558b051aa15"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::map< <a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a>, <a class="el" href="classmrpt_1_1slam_1_1_c_sensory_frame.html">CSensoryFrame</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a9a921aef54b49bab62dc18e20913f44e">m_SFs</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The SF gathered at each robot pose. <a href="#a9a921aef54b49bab62dc18e20913f44e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacemrpt_1_1hmtslam.html#aab03d6a98830912eb1b9397f12a1adbc">TPoseIDList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#af701aeb4da0c4c13ae8e288e92389ccf">m_posesPendingAddPartitioner</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The list of poseIDs waiting to be added to the graph partitioner, what happens in the LSLAM thread main loop. <a href="#af701aeb4da0c4c13ae8e288e92389ccf"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1utils_1_1list__searchable.html">TNodeIDList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a1baff49d6df7e31ad47308f9d4dcf411">m_areasPendingTBI</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The list of area IDs waiting to be processed by the TBI (topological bayesian inference) engines to search for potential loop-closures. Set in <a class="el" href="classmrpt_1_1hmtslam_1_1_c_h_m_t_s_l_a_m.html#a162ff392270839bc8c37a771308ac820" title="No critical section locks are assumed at the entrance of this method.">CHMTSLAM::LSLAM_process_message_from_AA</a>, read in. <a href="#a1baff49d6df7e31ad47308f9d4dcf411"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a3b7c38915660b84a3b3de6a80b5b4d97">m_log_w</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Log-weight of this hypothesis. <a href="#a3b7c38915660b84a3b3de6a80b5b4d97"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::vector< std::map< <a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a>, <br class="typebreak"/> double > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#adcde7731917b103e6e4b460c1627b215">m_log_w_metric_history</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The historic log-weights of the metric observations inserted in this LMH, for each particle. <a href="#adcde7731917b103e6e4b460c1627b215"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1slam_1_1_c_action_robot_movement2_d.html">CActionRobotMovement2D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a1683692cc38d5b813b5dcf35aabecf3d">m_accumRobotMovement</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Used in <a class="el" href="classmrpt_1_1hmtslam_1_1_c_l_s_l_a_m___r_b_p_f__2_d_l_a_s_e_r.html" title="Implements a 2D local SLAM method based on a RBPF over an occupancy grid map.">CLSLAM_RBPF_2DLASER</a>. <a href="#a1683692cc38d5b813b5dcf35aabecf3d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a8ed7c3c48ce94c1310a19a59adde5b38">m_accumRobotMovementIsValid</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Used in <a class="el" href="classmrpt_1_1hmtslam_1_1_c_l_s_l_a_m___r_b_p_f__2_d_l_a_s_e_r.html" title="Implements a 2D local SLAM method based on a RBPF over an occupancy grid map.">CLSLAM_RBPF_2DLASER</a>. <a href="#a8ed7c3c48ce94c1310a19a59adde5b38"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct <br class="typebreak"/> <a class="el" href="structmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis_1_1_t_robot_poses_partitioning.html">mrpt::hmtslam::CLocalMetricHypothesis::TRobotPosesPartitioning</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a3f3981f549cb1cef110fc034bd3bea8f">m_robotPosesGraph</a></td></tr> <tr><td colspan="2"><h2><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr><td colspan="2"><div class="groupHeader">Virtual methods for Particle Filter implementation (just a wrapper interface, actually implemented in CHMTSLAM::m_LSLAM_method)</div></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a78b180315cc2053366ffc323d70c47d3">prediction_and_update_pfAuxiliaryPFOptimal</a> (const <a class="el" href="classmrpt_1_1slam_1_1_c_action_collection.html">mrpt::slam::CActionCollection</a> *action, const <a class="el" href="classmrpt_1_1slam_1_1_c_sensory_frame.html">mrpt::slam::CSensoryFrame</a> *observation, const <a class="el" href="structmrpt_1_1bayes_1_1_c_particle_filter_1_1_t_particle_filter_options.html">bayes::CParticleFilter::TParticleFilterOptions</a> &PF_options)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The PF algorithm implementation. <a href="#a78b180315cc2053366ffc323d70c47d3"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a0ff4807b7f76022508be551a47fdfb4a">prediction_and_update_pfOptimalProposal</a> (const <a class="el" href="classmrpt_1_1slam_1_1_c_action_collection.html">mrpt::slam::CActionCollection</a> *action, const <a class="el" href="classmrpt_1_1slam_1_1_c_sensory_frame.html">mrpt::slam::CSensoryFrame</a> *observation, const <a class="el" href="structmrpt_1_1bayes_1_1_c_particle_filter_1_1_t_particle_filter_options.html">bayes::CParticleFilter::TParticleFilterOptions</a> &PF_options)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The PF algorithm implementation. <a href="#a0ff4807b7f76022508be551a47fdfb4a"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1dynamicsize__vector.html">vector_double</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#abc11654124437b1de2c11f11b6d4de42">m_pfAuxiliaryPFOptimal_estimatedProb</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Auxiliary variable used in the "pfAuxiliaryPFOptimal" algorithm. <a href="#abc11654124437b1de2c11f11b6d4de42"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::vector< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a8fabfc4450cff62dfe7a46394238dac2">m_maxLikelihood</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Auxiliary variable used in the "pfAuxiliaryPFOptimal" algorithm. <a href="#a8fabfc4450cff62dfe7a46394238dac2"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::vector< CPose2D, <br class="typebreak"/> Eigen::aligned_allocator<br class="typebreak"/> < CPose2D > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#adb3d4f2b5e1ab97d40b9bad40e9a657f">m_movementDraws</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Auxiliary variable used in the "pfAuxiliaryPFOptimal" algorithm. <a href="#adb3d4f2b5e1ab97d40b9bad40e9a657f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#adf3b8099493296b90d5d8e7ffec620da">m_movementDrawsIdx</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Auxiliary variable used in the "pfAuxiliaryPFOptimal" algorithm. <a href="#adf3b8099493296b90d5d8e7ffec620da"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacemrpt_1_1poses.html#ab321f17adba329f3e24d41d533408739">StdVector_CPose2D</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#aed755bb8891d2a1dcd96e0b2a17e7db0">m_movementDrawMaximumLikelihood</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Auxiliary variable used in the "pfAuxiliaryPFOptimal" algorithm. <a href="#aed755bb8891d2a1dcd96e0b2a17e7db0"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="friends"></a> Friends</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class HMTSLAM_IMPEXP </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#ac34a721ee598515baa4048b339f41013">CLSLAM_RBPF_2DLASER</a></td></tr> <tr><td colspan="2"><h2><a name="member-group"></a> RTTI stuff</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis_ptr.html">CLocalMetricHypothesisPtr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a190437d4041db42984c49394686e827d">SmartPtr</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1utils_1_1_c_l_a_s_s_i_n_i_t.html">mrpt::utils::CLASSINIT</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#aec8abd058803e0bf4f3298a4412981f2">_init_CLocalMetricHypothesis</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a11ea61f54e94e408b5279ea8a785b3f4">classCLocalMetricHypothesis</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/> <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a400f9847442c0e95615c9c0382d7d606">classinfo</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static const <br class="typebreak"/> <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#aef3febbb24f0a99281901f025fad1682">_GetBaseClass</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual const <br class="typebreak"/> <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#ab0a19d848da91ea2ce401e6436f21862">GetRuntimeClass</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns information about the class of an object in runtime. <a href="#ab0a19d848da91ea2ce401e6436f21862"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#ac78d9a44f581338715379d0cd17e2fd1">duplicate</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a copy of the object, indepently of its class. <a href="#ac78d9a44f581338715379d0cd17e2fd1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a7b4ffa0a882471e006c54011c8a67862">CreateObject</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis_ptr.html">CLocalMetricHypothesisPtr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a1d60ff6c2b9132127607d4ff0290f167">Create</a> ()</td></tr> </table> <hr/><h2>Member Typedef Documentation</h2> <a class="anchor" id="a190437d4041db42984c49394686e827d"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::SmartPtr" ref="a190437d4041db42984c49394686e827d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="structmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis_ptr.html">CLocalMetricHypothesisPtr</a> <a class="el" href="structmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis_ptr.html">mrpt::hmtslam::CLocalMetricHypothesis::SmartPtr</a></td> </tr> </table> </div> <div class="memdoc"> <p>A typedef for the associated smart pointer </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00099">99</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a2bbdca2d89a2fb8af1653bd7329a47b9"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::CLocalMetricHypothesis" ref="a2bbdca2d89a2fb8af1653bd7329a47b9" args="(CHMTSLAM *parent=NULL)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">mrpt::hmtslam::CLocalMetricHypothesis::CLocalMetricHypothesis </td> <td>(</td> <td class="paramtype"><a class="el" href="classmrpt_1_1hmtslam_1_1_c_h_m_t_s_l_a_m.html">CHMTSLAM</a> * </td> <td class="paramname"> <em>parent</em> = <code>NULL</code> )</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor (Default param only used from STL classes) </p> </div> </div> <a class="anchor" id="a86511a658f5bee0d6f691d587f88f28d"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::~CLocalMetricHypothesis" ref="a86511a658f5bee0d6f691d587f88f28d" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">mrpt::hmtslam::CLocalMetricHypothesis::~CLocalMetricHypothesis </td> <td>(</td> <td class="paramname"> )</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Destructor. </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="aef3febbb24f0a99281901f025fad1682"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::_GetBaseClass" ref="aef3febbb24f0a99281901f025fad1682" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>* mrpt::hmtslam::CLocalMetricHypothesis::_GetBaseClass </td> <td>(</td> <td class="paramname"> )</td> <td><code> [static, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Reimplemented from <a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a471a2d4e8bf14cdc749d43ffb8066a12">mrpt::utils::CSerializable</a>.</p> </div> </div> <a class="anchor" id="acba2fa4b741ec7992a9b6a99e821ff2c"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::changeCoordinateOrigin" ref="acba2fa4b741ec7992a9b6a99e821ff2c" args="(const TPoseID &newOrigin)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mrpt::hmtslam::CLocalMetricHypothesis::changeCoordinateOrigin </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a> & </td> <td class="paramname"> <em>newOrigin</em> )</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Change all coordinates to set a given robot pose as the new coordinate origin, and rebuild metric maps and change coords in the partitioning subsystem as well. </p> </div> </div> <a class="anchor" id="a606853a7af9972034844b09ac34823ec"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::clearRobotPoses" ref="a606853a7af9972034844b09ac34823ec" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mrpt::hmtslam::CLocalMetricHypothesis::clearRobotPoses </td> <td>(</td> <td class="paramname"> )</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Rebuild the auxiliary metric maps in "m_robotPosesGraph" from the observations "m_SFs" and their estimated poses. </p> <p>Sets the number of particles to the initial number according to the PF options, and initialize them with no robot poses & empty metric maps. </p> </div> </div> <a class="anchor" id="a1d60ff6c2b9132127607d4ff0290f167"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::Create" ref="a1d60ff6c2b9132127607d4ff0290f167" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="structmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis_ptr.html">CLocalMetricHypothesisPtr</a> mrpt::hmtslam::CLocalMetricHypothesis::Create </td> <td>(</td> <td class="paramname"> )</td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a7b4ffa0a882471e006c54011c8a67862"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::CreateObject" ref="a7b4ffa0a882471e006c54011c8a67862" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a>* mrpt::hmtslam::CLocalMetricHypothesis::CreateObject </td> <td>(</td> <td class="paramname"> )</td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a140ca3c2a9ed35ae2c309a8048967320"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::dumpAsText" ref="a140ca3c2a9ed35ae2c309a8048967320" args="(utils::CStringList &st) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mrpt::hmtslam::CLocalMetricHypothesis::dumpAsText </td> <td>(</td> <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_string_list.html">utils::CStringList</a> & </td> <td class="paramname"> <em>st</em> )</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Describes the LMH in text. </p> </div> </div> <a class="anchor" id="ac78d9a44f581338715379d0cd17e2fd1"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::duplicate" ref="ac78d9a44f581338715379d0cd17e2fd1" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classmrpt_1_1utils_1_1_c_object.html">mrpt::utils::CObject</a>* mrpt::hmtslam::CLocalMetricHypothesis::duplicate </td> <td>(</td> <td class="paramname"> )</td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns a copy of the object, indepently of its class. </p> <p>Implements <a class="el" href="classmrpt_1_1utils_1_1_c_object.html#aa1070e173c5f7e307b09c53f1fd256e2">mrpt::utils::CObject</a>.</p> </div> </div> <a class="anchor" id="acc0d025987f9c66caad5d68000f1eae9"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::getAs3DScene" ref="acc0d025987f9c66caad5d68000f1eae9" args="(mrpt::opengl::CSetOfObjectsPtr &objs) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mrpt::hmtslam::CLocalMetricHypothesis::getAs3DScene </td> <td>(</td> <td class="paramtype"><a class="el" href="structmrpt_1_1opengl_1_1_c_set_of_objects_ptr.html">mrpt::opengl::CSetOfObjectsPtr</a> & </td> <td class="paramname"> <em>objs</em> )</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns a 3D representation of the the current robot pose, all the poses in the auxiliary graph, and each of the areas they belong to. </p> <p>The metric maps are *not* included here for convenience, call m_metricMaps.getAs3DScene(). The previous contents of "objs" will be discarded </p> </div> </div> <a class="anchor" id="a1e6d76874e063f203e15e37c1c1181d4"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::getCurrentPose" ref="a1e6d76874e063f203e15e37c1c1181d4" args="(const size_t &particleIdx)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a>* mrpt::hmtslam::CLocalMetricHypothesis::getCurrentPose </td> <td>(</td> <td class="paramtype">const size_t & </td> <td class="paramname"> <em>particleIdx</em> )</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the i'th particle hypothesis for the current robot pose. </p> </div> </div> <a class="anchor" id="a46e638e17923e4edd02c82032d928a1f"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::getCurrentPose" ref="a46e638e17923e4edd02c82032d928a1f" args="(const size_t &particleIdx) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a>* mrpt::hmtslam::CLocalMetricHypothesis::getCurrentPose </td> <td>(</td> <td class="paramtype">const size_t & </td> <td class="paramname"> <em>particleIdx</em> )</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the i'th particle hypothesis for the current robot pose. </p> </div> </div> <a class="anchor" id="a900ef425bec6c5c83e76b966e91791e4"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::getMeans" ref="a900ef425bec6c5c83e76b966e91791e4" args="(std::map< TPoseID, CPose3D > &outList) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mrpt::hmtslam::CLocalMetricHypothesis::getMeans </td> <td>(</td> <td class="paramtype">std::map< <a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> > & </td> <td class="paramname"> <em>outList</em> )</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the mean of each robot pose in this LMH, as computed from the set of particles. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a4ba3c721e2267263ffdc71fc135eb51c" title="Returns the mean and covariance of each robot pose in this LMH, as computed from the set of particles...">getPathParticles</a>, <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#ab7bb93d7896dae88dfb3bce6583a8cda" title="Returns the pose PDF of some pose relative to some other pose ID (both must be part of the the LMH)...">getRelativePose</a> </dd></dl> </div> </div> <a class="anchor" id="a4ba3c721e2267263ffdc71fc135eb51c"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::getPathParticles" ref="a4ba3c721e2267263ffdc71fc135eb51c" args="(std::map< TPoseID, CPose3DPDFParticles > &outList) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mrpt::hmtslam::CLocalMetricHypothesis::getPathParticles </td> <td>(</td> <td class="paramtype">std::map< <a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a>, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f_particles.html">CPose3DPDFParticles</a> > & </td> <td class="paramname"> <em>outList</em> )</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the mean and covariance of each robot pose in this LMH, as computed from the set of particles. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a900ef425bec6c5c83e76b966e91791e4" title="Returns the mean of each robot pose in this LMH, as computed from the set of particles.">getMeans</a>, <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#afa8b95e48dd493f10d7be8bfe15b8237" title="Returns the mean and covariance of each robot pose in this LMH, as computed from the set of particles...">getPoseParticles</a> </dd></dl> </div> </div> <a class="anchor" id="afa8b95e48dd493f10d7be8bfe15b8237"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::getPoseParticles" ref="afa8b95e48dd493f10d7be8bfe15b8237" args="(const TPoseID &poseID, CPose3DPDFParticles &outPDF) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mrpt::hmtslam::CLocalMetricHypothesis::getPoseParticles </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a> & </td> <td class="paramname"> <em>poseID</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f_particles.html">CPose3DPDFParticles</a> & </td> <td class="paramname"> <em>outPDF</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the mean and covariance of each robot pose in this LMH, as computed from the set of particles. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a900ef425bec6c5c83e76b966e91791e4" title="Returns the mean of each robot pose in this LMH, as computed from the set of particles.">getMeans</a>, <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a4ba3c721e2267263ffdc71fc135eb51c" title="Returns the mean and covariance of each robot pose in this LMH, as computed from the set of particles...">getPathParticles</a> </dd></dl> </div> </div> <a class="anchor" id="ab7bb93d7896dae88dfb3bce6583a8cda"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::getRelativePose" ref="ab7bb93d7896dae88dfb3bce6583a8cda" args="(const TPoseID &reference, const TPoseID &pose, CPose3DPDFParticles &outPDF) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mrpt::hmtslam::CLocalMetricHypothesis::getRelativePose </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a> & </td> <td class="paramname"> <em>reference</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a> & </td> <td class="paramname"> <em>pose</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f_particles.html">CPose3DPDFParticles</a> & </td> <td class="paramname"> <em>outPDF</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the pose PDF of some pose relative to some other pose ID (both must be part of the the LMH). </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a900ef425bec6c5c83e76b966e91791e4" title="Returns the mean of each robot pose in this LMH, as computed from the set of particles.">getMeans</a>, <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#afa8b95e48dd493f10d7be8bfe15b8237" title="Returns the mean and covariance of each robot pose in this LMH, as computed from the set of particles...">getPoseParticles</a> </dd></dl> </div> </div> <a class="anchor" id="ab0a19d848da91ea2ce401e6436f21862"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::GetRuntimeClass" ref="ab0a19d848da91ea2ce401e6436f21862" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>* mrpt::hmtslam::CLocalMetricHypothesis::GetRuntimeClass </td> <td>(</td> <td class="paramname"> )</td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns information about the class of an object in runtime. </p> <p>Reimplemented from <a class="el" href="classmrpt_1_1utils_1_1_c_serializable.html#a6861b16159daafd1651d6e0d27f39c58">mrpt::utils::CSerializable</a>.</p> </div> </div> <a class="anchor" id="a78b180315cc2053366ffc323d70c47d3"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::prediction_and_update_pfAuxiliaryPFOptimal" ref="a78b180315cc2053366ffc323d70c47d3" args="(const mrpt::slam::CActionCollection *action, const mrpt::slam::CSensoryFrame *observation, const bayes::CParticleFilter::TParticleFilterOptions &PF_options)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mrpt::hmtslam::CLocalMetricHypothesis::prediction_and_update_pfAuxiliaryPFOptimal </td> <td>(</td> <td class="paramtype">const <a class="el" href="classmrpt_1_1slam_1_1_c_action_collection.html">mrpt::slam::CActionCollection</a> * </td> <td class="paramname"> <em>action</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classmrpt_1_1slam_1_1_c_sensory_frame.html">mrpt::slam::CSensoryFrame</a> * </td> <td class="paramname"> <em>observation</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structmrpt_1_1bayes_1_1_c_particle_filter_1_1_t_particle_filter_options.html">bayes::CParticleFilter::TParticleFilterOptions</a> & </td> <td class="paramname"> <em>PF_options</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>The PF algorithm implementation. </p> <p>Reimplemented from <a class="el" href="classmrpt_1_1bayes_1_1_c_particle_filter_capable.html#aeeccd563c344607e4cc96272c9817bd8">mrpt::bayes::CParticleFilterCapable</a>.</p> </div> </div> <a class="anchor" id="a0ff4807b7f76022508be551a47fdfb4a"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::prediction_and_update_pfOptimalProposal" ref="a0ff4807b7f76022508be551a47fdfb4a" args="(const mrpt::slam::CActionCollection *action, const mrpt::slam::CSensoryFrame *observation, const bayes::CParticleFilter::TParticleFilterOptions &PF_options)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mrpt::hmtslam::CLocalMetricHypothesis::prediction_and_update_pfOptimalProposal </td> <td>(</td> <td class="paramtype">const <a class="el" href="classmrpt_1_1slam_1_1_c_action_collection.html">mrpt::slam::CActionCollection</a> * </td> <td class="paramname"> <em>action</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classmrpt_1_1slam_1_1_c_sensory_frame.html">mrpt::slam::CSensoryFrame</a> * </td> <td class="paramname"> <em>observation</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structmrpt_1_1bayes_1_1_c_particle_filter_1_1_t_particle_filter_options.html">bayes::CParticleFilter::TParticleFilterOptions</a> & </td> <td class="paramname"> <em>PF_options</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>The PF algorithm implementation. </p> <p>Reimplemented from <a class="el" href="classmrpt_1_1bayes_1_1_c_particle_filter_capable.html#a0094d5dd370db9a037c67dde87649911">mrpt::bayes::CParticleFilterCapable</a>.</p> </div> </div> <a class="anchor" id="a22552cd4b0cb997f5c49db70747270d4"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::rebuildMetricMaps" ref="a22552cd4b0cb997f5c49db70747270d4" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mrpt::hmtslam::CLocalMetricHypothesis::rebuildMetricMaps </td> <td>(</td> <td class="paramname"> )</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Rebuild the metric maps of all particles from the observations and their estimated poses. </p> </div> </div> <a class="anchor" id="a89cceed13077158b256d7e466dace4b4"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::removeAreaFromLMH" ref="a89cceed13077158b256d7e466dace4b4" args="(const CHMHMapNode::TNodeID areaID)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mrpt::hmtslam::CLocalMetricHypothesis::removeAreaFromLMH </td> <td>(</td> <td class="paramtype">const <a class="el" href="classmrpt_1_1hmtslam_1_1_c_h_m_h_map_node.html#a4320fd5748b07f6fdb6dd1bdc5b3920e">CHMHMapNode::TNodeID</a> </td> <td class="paramname"> <em>areaID</em> )</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Removes a given area from the LMH:</p> <ul> <li>The corresponding node in the HMT map is updated with the robot poses & SFs in the LMH. </li> </ul> </p> <ul> <li>Robot poses belonging to that area are removed from:<ul> <li>the particles.</li> <li>the graph partitioner.</li> <li>the list of SFs.</li> <li>the list m_nodeIDmemberships.</li> </ul> </li> <li>m_neighbors is updated.</li> </ul> <p>The weights of all particles are changed to remove the effects of the removed metric observations.</p> <ul> <li>After calling this the metric maps should be updated.</li> </ul> <p>This method internally calls updateAreaFromLMH </p> </div> </div> <a class="anchor" id="ac267ba60aa7a869d06c632a2a0550677"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::updateAreaFromLMH" ref="ac267ba60aa7a869d06c632a2a0550677" args="(const CHMHMapNode::TNodeID areaID, bool eraseSFsFromLMH=false)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mrpt::hmtslam::CLocalMetricHypothesis::updateAreaFromLMH </td> <td>(</td> <td class="paramtype">const <a class="el" href="classmrpt_1_1hmtslam_1_1_c_h_m_h_map_node.html#a4320fd5748b07f6fdb6dd1bdc5b3920e">CHMHMapNode::TNodeID</a> </td> <td class="paramname"> <em>areaID</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>eraseSFsFromLMH</em> = <code>false</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>The corresponding node in the HMT map is updated with the robot poses & SFs in the LMH: the poses are referenced to the area's reference poseID, such as that reference is at the origin. </p> <p>If eraseSFsFromLMH=true, the sensoryframes are moved rather than copied to the area, and removed from the LMH. </p> <dl class="note"><dt><b>Note:</b></dt><dd>The critical section m_map_cs is locked internally, unlock it before calling this. </dd></dl> </div> </div> <hr/><h2>Friends And Related Function Documentation</h2> <a class="anchor" id="ac34a721ee598515baa4048b339f41013"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::CLSLAM_RBPF_2DLASER" ref="ac34a721ee598515baa4048b339f41013" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">friend class HMTSLAM_IMPEXP <a class="el" href="classmrpt_1_1hmtslam_1_1_c_l_s_l_a_m___r_b_p_f__2_d_l_a_s_e_r.html">CLSLAM_RBPF_2DLASER</a><code> [friend]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00096">96</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="aec8abd058803e0bf4f3298a4412981f2"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::_init_CLocalMetricHypothesis" ref="aec8abd058803e0bf4f3298a4412981f2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structmrpt_1_1utils_1_1_c_l_a_s_s_i_n_i_t.html">mrpt::utils::CLASSINIT</a> <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#aec8abd058803e0bf4f3298a4412981f2">mrpt::hmtslam::CLocalMetricHypothesis::_init_CLocalMetricHypothesis</a><code> [static, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00099">99</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="a11ea61f54e94e408b5279ea8a785b3f4"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::classCLocalMetricHypothesis" ref="a11ea61f54e94e408b5279ea8a785b3f4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a> <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a11ea61f54e94e408b5279ea8a785b3f4">mrpt::hmtslam::CLocalMetricHypothesis::classCLocalMetricHypothesis</a><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00099">99</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="a400f9847442c0e95615c9c0382d7d606"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::classinfo" ref="a400f9847442c0e95615c9c0382d7d606" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html">mrpt::utils::TRuntimeClassId</a>* <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a400f9847442c0e95615c9c0382d7d606">mrpt::hmtslam::CLocalMetricHypothesis::classinfo</a><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00099">99</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="a1683692cc38d5b813b5dcf35aabecf3d"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_accumRobotMovement" ref="a1683692cc38d5b813b5dcf35aabecf3d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classmrpt_1_1slam_1_1_c_action_robot_movement2_d.html">CActionRobotMovement2D</a> <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a1683692cc38d5b813b5dcf35aabecf3d">mrpt::hmtslam::CLocalMetricHypothesis::m_accumRobotMovement</a></td> </tr> </table> </div> <div class="memdoc"> <p>Used in <a class="el" href="classmrpt_1_1hmtslam_1_1_c_l_s_l_a_m___r_b_p_f__2_d_l_a_s_e_r.html" title="Implements a 2D local SLAM method based on a RBPF over an occupancy grid map.">CLSLAM_RBPF_2DLASER</a>. </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00125">125</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="a8ed7c3c48ce94c1310a19a59adde5b38"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_accumRobotMovementIsValid" ref="a8ed7c3c48ce94c1310a19a59adde5b38" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a8ed7c3c48ce94c1310a19a59adde5b38">mrpt::hmtslam::CLocalMetricHypothesis::m_accumRobotMovementIsValid</a></td> </tr> </table> </div> <div class="memdoc"> <p>Used in <a class="el" href="classmrpt_1_1hmtslam_1_1_c_l_s_l_a_m___r_b_p_f__2_d_l_a_s_e_r.html" title="Implements a 2D local SLAM method based on a RBPF over an occupancy grid map.">CLSLAM_RBPF_2DLASER</a>. </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00126">126</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="a1baff49d6df7e31ad47308f9d4dcf411"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_areasPendingTBI" ref="a1baff49d6df7e31ad47308f9d4dcf411" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classmrpt_1_1utils_1_1list__searchable.html">TNodeIDList</a> <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a1baff49d6df7e31ad47308f9d4dcf411">mrpt::hmtslam::CLocalMetricHypothesis::m_areasPendingTBI</a></td> </tr> </table> </div> <div class="memdoc"> <p>The list of area IDs waiting to be processed by the TBI (topological bayesian inference) engines to search for potential loop-closures. Set in <a class="el" href="classmrpt_1_1hmtslam_1_1_c_h_m_t_s_l_a_m.html#a162ff392270839bc8c37a771308ac820" title="No critical section locks are assumed at the entrance of this method.">CHMTSLAM::LSLAM_process_message_from_AA</a>, read in. </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00119">119</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="ae2172d3ffdfeeefe6183f6dca598f960"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_currentRobotPose" ref="ae2172d3ffdfeeefe6183f6dca598f960" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a> <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#ae2172d3ffdfeeefe6183f6dca598f960">mrpt::hmtslam::CLocalMetricHypothesis::m_currentRobotPose</a></td> </tr> </table> </div> <div class="memdoc"> <p>The current robot pose (its global unique ID) for this hypothesis. </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00113">113</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="a559c9d5b9fcc9325ecd95f722fbe682f"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_ID" ref="a559c9d5b9fcc9325ecd95f722fbe682f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="namespacemrpt_1_1hmtslam.html#a6a8c7a5cb874400f4df9d1fd6b6ff9ee">THypothesisID</a> <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a559c9d5b9fcc9325ecd95f722fbe682f">mrpt::hmtslam::CLocalMetricHypothesis::m_ID</a></td> </tr> </table> </div> <div class="memdoc"> <p>The unique ID of the hypothesis (Used for accessing mrpt::slam::CHierarchicalMHMap). </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00111">111</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="a3fca93101fbbd36f8542deb960231f53"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_lock" ref="a3fca93101fbbd36f8542deb960231f53" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classmrpt_1_1synch_1_1_c_critical_section.html">synch::CCriticalSection</a> <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a3fca93101fbbd36f8542deb960231f53">mrpt::hmtslam::CLocalMetricHypothesis::m_lock</a></td> </tr> </table> </div> <div class="memdoc"> <p>Critical section for threads signaling they are working with the LMH. </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00110">110</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="a3b7c38915660b84a3b3de6a80b5b4d97"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_log_w" ref="a3b7c38915660b84a3b3de6a80b5b4d97" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a3b7c38915660b84a3b3de6a80b5b4d97">mrpt::hmtslam::CLocalMetricHypothesis::m_log_w</a></td> </tr> </table> </div> <div class="memdoc"> <p>Log-weight of this hypothesis. </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00121">121</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="adcde7731917b103e6e4b460c1627b215"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_log_w_metric_history" ref="adcde7731917b103e6e4b460c1627b215" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::vector<std::map<<a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a>,double> > <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#adcde7731917b103e6e4b460c1627b215">mrpt::hmtslam::CLocalMetricHypothesis::m_log_w_metric_history</a></td> </tr> </table> </div> <div class="memdoc"> <p>The historic log-weights of the metric observations inserted in this LMH, for each particle. </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00122">122</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="a8fabfc4450cff62dfe7a46394238dac2"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_maxLikelihood" ref="a8fabfc4450cff62dfe7a46394238dac2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::vector<double> <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a8fabfc4450cff62dfe7a46394238dac2">mrpt::hmtslam::CLocalMetricHypothesis::m_maxLikelihood</a><code> [mutable, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Auxiliary variable used in the "pfAuxiliaryPFOptimal" algorithm. </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00243">243</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="aed755bb8891d2a1dcd96e0b2a17e7db0"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_movementDrawMaximumLikelihood" ref="aed755bb8891d2a1dcd96e0b2a17e7db0" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="namespacemrpt_1_1poses.html#ab321f17adba329f3e24d41d533408739">StdVector_CPose2D</a> <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#aed755bb8891d2a1dcd96e0b2a17e7db0">mrpt::hmtslam::CLocalMetricHypothesis::m_movementDrawMaximumLikelihood</a><code> [mutable, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Auxiliary variable used in the "pfAuxiliaryPFOptimal" algorithm. </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00255">255</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="adb3d4f2b5e1ab97d40b9bad40e9a657f"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_movementDraws" ref="adb3d4f2b5e1ab97d40b9bad40e9a657f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::vector<CPose2D,Eigen::aligned_allocator<CPose2D> > <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#adb3d4f2b5e1ab97d40b9bad40e9a657f">mrpt::hmtslam::CLocalMetricHypothesis::m_movementDraws</a><code> [mutable, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Auxiliary variable used in the "pfAuxiliaryPFOptimal" algorithm. </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00247">247</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="adf3b8099493296b90d5d8e7ffec620da"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_movementDrawsIdx" ref="adf3b8099493296b90d5d8e7ffec620da" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#adf3b8099493296b90d5d8e7ffec620da">mrpt::hmtslam::CLocalMetricHypothesis::m_movementDrawsIdx</a><code> [mutable, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Auxiliary variable used in the "pfAuxiliaryPFOptimal" algorithm. </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00251">251</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="a7bda1e6774884134f9b34d220eccd5df"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_neighbors" ref="a7bda1e6774884134f9b34d220eccd5df" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="namespacemrpt_1_1hmtslam.html#a5bcc3f9cba9de3b8239a394d63c3ce66">TNodeIDSet</a> <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a7bda1e6774884134f9b34d220eccd5df">mrpt::hmtslam::CLocalMetricHypothesis::m_neighbors</a></td> </tr> </table> </div> <div class="memdoc"> <p>The list of all areas sourronding the current one (this includes the current area itself). </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00115">115</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="ad7adc8d8a5e7a04334a50558b051aa15"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_nodeIDmemberships" ref="ad7adc8d8a5e7a04334a50558b051aa15" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::map<<a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a>,<a class="el" href="classmrpt_1_1hmtslam_1_1_c_h_m_h_map_node.html#a4320fd5748b07f6fdb6dd1bdc5b3920e">CHMHMapNode::TNodeID</a>> <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#ad7adc8d8a5e7a04334a50558b051aa15">mrpt::hmtslam::CLocalMetricHypothesis::m_nodeIDmemberships</a></td> </tr> </table> </div> <div class="memdoc"> <p>The hybrid map node membership for each robot pose. </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00116">116</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="acb6413f6bc48d29770cc179eab5ee0a3"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_parent" ref="acb6413f6bc48d29770cc179eab5ee0a3" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structmrpt_1_1utils_1_1safe__ptr.html">safe_ptr</a><<a class="el" href="classmrpt_1_1hmtslam_1_1_c_h_m_t_s_l_a_m.html">CHMTSLAM</a>> <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#acb6413f6bc48d29770cc179eab5ee0a3">mrpt::hmtslam::CLocalMetricHypothesis::m_parent</a></td> </tr> </table> </div> <div class="memdoc"> <p>For quick access to our parent object. </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00112">112</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="abc11654124437b1de2c11f11b6d4de42"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_pfAuxiliaryPFOptimal_estimatedProb" ref="abc11654124437b1de2c11f11b6d4de42" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structmrpt_1_1dynamicsize__vector.html">vector_double</a> <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#abc11654124437b1de2c11f11b6d4de42">mrpt::hmtslam::CLocalMetricHypothesis::m_pfAuxiliaryPFOptimal_estimatedProb</a><code> [mutable, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Auxiliary variable used in the "pfAuxiliaryPFOptimal" algorithm. </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00239">239</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="af701aeb4da0c4c13ae8e288e92389ccf"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_posesPendingAddPartitioner" ref="af701aeb4da0c4c13ae8e288e92389ccf" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="namespacemrpt_1_1hmtslam.html#aab03d6a98830912eb1b9397f12a1adbc">TPoseIDList</a> <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#af701aeb4da0c4c13ae8e288e92389ccf">mrpt::hmtslam::CLocalMetricHypothesis::m_posesPendingAddPartitioner</a></td> </tr> </table> </div> <div class="memdoc"> <p>The list of poseIDs waiting to be added to the graph partitioner, what happens in the LSLAM thread main loop. </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00118">118</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> <a class="anchor" id="a3f3981f549cb1cef110fc034bd3bea8f"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_robotPosesGraph" ref="a3f3981f549cb1cef110fc034bd3bea8f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis_1_1_t_robot_poses_partitioning.html">mrpt::hmtslam::CLocalMetricHypothesis::TRobotPosesPartitioning</a> <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a3f3981f549cb1cef110fc034bd3bea8f">mrpt::hmtslam::CLocalMetricHypothesis::m_robotPosesGraph</a></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a9a921aef54b49bab62dc18e20913f44e"></a><!-- doxytag: member="mrpt::hmtslam::CLocalMetricHypothesis::m_SFs" ref="a9a921aef54b49bab62dc18e20913f44e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::map<<a class="el" href="namespacemrpt_1_1hmtslam.html#afc45e3c745da87655acd25af131343bf">TPoseID</a>,<a class="el" href="classmrpt_1_1slam_1_1_c_sensory_frame.html">CSensoryFrame</a>> <a class="el" href="classmrpt_1_1hmtslam_1_1_c_local_metric_hypothesis.html#a9a921aef54b49bab62dc18e20913f44e">mrpt::hmtslam::CLocalMetricHypothesis::m_SFs</a></td> </tr> </table> </div> <div class="memdoc"> <p>The SF gathered at each robot pose. </p> <p>Definition at line <a class="el" href="_c_local_metric_hypothesis_8h_source.html#l00117">117</a> of file <a class="el" href="_c_local_metric_hypothesis_8h_source.html">CLocalMetricHypothesis.h</a>.</p> </div> </div> </div> <br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.2</a> for MRPT 0.9.4 SVN: at Mon Jan 10 22:30:30 UTC 2011</td><td></td> <td width="100"> </td> <td width="150"> </td></tr> </table> </body></html>