Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 5125

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.i686.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>mrpt::slam::CRejectionSamplingRangeOnlyLocalization 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.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;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>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div 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>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacemrpt.html">mrpt</a>      </li>
      <li class="navelem"><a class="el" href="namespacemrpt_1_1slam.html">slam</a>      </li>
      <li class="navelem"><a class="el" href="classmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization.html">CRejectionSamplingRangeOnlyLocalization</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<div class="title">mrpt::slam::CRejectionSamplingRangeOnlyLocalization Class Reference<div class="ingroups"><a class="el" href="group__mrpt__slam__grp.html">[mrpt-slam]</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="mrpt::slam::CRejectionSamplingRangeOnlyLocalization" --><!-- doxytag: inherits="CRejectionSamplingCapable&lt; poses::CPose2D &gt;" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>An implementation of rejection sampling for generating 2D robot pose from range-only measurements within a landmarks (beacons) map. </p>
<p>Before calling the method "rejectionSampling" to generate the samples, you must call "setParams". It is assumed a planar scenario, where the robot is at a fixed height (default=0). </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1bayes_1_1_c_rejection_sampling_capable.html" title="A base class for implementing rejection sampling in a generic state space.">bayes::CRejectionSamplingCapable</a> </dd></dl>
</div>
<p><code>#include &lt;<a class="el" href="_c_rejection_sampling_range_only_localization_8h_source.html">mrpt/slam/CRejectionSamplingRangeOnlyLocalization.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mrpt::slam::CRejectionSamplingRangeOnlyLocalization:</div>
<div class="dyncontent">
<div class="center"><img src="classmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization__inherit__graph.png" border="0" usemap="#mrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization_inherit__map" id="mrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization_inherit__map">
<area shape="rect" id="node2" href="classmrpt_1_1bayes_1_1_c_rejection_sampling_capable.html" title="mrpt::bayes::CRejectionSamplingCapable\&lt; poses::CPose2D \&gt;" alt="" coords="5,96,395,123"/><area shape="rect" id="node4" href="classmrpt_1_1bayes_1_1_c_rejection_sampling_capable.html" title="A base class for implementing rejection sampling in a generic state space." alt="" coords="67,5,333,32"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization-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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization_1_1_t_data_per_beacon.html">TDataPerBeacon</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Data for each beacon observation with a correspondence with the map.  <a href="structmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization_1_1_t_data_per_beacon.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structmrpt_1_1bayes_1_1_c_probability_particle.html">CProbabilityParticle</a><br class="typebreak"/>
&lt; TStateSpace &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1bayes_1_1_c_rejection_sampling_capable.html#a6c35abe1d7247665e9e7431aedee9e4f">TParticle</a></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">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization.html#ad2139d3851952710bcd6f2b233c11625">CRejectionSamplingRangeOnlyLocalization</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#ad2139d3851952710bcd6f2b233c11625"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization.html#ae3faa7fa066aa35c773116fa925cf15d">~CRejectionSamplingRangeOnlyLocalization</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#ae3faa7fa066aa35c773116fa925cf15d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization.html#ac463a7167165e6902c56ec6d218a34df">setParams</a> (const <a class="el" href="classmrpt_1_1slam_1_1_c_landmarks_map.html">CLandmarksMap</a> &amp;beaconsMap, const <a class="el" href="classmrpt_1_1slam_1_1_c_observation_beacon_ranges.html">CObservationBeaconRanges</a> &amp;observation, float sigmaRanges, const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;oldPose, float robot_z=0, bool autoCheckAngleRanges=true)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The parameters used in the generation of random samples:  <a href="#ac463a7167165e6902c56ec6d218a34df"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1bayes_1_1_c_rejection_sampling_capable.html#af0597f8c63106e2a4b64365147cf931f">rejectionSampling</a> (size_t desiredSamples, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="classmrpt_1_1bayes_1_1_c_rejection_sampling_capable.html#a6c35abe1d7247665e9e7431aedee9e4f">TParticle</a> &gt; &amp;outSamples, size_t timeoutTrials=1000)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a set of N independent samples via rejection sampling.  <a href="#af0597f8c63106e2a4b64365147cf931f"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization.html#acfb8cce53afe2fb2fbfae861586df06b">RS_drawFromProposal</a> (<a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;outSample)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates one sample, drawing from some proposal distribution.  <a href="#acfb8cce53afe2fb2fbfae861586df06b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization.html#a7d35712f4cc621f5c025c666a171d7f3">RS_observationLikelihood</a> (const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;x)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the NORMALIZED observation likelihood (linear, not exponential!!!) at a given point of the state space (values in the range [0,1]).  <a href="#a7d35712f4cc621f5c025c666a171d7f3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1bayes_1_1_c_rejection_sampling_capable.html#addc288e07f0bfea667f0b30c235007d2">RS_drawFromProposal</a> (TStateSpace &amp;outSample)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates one sample, drawing from some proposal distribution.  <a href="#addc288e07f0bfea667f0b30c235007d2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1bayes_1_1_c_rejection_sampling_capable.html#a6cf91003f69f1cb70d8f0b18f3a49b79">RS_observationLikelihood</a> (const TStateSpace &amp;x)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the NORMALIZED observation likelihood (linear, not exponential!!!) at a given point of the state space (values in the range [0,1]).  <a href="#a6cf91003f69f1cb70d8f0b18f3a49b79"></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">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization.html#a4a440d115a0c8fbf2d0ae9cf85748b7d">m_z_robot</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Z coordinate of the robot.  <a href="#a4a440d115a0c8fbf2d0ae9cf85748b7d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization.html#ad0e510ddb67cf33b95eeea287035dbf4">m_sigmaRanges</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization.html#abc282871eefad1761526a6bf5ac868f9">m_oldPose</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization.html#ac3c0e5f57f71f9759848f59371e0bb29">m_drawIndex</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The index in "m_dataPerBeacon" used to draw samples (the rest will be used to evaluate the likelihood)  <a href="#ac3c0e5f57f71f9759848f59371e0bb29"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1deque.html">std::deque</a>&lt; <a class="el" href="structmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization_1_1_t_data_per_beacon.html">TDataPerBeacon</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization.html#a14315a60da41d6abb9cb9a6561f53df5">m_dataPerBeacon</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Data for each beacon observation with a correspondence with the map.  <a href="#a14315a60da41d6abb9cb9a6561f53df5"></a><br/></td></tr>
</table>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a6c35abe1d7247665e9e7431aedee9e4f"></a><!-- doxytag: member="mrpt::slam::CRejectionSamplingRangeOnlyLocalization::TParticle" ref="a6c35abe1d7247665e9e7431aedee9e4f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structmrpt_1_1bayes_1_1_c_probability_particle.html">CProbabilityParticle</a>&lt;TStateSpace&gt; <a class="el" href="classmrpt_1_1bayes_1_1_c_rejection_sampling_capable.html#a6c35abe1d7247665e9e7431aedee9e4f">mrpt::bayes::CRejectionSamplingCapable::TParticle</a><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rejection_sampling_capable_8h_source.html#l00050">50</a> of file <a class="el" href="_c_rejection_sampling_capable_8h_source.html">CRejectionSamplingCapable.h</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad2139d3851952710bcd6f2b233c11625"></a><!-- doxytag: member="mrpt::slam::CRejectionSamplingRangeOnlyLocalization::CRejectionSamplingRangeOnlyLocalization" ref="ad2139d3851952710bcd6f2b233c11625" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::slam::CRejectionSamplingRangeOnlyLocalization::CRejectionSamplingRangeOnlyLocalization </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor. </p>

</div>
</div>
<a class="anchor" id="ae3faa7fa066aa35c773116fa925cf15d"></a><!-- doxytag: member="mrpt::slam::CRejectionSamplingRangeOnlyLocalization::~CRejectionSamplingRangeOnlyLocalization" ref="ae3faa7fa066aa35c773116fa925cf15d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual mrpt::slam::CRejectionSamplingRangeOnlyLocalization::~CRejectionSamplingRangeOnlyLocalization </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>

<p>Definition at line <a class="el" href="_c_rejection_sampling_range_only_localization_8h_source.html#l00064">64</a> of file <a class="el" href="_c_rejection_sampling_range_only_localization_8h_source.html">CRejectionSamplingRangeOnlyLocalization.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="af0597f8c63106e2a4b64365147cf931f"></a><!-- doxytag: member="mrpt::slam::CRejectionSamplingRangeOnlyLocalization::rejectionSampling" ref="af0597f8c63106e2a4b64365147cf931f" args="(size_t desiredSamples, std::vector&lt; TParticle &gt; &amp;outSamples, size_t timeoutTrials=1000)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::bayes::CRejectionSamplingCapable::rejectionSampling </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>desiredSamples</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; <a class="el" href="classmrpt_1_1bayes_1_1_c_rejection_sampling_capable.html#a6c35abe1d7247665e9e7431aedee9e4f">TParticle</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>outSamples</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>timeoutTrials</em> = <code>1000</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Generates a set of N independent samples via rejection sampling. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">desiredSamples</td><td>The number of desired samples to generate </td></tr>
    <tr><td class="paramname">outSamples</td><td>The output samples. </td></tr>
    <tr><td class="paramname">timeoutTrials</td><td>The maximum number of rejection trials for each generated sample (i.e. the maximum number of iterations). This can be used to set a limit to the time complexity of the algorithm for difficult probability densities. All will have equal importance weights (a property of rejection sampling), although those samples generated at timeout will have a different importance weights. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_c_rejection_sampling_capable_8h_source.html#l00065">65</a> of file <a class="el" href="_c_rejection_sampling_capable_8h_source.html">CRejectionSamplingCapable.h</a>.</p>

<p>References <a class="el" href="mrpt__macros_8h_source.html#l00370">MRPT_START</a>, <a class="el" href="classmrpt_1_1bayes_1_1_c_rejection_sampling_capable.html#addc288e07f0bfea667f0b30c235007d2">mrpt::bayes::CRejectionSamplingCapable::RS_drawFromProposal()</a>, <a class="el" href="classmrpt_1_1bayes_1_1_c_rejection_sampling_capable.html#a6cf91003f69f1cb70d8f0b18f3a49b79">mrpt::bayes::CRejectionSamplingCapable::RS_observationLikelihood()</a>, <a class="el" href="mrpt__macros_8h_source.html#l00282">ASSERT_</a>, <a class="el" href="namespacemrpt_1_1random.html#a4743bfa8fcb282b6f5d66395ccabaa73">mrpt::random::randomGenerator</a>, and <a class="el" href="mrpt__macros_8h_source.html#l00374">MRPT_END</a>.</p>

</div>
</div>
<a class="anchor" id="acfb8cce53afe2fb2fbfae861586df06b"></a><!-- doxytag: member="mrpt::slam::CRejectionSamplingRangeOnlyLocalization::RS_drawFromProposal" ref="acfb8cce53afe2fb2fbfae861586df06b" args="(CPose2D &amp;outSample)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::slam::CRejectionSamplingRangeOnlyLocalization::RS_drawFromProposal </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;&#160;</td>
          <td class="paramname"><em>outSample</em></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Generates one sample, drawing from some proposal distribution. </p>

</div>
</div>
<a class="anchor" id="addc288e07f0bfea667f0b30c235007d2"></a><!-- doxytag: member="mrpt::slam::CRejectionSamplingRangeOnlyLocalization::RS_drawFromProposal" ref="addc288e07f0bfea667f0b30c235007d2" args="(TStateSpace &amp;outSample)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::bayes::CRejectionSamplingCapable::RS_drawFromProposal </td>
          <td>(</td>
          <td class="paramtype">TStateSpace &amp;&#160;</td>
          <td class="paramname"><em>outSample</em></td><td>)</td>
          <td><code> [protected, pure virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Generates one sample, drawing from some proposal distribution. </p>

</div>
</div>
<a class="anchor" id="a7d35712f4cc621f5c025c666a171d7f3"></a><!-- doxytag: member="mrpt::slam::CRejectionSamplingRangeOnlyLocalization::RS_observationLikelihood" ref="a7d35712f4cc621f5c025c666a171d7f3" args="(const CPose2D &amp;x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double mrpt::slam::CRejectionSamplingRangeOnlyLocalization::RS_observationLikelihood </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the NORMALIZED observation likelihood (linear, not exponential!!!) at a given point of the state space (values in the range [0,1]). </p>

</div>
</div>
<a class="anchor" id="a6cf91003f69f1cb70d8f0b18f3a49b79"></a><!-- doxytag: member="mrpt::slam::CRejectionSamplingRangeOnlyLocalization::RS_observationLikelihood" ref="a6cf91003f69f1cb70d8f0b18f3a49b79" args="(const TStateSpace &amp;x)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual double mrpt::bayes::CRejectionSamplingCapable::RS_observationLikelihood </td>
          <td>(</td>
          <td class="paramtype">const TStateSpace &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td><code> [protected, pure virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the NORMALIZED observation likelihood (linear, not exponential!!!) at a given point of the state space (values in the range [0,1]). </p>

</div>
</div>
<a class="anchor" id="ac463a7167165e6902c56ec6d218a34df"></a><!-- doxytag: member="mrpt::slam::CRejectionSamplingRangeOnlyLocalization::setParams" ref="ac463a7167165e6902c56ec6d218a34df" args="(const CLandmarksMap &amp;beaconsMap, const CObservationBeaconRanges &amp;observation, float sigmaRanges, const CPose2D &amp;oldPose, float robot_z=0, bool autoCheckAngleRanges=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool mrpt::slam::CRejectionSamplingRangeOnlyLocalization::setParams </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1slam_1_1_c_landmarks_map.html">CLandmarksMap</a> &amp;&#160;</td>
          <td class="paramname"><em>beaconsMap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1slam_1_1_c_observation_beacon_ranges.html">CObservationBeaconRanges</a> &amp;&#160;</td>
          <td class="paramname"><em>observation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>sigmaRanges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;&#160;</td>
          <td class="paramname"><em>oldPose</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>robot_z</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>autoCheckAngleRanges</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The parameters used in the generation of random samples: </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">beaconsMap</td><td>The map containing the N beacons (indexed by their "beacon ID"s). Only the mean 3D position of the beacons is used, the covariance is ignored. </td></tr>
    <tr><td class="paramname">observation</td><td>An observation with, at least ONE range measurement. </td></tr>
    <tr><td class="paramname">sigmaRanges</td><td>The standard deviation of the "range measurement noise". </td></tr>
    <tr><td class="paramname">robot_z</td><td>The height of the robot on the floor (default=0). Note that the beacon sensor on the robot may be at a different height, according to data within the observation object. </td></tr>
    <tr><td class="paramname">autoCheckAngleRanges</td><td>Whether to make a simple check for potential good angles from the beacons to generate samples (disable to speed-up the preparation vs. making slower the drawn). This method fills out the member "m_dataPerBeacon". </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if at least ONE beacon has been successfully loaded, false otherwise. In this case do not call "rejectionSampling" or an exception will be launch, since there is no information to generate samples. </dd></dl>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a14315a60da41d6abb9cb9a6561f53df5"></a><!-- doxytag: member="mrpt::slam::CRejectionSamplingRangeOnlyLocalization::m_dataPerBeacon" ref="a14315a60da41d6abb9cb9a6561f53df5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1deque.html">std::deque</a>&lt;<a class="el" href="structmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization_1_1_t_data_per_beacon.html">TDataPerBeacon</a>&gt; <a class="el" href="classmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization.html#a14315a60da41d6abb9cb9a6561f53df5">mrpt::slam::CRejectionSamplingRangeOnlyLocalization::m_dataPerBeacon</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Data for each beacon observation with a correspondence with the map. </p>

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

</div>
</div>
<a class="anchor" id="ac3c0e5f57f71f9759848f59371e0bb29"></a><!-- doxytag: member="mrpt::slam::CRejectionSamplingRangeOnlyLocalization::m_drawIndex" ref="ac3c0e5f57f71f9759848f59371e0bb29" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization.html#ac3c0e5f57f71f9759848f59371e0bb29">mrpt::slam::CRejectionSamplingRangeOnlyLocalization::m_drawIndex</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The index in "m_dataPerBeacon" used to draw samples (the rest will be used to evaluate the likelihood) </p>

<p>Definition at line <a class="el" href="_c_rejection_sampling_range_only_localization_8h_source.html#l00101">101</a> of file <a class="el" href="_c_rejection_sampling_range_only_localization_8h_source.html">CRejectionSamplingRangeOnlyLocalization.h</a>.</p>

</div>
</div>
<a class="anchor" id="abc282871eefad1761526a6bf5ac868f9"></a><!-- doxytag: member="mrpt::slam::CRejectionSamplingRangeOnlyLocalization::m_oldPose" ref="abc282871eefad1761526a6bf5ac868f9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> <a class="el" href="classmrpt_1_1slam_1_1_c_rejection_sampling_range_only_localization.html#abc282871eefad1761526a6bf5ac868f9">mrpt::slam::CRejectionSamplingRangeOnlyLocalization::m_oldPose</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rejection_sampling_range_only_localization_8h_source.html#l00097">97</a> of file <a class="el" href="_c_rejection_sampling_range_only_localization_8h_source.html">CRejectionSamplingRangeOnlyLocalization.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad0e510ddb67cf33b95eeea287035dbf4"></a><!-- doxytag: member="mrpt::slam::CRejectionSamplingRangeOnlyLocalization::m_sigmaRanges" ref="ad0e510ddb67cf33b95eeea287035dbf4" 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_rejection_sampling_range_only_localization.html#ad0e510ddb67cf33b95eeea287035dbf4">mrpt::slam::CRejectionSamplingRangeOnlyLocalization::m_sigmaRanges</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_rejection_sampling_range_only_localization_8h_source.html#l00096">96</a> of file <a class="el" href="_c_rejection_sampling_range_only_localization_8h_source.html">CRejectionSamplingRangeOnlyLocalization.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4a440d115a0c8fbf2d0ae9cf85748b7d"></a><!-- doxytag: member="mrpt::slam::CRejectionSamplingRangeOnlyLocalization::m_z_robot" ref="a4a440d115a0c8fbf2d0ae9cf85748b7d" 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_rejection_sampling_range_only_localization.html#a4a440d115a0c8fbf2d0ae9cf85748b7d">mrpt::slam::CRejectionSamplingRangeOnlyLocalization::m_z_robot</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Z coordinate of the robot. </p>

<p>Definition at line <a class="el" href="_c_rejection_sampling_range_only_localization_8h_source.html#l00094">94</a> of file <a class="el" href="_c_rejection_sampling_range_only_localization_8h_source.html">CRejectionSamplingRangeOnlyLocalization.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.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table>  </body></html>