Main MRPT website > C++ reference
MRPT logo
Classes | Public Member Functions | Protected Member Functions | Protected Attributes

mrpt::slam::CRejectionSamplingRangeOnlyLocalization Class Reference


Detailed Description

An implementation of rejection sampling for generating 2D robot pose from range-only measurements within a landmarks (beacons) map.

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).

See also:
bayes::CRejectionSamplingCapable

Definition at line 54 of file CRejectionSamplingRangeOnlyLocalization.h.

#include <mrpt/slam/CRejectionSamplingRangeOnlyLocalization.h>

Inheritance diagram for mrpt::slam::CRejectionSamplingRangeOnlyLocalization:
Inheritance graph
[legend]

List of all members.

Classes

struct  TDataPerBeacon
 Data for each beacon observation with a correspondence with the map. More...

Public Member Functions

 CRejectionSamplingRangeOnlyLocalization ()
 Constructor.
virtual ~CRejectionSamplingRangeOnlyLocalization ()
 Destructor.
bool setParams (const CLandmarksMap &beaconsMap, const CObservationBeaconRanges &observation, float sigmaRanges, const CPose2D &oldPose, float robot_z=0, bool autoCheckAngleRanges=true)
 The parameters used in the generation of random samples:

Protected Member Functions

void RS_drawFromProposal (CPose2D &outSample)
 Generates one sample, drawing from some proposal distribution.
double RS_observationLikelihood (const CPose2D &x)
 Returns the NORMALIZED observation likelihood (linear, not exponential!!!) at a given point of the state space (values in the range [0,1]).

Protected Attributes

float m_z_robot
 Z coordinate of the robot.
float m_sigmaRanges
CPose2D m_oldPose
size_t m_drawIndex
 The index in "m_dataPerBeacon" used to draw samples (the rest will be used to evaluate the likelihood).
std::deque< TDataPerBeaconm_dataPerBeacon
 Data for each beacon observation with a correspondence with the map.

Constructor & Destructor Documentation

mrpt::slam::CRejectionSamplingRangeOnlyLocalization::CRejectionSamplingRangeOnlyLocalization (  ) 

Constructor.

virtual mrpt::slam::CRejectionSamplingRangeOnlyLocalization::~CRejectionSamplingRangeOnlyLocalization (  )  [inline, virtual]

Destructor.

Definition at line 64 of file CRejectionSamplingRangeOnlyLocalization.h.


Member Function Documentation

void mrpt::slam::CRejectionSamplingRangeOnlyLocalization::RS_drawFromProposal ( CPose2D outSample  )  [protected, virtual]

Generates one sample, drawing from some proposal distribution.

Implements mrpt::bayes::CRejectionSamplingCapable< poses::CPose2D >.

double mrpt::slam::CRejectionSamplingRangeOnlyLocalization::RS_observationLikelihood ( const CPose2D x  )  [protected, virtual]

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

Implements mrpt::bayes::CRejectionSamplingCapable< poses::CPose2D >.

bool mrpt::slam::CRejectionSamplingRangeOnlyLocalization::setParams ( const CLandmarksMap beaconsMap,
const CObservationBeaconRanges observation,
float  sigmaRanges,
const CPose2D oldPose,
float  robot_z = 0,
bool  autoCheckAngleRanges = true 
)

The parameters used in the generation of random samples:

Parameters:
beaconsMap 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.
observation An observation with, at least ONE range measurement.
sigmaRanges The standard deviation of the "range measurement noise".
robot_z 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.
autoCheckAngleRanges 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".
Returns:
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.

Member Data Documentation

Data for each beacon observation with a correspondence with the map.

Definition at line 118 of file CRejectionSamplingRangeOnlyLocalization.h.

The index in "m_dataPerBeacon" used to draw samples (the rest will be used to evaluate the likelihood).

Definition at line 101 of file CRejectionSamplingRangeOnlyLocalization.h.

Definition at line 97 of file CRejectionSamplingRangeOnlyLocalization.h.

Definition at line 96 of file CRejectionSamplingRangeOnlyLocalization.h.

Z coordinate of the robot.

Definition at line 94 of file CRejectionSamplingRangeOnlyLocalization.h.




Page generated by Doxygen 1.7.1 for MRPT 0.9.4 SVN: at Mon Jan 10 23:33:19 UTC 2011