Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > e6f1a3debfddb2a6cccaab627266a0ea > files > 4522

mrpt-doc-0.9.0-0.5.fc14.x86_64.rpm

<!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::slam::CMultiMetricMapPDF 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> &gt; <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.6.2-20100208 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</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>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacemrpt.html">mrpt</a>::<a class="el" href="namespacemrpt_1_1slam.html">slam</a>::<a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html">CMultiMetricMapPDF</a>
  </div>
</div>
<div class="contents">
<h1>mrpt::slam::CMultiMetricMapPDF Class Reference</h1><!-- doxytag: class="mrpt::slam::CMultiMetricMapPDF" --><!-- doxytag: inherits="mrpt::utils::CSerializable,CParticleFilterData&lt; CRBPFParticleData &gt;,mrpt::bayes::CParticleFilterCapable,PF_implementation&lt; CRBPFParticleData &gt;" -->
<p>Declares a class that represents a Rao-Blackwellized set of particles for solving the SLAM problem (This class is the base of RBPF-SLAM applications).  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_c_multi_metric_map_p_d_f_8h_source.html">mrpt/slam/CMultiMetricMapPDF.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mrpt::slam::CMultiMetricMapPDF:</div>
<div class="dynsection">
<div class="center"><img src="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f__inherit__graph.png" border="0" usemap="#mrpt_1_1slam_1_1_c_multi_metric_map_p_d_f_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1slam_1_1_c_multi_metric_map_p_d_f_inherit__map" id="mrpt_1_1slam_1_1_c_multi_metric_map_p_d_f_inherit__map">
<area shape="rect" id="node2" href="classmrpt_1_1utils_1_1_c_serializable.html" title="The virtual base class which provides a unified interface for all persistent objects..." alt="" coords="283,5,448,35"/><area shape="rect" id="node4" href="classmrpt_1_1utils_1_1_c_object.html" title="The virtual base class of all MRPT classes with a unified RTTI system." alt="" coords="5,5,141,35"/><area shape="rect" id="node6" href="classmrpt_1_1bayes_1_1_c_particle_filter_data.html" title="mrpt::bayes::CParticleFilterData\&lt; CRBPFParticleData \&gt;" alt="" coords="189,59,541,88"/><area shape="rect" id="node8" href="classmrpt_1_1bayes_1_1_c_particle_filter_capable.html" title="This virtual class defines the interface that any particles based PDF class must..." alt="" coords="251,112,480,141"/><area shape="rect" id="node10" href="classmrpt_1_1slam_1_1_p_f__implementation.html" title="mrpt::slam::PF_implementation\&lt; CRBPFParticleData \&gt;" alt="" coords="192,165,539,195"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for mrpt::slam::CMultiMetricMapPDF:</div>
<div class="dynsection">
<div class="center"><img src="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f__coll__graph.png" border="0" usemap="#mrpt_1_1slam_1_1_c_multi_metric_map_p_d_f_coll__map" alt="Collaboration graph"/></div>
<map name="mrpt_1_1slam_1_1_c_multi_metric_map_p_d_f_coll__map" id="mrpt_1_1slam_1_1_c_multi_metric_map_p_d_f_coll__map">
<area shape="rect" id="node2" href="classmrpt_1_1utils_1_1_c_serializable.html" title="The virtual base class which provides a unified interface for all persistent objects..." alt="" coords="987,941,1152,971"/><area shape="rect" id="node33" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f.html" title="Declares a class that represents a Probability Density Function (PDF) of a 3D pose..." alt="" coords="1591,836,1772,865"/><area shape="rect" id="node54" href="classmrpt_1_1slam_1_1_c_action.html" title="Declares a class for storing a robot action." alt="" coords="1612,615,1751,644"/><area shape="rect" id="node72" href="classmrpt_1_1poses_1_1_c_pose_p_d_f.html" title="Declares a class that represents a probability density function (pdf) of a 2D pose..." alt="" coords="1599,889,1764,919"/><area shape="rect" id="node98" href="classmrpt_1_1slam_1_1_c_simple_map.html" title="This class stores a sequence of &lt;Probabilistic Pose,SensoryFrame&gt; pairs, thus..." alt="" coords="1599,1105,1764,1135"/><area shape="rect" id="node109" href="classmrpt_1_1slam_1_1_c_metric_map.html" title="Declares a virtual base class for all metric maps storage classes." alt="" coords="2259,1000,2421,1029"/><area shape="rect" id="node4" href="classmrpt_1_1utils_1_1_c_object.html" title="The virtual base class of all MRPT classes with a unified RTTI system." alt="" coords="427,960,563,989"/><area shape="rect" id="node6" href="structmrpt_1_1utils_1_1_t_runtime_class_id.html" title="A structure that holds runtime class type information." alt="" coords="7,1008,196,1037"/><area shape="rect" id="node10" href="classmrpt_1_1bayes_1_1_c_particle_filter_data.html" title="mrpt::bayes::CParticleFilterData\&lt; CRBPFParticleData \&gt;" alt="" coords="2549,59,2901,88"/><area shape="rect" id="node49" href="classmrpt_1_1bayes_1_1_c_particle_filter_data.html" title="This template class declares the array of particles and its internal data, managing..." alt="" coords="2219,111,2461,140"/><area shape="rect" id="node14" href="classmrpt_1_1bayes_1_1_c_particle_filter_capable.html" title="This virtual class defines the interface that any particles based PDF class must..." alt="" coords="2225,164,2455,193"/><area shape="rect" id="node29" href="classmrpt_1_1slam_1_1_p_f__implementation.html" title="mrpt::slam::PF_implementation\&lt; CRBPFParticleData \&gt;" alt="" coords="2933,331,3280,360"/><area shape="rect" id="node16" href="structmrpt_1_1bayes_1_1_c_particle_filter_capable_1_1_t_fast_draw_aux_vars.html" title="Auxiliary vectors, see CParticleFilterCapable::prepareFastDrawSample for more information..." alt="" coords="1505,149,1857,179"/><area shape="rect" id="node18" href="structmrpt_1_1mrpt__base__vector.html" title="mrpt::mrpt_base_vector\&lt; uint32_t \&gt;" alt="" coords="955,117,1184,147"/><area shape="rect" id="node20" title="STL class." alt="" coords="417,117,572,147"/><area shape="rect" id="node26" title="STL class." alt="" coords="421,176,568,205"/><area shape="rect" id="node24" href="structmrpt_1_1mrpt__base__vector.html" title="mrpt::mrpt_base_vector\&lt; double \&gt;" alt="" coords="959,183,1180,212"/><area shape="rect" id="node31" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f_gaussian.html" title="Declares a class that represents a Probability Density function (PDF) of a 3D pose..." alt="" coords="2221,624,2459,653"/><area shape="rect" id="node65" href="classmrpt_1_1poses_1_1_c_pose_random_sampler.html" title="An efficient generator of random samples drawn from a given 2D (CPosePDF) or 3D (CPose3DPDF)..." alt="" coords="2223,677,2457,707"/><area shape="rect" id="node36" href="classmrpt_1_1utils_1_1_c_probability_density_function.html" title="mrpt::utils::CProbabilityDensityFunction\&lt; CPose3D, 6 \&gt;" alt="" coords="895,836,1244,865"/><area shape="rect" id="node38" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html" title="mrpt::math::CMatrixFixedNumeric\&lt; double, 6, 6 \&gt;" alt="" coords="1525,723,1837,752"/><area shape="rect" id="node40" href="classmrpt_1_1math_1_1_c_array.html" title="mrpt::math::CArray\&lt; double, NROWS *NCOLS \&gt;" alt="" coords="340,667,649,696"/><area shape="rect" id="node46" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html" title="mrpt::math::CMatrixFixedNumeric\&lt; double, 4, 4 \&gt;" alt="" coords="913,667,1225,696"/><area shape="rect" id="node57" href="classmrpt_1_1math_1_1_c_matrix_fixed_numeric.html" title="mrpt::math::CMatrixFixedNumeric\&lt; double, 3, 3 \&gt;" alt="" coords="1525,508,1837,537"/><area shape="rect" id="node42" href="classmrpt_1_1poses_1_1_c_pose3_d.html" title="A class used to store a 3D pose." alt="" coords="1604,668,1759,697"/><area shape="rect" id="node44" href="classmrpt_1_1poses_1_1_c_pose.html" title="A virtual base class to represent a pose in 2D or 3D." alt="" coords="1000,589,1139,619"/><area shape="rect" id="node62" href="classmrpt_1_1poses_1_1_c_pose2_d.html" title="A class used to store a 2D pose." alt="" coords="1604,561,1759,591"/><area shape="rect" id="node52" href="classmrpt_1_1slam_1_1_c_action_robot_movement2_d.html" title="Represents a probabilistic 2D movement of the robot mobile base." alt="" coords="2215,383,2465,412"/><area shape="rect" id="node60" href="structmrpt_1_1slam_1_1_c_action_robot_movement2_d_1_1_t_motion_model_options.html" title="The parameter to be passed to &quot;computeFromOdometry&quot;." alt="" coords="1488,337,1875,367"/><area shape="rect" id="node81" href="structmrpt_1_1math_1_1_t_pose3_d.html" title="Lightweight 3D pose (three spatial coordinates, plus three angular coordinates)." alt="" coords="1608,203,1755,232"/><area shape="rect" id="node83" href="structmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f_1_1_t_prediction_params.html" title="The struct for passing extra simulation parameters to the prediction/update stage..." alt="" coords="2939,1209,3275,1239"/><area shape="rect" id="node85" href="classmrpt_1_1utils_1_1_c_loadable_options.html" title="This is a virtual base class for sets of options than can be loaded from and/or saved..." alt="" coords="1584,1209,1779,1239"/><area shape="rect" id="node87" href="classmrpt_1_1slam_1_1_c_i_c_p_1_1_t_config_params.html" title="The ICP algorithm configuration data." alt="" coords="2228,1157,2452,1187"/><area shape="rect" id="node90" href="classmrpt_1_1slam_1_1_c_occupancy_grid_map2_d_1_1_t_likelihood_options.html" title="With this struct options are provided to the observation likelihood computation process..." alt="" coords="2164,1261,2516,1291"/><area shape="rect" id="node95" href="classmrpt_1_1slam_1_1_t_k_l_d_params.html" title="Option set for KLD algorithm." alt="" coords="2255,1315,2425,1344"/><area shape="rect" id="node122" href="structmrpt_1_1slam_1_1_c_multi_metric_map_1_1_t_options.html" title="Some options for this class:." alt="" coords="2215,1053,2465,1083"/><area shape="rect" id="node103" href="structmrpt_1_1utils_1_1_c_l_a_s_s_i_n_i_t.html" title="Auxiliary structure used for CObject&#45;based RTTI." alt="" coords="991,1111,1148,1140"/><area shape="rect" id="node107" href="classmrpt_1_1slam_1_1_c_multi_metric_map.html" title="This class stores any customizable set of metric maps." alt="" coords="3012,893,3201,923"/><area shape="rect" id="node112" href="classmrpt_1_1utils_1_1_c_observable.html" title="Inherit from this class for those objects capable of being observed by a CObserver..." alt="" coords="1600,1044,1763,1073"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f_1_1_t_prediction_params.html">TPredictionParams</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The struct for passing extra simulation parameters to the prediction/update stage when running a particle filter.  <a href="structmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f_1_1_t_prediction_params.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a1e5e360d612c96f2d326b1a2755aee73">CMultiMetricMapPDF</a> (const <a class="el" href="structmrpt_1_1bayes_1_1_c_particle_filter_1_1_t_particle_filter_options.html">bayes::CParticleFilter::TParticleFilterOptions</a> &amp;opts=<a class="el" href="structmrpt_1_1bayes_1_1_c_particle_filter_1_1_t_particle_filter_options.html">bayes::CParticleFilter::TParticleFilterOptions</a>(), const <a class="el" href="classmrpt_1_1slam_1_1_t_set_of_metric_map_initializers.html">mrpt::slam::TSetOfMetricMapInitializers</a> *mapsInitializers=NULL, const <a class="el" href="structmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f_1_1_t_prediction_params.html">TPredictionParams</a> *predictionOptions=NULL)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#a1e5e360d612c96f2d326b1a2755aee73"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a3e376b13f0fba2802cbd935ebddeeb7b">~CMultiMetricMapPDF</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#a3e376b13f0fba2802cbd935ebddeeb7b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a21c3bc05d9992efab5d4057c57c92a74">clear</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;initialPose)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear all elements of the maps, and restore all paths to a single starting pose.  <a href="#a21c3bc05d9992efab5d4057c57c92a74"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a29bc8d3b759dbe4eac668db62c80523d">clear</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;initialPose)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear all elements of the maps, and restore all paths to a single starting pose.  <a href="#a29bc8d3b759dbe4eac668db62c80523d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a4e415413988b627291ba135d2cca95ea">getEstimatedPosePDFAtTime</a> (size_t timeStep, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f_particles.html">CPose3DPDFParticles</a> &amp;out_estimation) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the estimate of the robot pose as a particles PDF for the instant of time "timeStep", from 0 to N-1.  <a href="#a4e415413988b627291ba135d2cca95ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a633e8f7f26b3db3b2a71d3c499e3b71e">getEstimatedPosePDF</a> (<a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_p_d_f_particles.html">CPose3DPDFParticles</a> &amp;out_estimation) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current estimate of the robot pose, as a particles PDF.  <a href="#a633e8f7f26b3db3b2a71d3c499e3b71e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map.html">CMultiMetricMap</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a74f58a03e7ef286e9836de0871ca6d0e">getCurrentMetricMapEstimation</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the weighted averaged map based on the current best estimation.  <a href="#a74f58a03e7ef286e9836de0871ca6d0e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map.html">CMultiMetricMap</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a1f8a9100cafd39d418aa19d8e8dc1ca4">getCurrentMostLikelyMetricMap</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to the current most likely map (associated to the most likely particle).  <a href="#a1f8a9100cafd39d418aa19d8e8dc1ca4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#ad6ffa07e3e1a3ac0c8fc9f5d39f9c731">getNumberOfObservationsInSimplemap</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of <a class="el" href="classmrpt_1_1slam_1_1_c_sensory_frame.html" title="Declares a class for storing a &quot;sensory frame&quot;, a set of &quot;observations&quot;...">CSensoryFrame</a> inserted into the internal member SFs.  <a href="#ad6ffa07e3e1a3ac0c8fc9f5d39f9c731"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a80af1ab64b451d57a3581de26e882841">insertObservation</a> (<a class="el" href="classmrpt_1_1slam_1_1_c_sensory_frame.html">CSensoryFrame</a> &amp;sf)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert an observation to the map, at each particle's pose and to each particle's metric map.  <a href="#a80af1ab64b451d57a3581de26e882841"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a411bfe9c6304c9ce04b43fb27079213b">getPath</a> (size_t i, std::deque&lt; <a class="el" href="structmrpt_1_1math_1_1_t_pose3_d.html">math::TPose3D</a> &gt; &amp;out_path) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the path (in absolute coordinate poses) for the i'th particle.  <a href="#a411bfe9c6304c9ce04b43fb27079213b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#af493f29585470183bd8802975c1bf392">getCurrentEntropyOfPaths</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current entropy of paths, computed as the average entropy of poses along the path, where entropy of each pose estimation is computed as the entropy of the gaussian approximation covariance.  <a href="#af493f29585470183bd8802975c1bf392"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a17a82ada6b6d9fa4462087f674042c11">getCurrentJointEntropy</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the joint entropy estimation over paths and maps, acording to "Information Gain-based Exploration Using" by C.  <a href="#a17a82ada6b6d9fa4462087f674042c11"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a216ac5f1f09e468cc7c2dc43af95885a">updateSensoryFrameSequence</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update the poses estimation of the member "SFs" according to the current path belief.  <a href="#a216ac5f1f09e468cc7c2dc43af95885a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#ac214eaec00e6ab35923b7182be6be821">saveCurrentPathEstimationToTextFile</a> (const std::string &amp;fil)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A logging utility: saves the current path estimation for each particle in a text file (a row per particle, each 3-column-entry is a set [x,y,phi], respectively).  <a href="#ac214eaec00e6ab35923b7182be6be821"></a><br/></td></tr>
<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f_1_1_t_prediction_params.html">mrpt::slam::CMultiMetricMapPDF::TPredictionParams</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a0798b136b28e00530b61f713966a8ebf">options</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The struct for passing extra simulation parameters to the prediction/update stage when running a particle filter.  <a href="#a0798b136b28e00530b61f713966a8ebf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#abc7b59753c8bfcaac56d4b2f1b0642fa">newInfoIndex</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An index [0,1] measuring how much information an observation aports to the map (Typ.  <a href="#abc7b59753c8bfcaac56d4b2f1b0642fa"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a5d0030387ffaf9ec50a17be06e477fb9">prediction_and_update_pfStandardProposal</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> &amp;PF_options)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The PF algorithm implementation.  <a href="#a5d0030387ffaf9ec50a17be06e477fb9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#ad4b68096ef09fab2fddac545f2f5cb1a">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> &amp;PF_options)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The PF algorithm implementation.  <a href="#ad4b68096ef09fab2fddac545f2f5cb1a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a51d0abaabb4271a42104d52611efdb3a">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> &amp;PF_options)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The PF algorithm implementation.  <a href="#a51d0abaabb4271a42104d52611efdb3a"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Virtual methods that the PF_implementations assume exist.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp37ba3e62c1fac52db2f7cd78ab44d6be"></a> </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structmrpt_1_1math_1_1_t_pose3_d.html">TPose3D</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a9f25e21c756cecff07d78c8e2ad8c3ac">getLastPose</a> (const size_t i) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a pointer to the last robot pose in the i'th particle (or NULL if it's a path and it's empty).  <a href="#a9f25e21c756cecff07d78c8e2ad8c3ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a685a8f4ae4d660cafa8be3913c3703ed">PF_SLAM_implementation_custom_update_particle_with_new_pose</a> (<a class="el" href="classmrpt_1_1bayes_1_1_c_particle_filter_data.html#ab9fd9df44738bcdc3a36fa34af89bbf2">CParticleDataContent</a> *particleData, const <a class="el" href="structmrpt_1_1math_1_1_t_pose3_d.html">TPose3D</a> &amp;newPose) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a6d9d2f460c3106987cf54e27a8c50456">PF_SLAM_implementation_doWeHaveValidObservations</a> (const <a class="el" href="classmrpt_1_1bayes_1_1_c_particle_filter_data.html#a85b7ff978a09a6819813a9aa019ec448">CParticleList</a> &amp;particles, const <a class="el" href="classmrpt_1_1slam_1_1_c_sensory_frame.html">CSensoryFrame</a> *sf) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a0371055f542e1eebdee2f58df1865f79">PF_SLAM_implementation_skipRobotMovement</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make a specialization if needed, eg.  <a href="#a0371055f542e1eebdee2f58df1865f79"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a847979946f3c5f1f85b03b83a958bd6f">PF_SLAM_computeObservationLikelihoodForParticle</a> (const <a class="el" href="structmrpt_1_1bayes_1_1_c_particle_filter_1_1_t_particle_filter_options.html">CParticleFilter::TParticleFilterOptions</a> &amp;PF_options, const size_t particleIndexForMap, const <a class="el" href="classmrpt_1_1slam_1_1_c_sensory_frame.html">CSensoryFrame</a> &amp;observation, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;x) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluate the observation likelihood for one particle at a given location.  <a href="#a847979946f3c5f1f85b03b83a958bd6f"></a><br/></td></tr>
<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a388552b5e0f0d83be6876a194b03daee">IMPLEMENT_PARTICLE_FILTER_CAPABLE</a> (<a class="el" href="classmrpt_1_1slam_1_1_c_r_b_p_f_particle_data.html">CRBPFParticleData</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a1b5cf6f714c10dd74c1eddf7953093b6">H</a> (float p)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Entropy aux.  <a href="#a1b5cf6f714c10dd74c1eddf7953093b6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a33e6ceaf572369201f5c2fc332d8f4a9">rebuildAverageMap</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rebuild the "expected" grid map.  <a href="#a33e6ceaf572369201f5c2fc332d8f4a9"></a><br/></td></tr>
<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map.html">CMultiMetricMap</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a33a43bfedda3da247bff8843d9def1b8">averageMap</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal buffer for the averaged map.  <a href="#a33a43bfedda3da247bff8843d9def1b8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a964e7eaf8f49bca27283daab7cb3b507">averageMapIsUpdated</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_map.html">CSimpleMap</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a465c224b60cc171b78fe707b0cd65151">SFs</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The SFs and their corresponding pose estimations:.  <a href="#a465c224b60cc171b78fe707b0cd65151"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; uint32_t &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a02868eb23ad1d05fe65e4ae771e7ce26">SF2robotPath</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A mapping between indexes in the SFs to indexes in the robot paths from particles.  <a href="#a02868eb23ad1d05fe65e4ae771e7ce26"></a><br/></td></tr>
<tr><td colspan="2"><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a925d2ed4f5a33eba1a1e213b26ef3868">CMetricMapBuilderRBPF</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Declares a class that represents a Rao-Blackwellized set of particles for solving the SLAM problem (This class is the base of RBPF-SLAM applications). </p>
<p>This class is used internally by the map building algorithm in "mrpt::slam::CMetricMapBuilderRBPF"</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_metric_map_builder_r_b_p_f.html" title="This class implements a Rao-Blackwelized Particle Filter (RBPF) approach to map building...">mrpt::slam::CMetricMapBuilderRBPF</a> </dd></dl>

<p>Definition at line <a class="el" href="_c_multi_metric_map_p_d_f_8h_source.html#l00077">77</a> of file <a class="el" href="_c_multi_metric_map_p_d_f_8h_source.html">CMultiMetricMapPDF.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a1e5e360d612c96f2d326b1a2755aee73"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::CMultiMetricMapPDF" ref="a1e5e360d612c96f2d326b1a2755aee73" args="(const bayes::CParticleFilter::TParticleFilterOptions &amp;opts=bayes::CParticleFilter::TParticleFilterOptions(), const mrpt::slam::TSetOfMetricMapInitializers *mapsInitializers=NULL, const TPredictionParams *predictionOptions=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::slam::CMultiMetricMapPDF::CMultiMetricMapPDF </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> &amp;&nbsp;</td>
          <td class="paramname"> <em>opts</em> = <code><a class="el" href="structmrpt_1_1bayes_1_1_c_particle_filter_1_1_t_particle_filter_options.html">bayes::CParticleFilter::TParticleFilterOptions</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1slam_1_1_t_set_of_metric_map_initializers.html">mrpt::slam::TSetOfMetricMapInitializers</a> *&nbsp;</td>
          <td class="paramname"> <em>mapsInitializers</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f_1_1_t_prediction_params.html">TPredictionParams</a> *&nbsp;</td>
          <td class="paramname"> <em>predictionOptions</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor. </p>

</div>
</div>
<a class="anchor" id="a3e376b13f0fba2802cbd935ebddeeb7b"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::~CMultiMetricMapPDF" ref="a3e376b13f0fba2802cbd935ebddeeb7b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual mrpt::slam::CMultiMetricMapPDF::~CMultiMetricMapPDF </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a29bc8d3b759dbe4eac668db62c80523d"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::clear" ref="a29bc8d3b759dbe4eac668db62c80523d" args="(const CPose3D &amp;initialPose)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CMultiMetricMapPDF::clear </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>initialPose</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clear all elements of the maps, and restore all paths to a single starting pose. </p>

</div>
</div>
<a class="anchor" id="a21c3bc05d9992efab5d4057c57c92a74"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::clear" ref="a21c3bc05d9992efab5d4057c57c92a74" args="(const CPose2D &amp;initialPose)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CMultiMetricMapPDF::clear </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>initialPose</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clear all elements of the maps, and restore all paths to a single starting pose. </p>

</div>
</div>
<a class="anchor" id="af493f29585470183bd8802975c1bf392"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::getCurrentEntropyOfPaths" ref="af493f29585470183bd8802975c1bf392" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::slam::CMultiMetricMapPDF::getCurrentEntropyOfPaths </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the current entropy of paths, computed as the average entropy of poses along the path, where entropy of each pose estimation is computed as the entropy of the gaussian approximation covariance. </p>

</div>
</div>
<a class="anchor" id="a17a82ada6b6d9fa4462087f674042c11"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::getCurrentJointEntropy" ref="a17a82ada6b6d9fa4462087f674042c11" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::slam::CMultiMetricMapPDF::getCurrentJointEntropy </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the joint entropy estimation over paths and maps, acording to "Information Gain-based Exploration Using" by C. </p>
<p>Stachniss, G. Grissetti and W.Burgard. </p>

</div>
</div>
<a class="anchor" id="a74f58a03e7ef286e9836de0871ca6d0e"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::getCurrentMetricMapEstimation" ref="a74f58a03e7ef286e9836de0871ca6d0e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map.html">CMultiMetricMap</a>* mrpt::slam::CMultiMetricMapPDF::getCurrentMetricMapEstimation </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the weighted averaged map based on the current best estimation. </p>
<p>If you need a persistent copy of this object, please use "CSerializable::duplicate" and use the copy. </p>

</div>
</div>
<a class="anchor" id="a1f8a9100cafd39d418aa19d8e8dc1ca4"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::getCurrentMostLikelyMetricMap" ref="a1f8a9100cafd39d418aa19d8e8dc1ca4" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map.html">CMultiMetricMap</a>* mrpt::slam::CMultiMetricMapPDF::getCurrentMostLikelyMetricMap </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a pointer to the current most likely map (associated to the most likely particle). </p>

</div>
</div>
<a class="anchor" id="a633e8f7f26b3db3b2a71d3c499e3b71e"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::getEstimatedPosePDF" ref="a633e8f7f26b3db3b2a71d3c499e3b71e" args="(CPose3DPDFParticles &amp;out_estimation) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CMultiMetricMapPDF::getEstimatedPosePDF </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> &amp;&nbsp;</td>
          <td class="paramname"> <em>out_estimation</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the current estimate of the robot pose, as a particles PDF. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a4e415413988b627291ba135d2cca95ea" title="Returns the estimate of the robot pose as a particles PDF for the instant of time...">getEstimatedPosePDFAtTime</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a4e415413988b627291ba135d2cca95ea"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::getEstimatedPosePDFAtTime" ref="a4e415413988b627291ba135d2cca95ea" args="(size_t timeStep, CPose3DPDFParticles &amp;out_estimation) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CMultiMetricMapPDF::getEstimatedPosePDFAtTime </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>timeStep</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> &amp;&nbsp;</td>
          <td class="paramname"> <em>out_estimation</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the estimate of the robot pose as a particles PDF for the instant of time "timeStep", from 0 to N-1. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a633e8f7f26b3db3b2a71d3c499e3b71e" title="Returns the current estimate of the robot pose, as a particles PDF.">getEstimatedPosePDF</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a9f25e21c756cecff07d78c8e2ad8c3ac"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::getLastPose" ref="a9f25e21c756cecff07d78c8e2ad8c3ac" args="(const size_t i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structmrpt_1_1math_1_1_t_pose3_d.html">TPose3D</a>* mrpt::slam::CMultiMetricMapPDF::getLastPose </td>
          <td>(</td>
          <td class="paramtype">const size_t&nbsp;</td>
          <td class="paramname"> <em>i</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return a pointer to the last robot pose in the i'th particle (or NULL if it's a path and it's empty). </p>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_p_f__implementation.html#ad5a3eac78f6262853a2e825cd6d7b421">mrpt::slam::PF_implementation&lt; CRBPFParticleData &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="ad6ffa07e3e1a3ac0c8fc9f5d39f9c731"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::getNumberOfObservationsInSimplemap" ref="ad6ffa07e3e1a3ac0c8fc9f5d39f9c731" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mrpt::slam::CMultiMetricMapPDF::getNumberOfObservationsInSimplemap </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the number of <a class="el" href="classmrpt_1_1slam_1_1_c_sensory_frame.html" title="Declares a class for storing a &quot;sensory frame&quot;, a set of &quot;observations&quot;...">CSensoryFrame</a> inserted into the internal member SFs. </p>

<p>Definition at line <a class="el" href="_c_multi_metric_map_p_d_f_8h_source.html#l00219">219</a> of file <a class="el" href="_c_multi_metric_map_p_d_f_8h_source.html">CMultiMetricMapPDF.h</a>.</p>

</div>
</div>
<a class="anchor" id="a411bfe9c6304c9ce04b43fb27079213b"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::getPath" ref="a411bfe9c6304c9ce04b43fb27079213b" args="(size_t i, std::deque&lt; math::TPose3D &gt; &amp;out_path) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CMultiMetricMapPDF::getPath </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::deque&lt; <a class="el" href="structmrpt_1_1math_1_1_t_pose3_d.html">math::TPose3D</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>out_path</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the path (in absolute coordinate poses) for the i'th particle. </p>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>On</em>&nbsp;</td><td>index out of bounds </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1b5cf6f714c10dd74c1eddf7953093b6"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::H" ref="a1b5cf6f714c10dd74c1eddf7953093b6" args="(float p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float mrpt::slam::CMultiMetricMapPDF::H </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>p</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Entropy aux. </p>
<p>function </p>

</div>
</div>
<a class="anchor" id="a388552b5e0f0d83be6876a194b03daee"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::IMPLEMENT_PARTICLE_FILTER_CAPABLE" ref="a388552b5e0f0d83be6876a194b03daee" args="(CRBPFParticleData)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::slam::CMultiMetricMapPDF::IMPLEMENT_PARTICLE_FILTER_CAPABLE </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1slam_1_1_c_r_b_p_f_particle_data.html">CRBPFParticleData</a>&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a80af1ab64b451d57a3581de26e882841"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::insertObservation" ref="a80af1ab64b451d57a3581de26e882841" args="(CSensoryFrame &amp;sf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CMultiMetricMapPDF::insertObservation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1slam_1_1_c_sensory_frame.html">CSensoryFrame</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>sf</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Insert an observation to the map, at each particle's pose and to each particle's metric map. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sf</em>&nbsp;</td><td>The SF to be inserted </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a847979946f3c5f1f85b03b83a958bd6f"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::PF_SLAM_computeObservationLikelihoodForParticle" ref="a847979946f3c5f1f85b03b83a958bd6f" args="(const CParticleFilter::TParticleFilterOptions &amp;PF_options, const size_t particleIndexForMap, const CSensoryFrame &amp;observation, const CPose3D &amp;x) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::slam::CMultiMetricMapPDF::PF_SLAM_computeObservationLikelihoodForParticle </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">CParticleFilter::TParticleFilterOptions</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>PF_options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&nbsp;</td>
          <td class="paramname"> <em>particleIndexForMap</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">CSensoryFrame</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>observation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>x</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Evaluate the observation likelihood for one particle at a given location. </p>

<p>Implements <a class="el" href="classmrpt_1_1slam_1_1_p_f__implementation.html#a21301f5b6fb95049be087949feffdbe5">mrpt::slam::PF_implementation&lt; CRBPFParticleData &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a685a8f4ae4d660cafa8be3913c3703ed"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::PF_SLAM_implementation_custom_update_particle_with_new_pose" ref="a685a8f4ae4d660cafa8be3913c3703ed" args="(CParticleDataContent *particleData, const TPose3D &amp;newPose) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CMultiMetricMapPDF::PF_SLAM_implementation_custom_update_particle_with_new_pose </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1bayes_1_1_c_particle_filter_data.html#ab9fd9df44738bcdc3a36fa34af89bbf2">CParticleDataContent</a> *&nbsp;</td>
          <td class="paramname"> <em>particleData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmrpt_1_1math_1_1_t_pose3_d.html">TPose3D</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>newPose</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a6d9d2f460c3106987cf54e27a8c50456"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::PF_SLAM_implementation_doWeHaveValidObservations" ref="a6d9d2f460c3106987cf54e27a8c50456" args="(const CParticleList &amp;particles, const CSensoryFrame *sf) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::slam::CMultiMetricMapPDF::PF_SLAM_implementation_doWeHaveValidObservations </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1bayes_1_1_c_particle_filter_data.html#a85b7ff978a09a6819813a9aa019ec448">CParticleList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>particles</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">CSensoryFrame</a> *&nbsp;</td>
          <td class="paramname"> <em>sf</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0371055f542e1eebdee2f58df1865f79"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::PF_SLAM_implementation_skipRobotMovement" ref="a0371055f542e1eebdee2f58df1865f79" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::slam::CMultiMetricMapPDF::PF_SLAM_implementation_skipRobotMovement </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Make a specialization if needed, eg. </p>
<p>in the first step in SLAM. </p>

<p>Reimplemented from <a class="el" href="classmrpt_1_1slam_1_1_p_f__implementation.html#a9f9b577f55d9c6823b3108fd2263c65b">mrpt::slam::PF_implementation&lt; CRBPFParticleData &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a51d0abaabb4271a42104d52611efdb3a"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::prediction_and_update_pfAuxiliaryPFOptimal" ref="a51d0abaabb4271a42104d52611efdb3a" args="(const mrpt::slam::CActionCollection *action, const mrpt::slam::CSensoryFrame *observation, const bayes::CParticleFilter::TParticleFilterOptions &amp;PF_options)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CMultiMetricMapPDF::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> *&nbsp;</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> *&nbsp;</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> &amp;&nbsp;</td>
          <td class="paramname"> <em>PF_options</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <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="ad4b68096ef09fab2fddac545f2f5cb1a"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::prediction_and_update_pfOptimalProposal" ref="ad4b68096ef09fab2fddac545f2f5cb1a" args="(const mrpt::slam::CActionCollection *action, const mrpt::slam::CSensoryFrame *observation, const bayes::CParticleFilter::TParticleFilterOptions &amp;PF_options)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CMultiMetricMapPDF::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> *&nbsp;</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> *&nbsp;</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> &amp;&nbsp;</td>
          <td class="paramname"> <em>PF_options</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <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="a5d0030387ffaf9ec50a17be06e477fb9"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::prediction_and_update_pfStandardProposal" ref="a5d0030387ffaf9ec50a17be06e477fb9" args="(const mrpt::slam::CActionCollection *action, const mrpt::slam::CSensoryFrame *observation, const bayes::CParticleFilter::TParticleFilterOptions &amp;PF_options)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CMultiMetricMapPDF::prediction_and_update_pfStandardProposal </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1slam_1_1_c_action_collection.html">mrpt::slam::CActionCollection</a> *&nbsp;</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> *&nbsp;</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> &amp;&nbsp;</td>
          <td class="paramname"> <em>PF_options</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <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#a06f7be77f50468af6e58c5514b911447">mrpt::bayes::CParticleFilterCapable</a>.</p>

</div>
</div>
<a class="anchor" id="a33e6ceaf572369201f5c2fc332d8f4a9"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::rebuildAverageMap" ref="a33e6ceaf572369201f5c2fc332d8f4a9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CMultiMetricMapPDF::rebuildAverageMap </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rebuild the "expected" grid map. </p>
<p>Used internally, do not call </p>

</div>
</div>
<a class="anchor" id="ac214eaec00e6ab35923b7182be6be821"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::saveCurrentPathEstimationToTextFile" ref="ac214eaec00e6ab35923b7182be6be821" args="(const std::string &amp;fil)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CMultiMetricMapPDF::saveCurrentPathEstimationToTextFile </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>fil</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A logging utility: saves the current path estimation for each particle in a text file (a row per particle, each 3-column-entry is a set [x,y,phi], respectively). </p>

</div>
</div>
<a class="anchor" id="a216ac5f1f09e468cc7c2dc43af95885a"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::updateSensoryFrameSequence" ref="a216ac5f1f09e468cc7c2dc43af95885a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CMultiMetricMapPDF::updateSensoryFrameSequence </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Update the poses estimation of the member "SFs" according to the current path belief. </p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a925d2ed4f5a33eba1a1e213b26ef3868"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::CMetricMapBuilderRBPF" ref="a925d2ed4f5a33eba1a1e213b26ef3868" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classmrpt_1_1slam_1_1_c_metric_map_builder_r_b_p_f.html">CMetricMapBuilderRBPF</a><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_multi_metric_map_p_d_f_8h_source.html#l00083">83</a> of file <a class="el" href="_c_multi_metric_map_p_d_f_8h_source.html">CMultiMetricMapPDF.h</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a33a43bfedda3da247bff8843d9def1b8"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::averageMap" ref="a33a43bfedda3da247bff8843d9def1b8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map.html">CMultiMetricMap</a> <a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a33a43bfedda3da247bff8843d9def1b8">mrpt::slam::CMultiMetricMapPDF::averageMap</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Internal buffer for the averaged map. </p>

<p>Definition at line <a class="el" href="_c_multi_metric_map_p_d_f_8h_source.html#l00117">117</a> of file <a class="el" href="_c_multi_metric_map_p_d_f_8h_source.html">CMultiMetricMapPDF.h</a>.</p>

</div>
</div>
<a class="anchor" id="a964e7eaf8f49bca27283daab7cb3b507"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::averageMapIsUpdated" ref="a964e7eaf8f49bca27283daab7cb3b507" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a964e7eaf8f49bca27283daab7cb3b507">mrpt::slam::CMultiMetricMapPDF::averageMapIsUpdated</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_multi_metric_map_p_d_f_8h_source.html#l00118">118</a> of file <a class="el" href="_c_multi_metric_map_p_d_f_8h_source.html">CMultiMetricMapPDF.h</a>.</p>

</div>
</div>
<a class="anchor" id="abc7b59753c8bfcaac56d4b2f1b0642fa"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::newInfoIndex" ref="abc7b59753c8bfcaac56d4b2f1b0642fa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#abc7b59753c8bfcaac56d4b2f1b0642fa">mrpt::slam::CMultiMetricMapPDF::newInfoIndex</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>An index [0,1] measuring how much information an observation aports to the map (Typ. </p>
<p>threshold=0.07) </p>

<p>Definition at line <a class="el" href="_c_multi_metric_map_p_d_f_8h_source.html#l00249">249</a> of file <a class="el" href="_c_multi_metric_map_p_d_f_8h_source.html">CMultiMetricMapPDF.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0798b136b28e00530b61f713966a8ebf"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::options" ref="a0798b136b28e00530b61f713966a8ebf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"> <a class="el" href="structmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f_1_1_t_prediction_params.html">mrpt::slam::CMultiMetricMapPDF::TPredictionParams</a>  <a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a0798b136b28e00530b61f713966a8ebf">mrpt::slam::CMultiMetricMapPDF::options</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The struct for passing extra simulation parameters to the prediction/update stage when running a particle filter. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1bayes_1_1_c_particle_filter_capable.html#a0b464ec72adbfc8a9aea3cf4aa6bdf9e" title="Performs the prediction stage of the Particle Filter.">prediction_and_update</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a02868eb23ad1d05fe65e4ae771e7ce26"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::SF2robotPath" ref="a02868eb23ad1d05fe65e4ae771e7ce26" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;uint32_t&gt; <a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a02868eb23ad1d05fe65e4ae771e7ce26">mrpt::slam::CMultiMetricMapPDF::SF2robotPath</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A mapping between indexes in the SFs to indexes in the robot paths from particles. </p>

<p>Definition at line <a class="el" href="_c_multi_metric_map_p_d_f_8h_source.html#l00126">126</a> of file <a class="el" href="_c_multi_metric_map_p_d_f_8h_source.html">CMultiMetricMapPDF.h</a>.</p>

</div>
</div>
<a class="anchor" id="a465c224b60cc171b78fe707b0cd65151"></a><!-- doxytag: member="mrpt::slam::CMultiMetricMapPDF::SFs" ref="a465c224b60cc171b78fe707b0cd65151" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1slam_1_1_c_simple_map.html">CSimpleMap</a> <a class="el" href="classmrpt_1_1slam_1_1_c_multi_metric_map_p_d_f.html#a465c224b60cc171b78fe707b0cd65151">mrpt::slam::CMultiMetricMapPDF::SFs</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The SFs and their corresponding pose estimations:. </p>

<p>Definition at line <a class="el" href="_c_multi_metric_map_p_d_f_8h_source.html#l00122">122</a> of file <a class="el" href="_c_multi_metric_map_p_d_f_8h_source.html">CMultiMetricMapPDF.h</a>.</p>

</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&nbsp;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.6.2-20100208</a> for MRPT 0.9.0 SVN: at Wed Jul 14 12:48:09 UTC 2010</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table> </body></html>