Main MRPT website > C++ reference
MRPT logo
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables

mrpt::slam Namespace Reference


Detailed Description

This namespace contains algorithms for SLAM, localization, map building, representation of robot's actions and observations, and representation of many kinds of metric maps.

Namespaces

namespace  detail

Classes

struct  CBeaconPtr
class  CBeacon
 The class for storing individual "beacon landmarks" under a variety of 3D position PDF distributions. More...
struct  CBeaconMapPtr
class  CBeaconMap
 A class for storing a map of 3D probabilistic beacons, using a Montecarlo, Gaussian, or Sum of Gaussians (SOG) representation (for range-only SLAM). More...
struct  CColouredPointsMapPtr
class  CColouredPointsMap
 A map of 2D/3D points with individual colours (RGB). More...
struct  CGasConcentrationGridMap2DPtr
struct  TGasConcentrationCell
 The contents of each cell in a CGasConcentrationGridMap2D map. More...
class  CGasConcentrationGridMap2D
 CGasConcentrationGridMap2D represents a PDF of gas concentrations over a 2D area. More...
struct  CHeightGridMap2DPtr
struct  THeightGridmapCell
 The contents of each cell in a CHeightGridMap2D map. More...
class  CHeightGridMap2D
 A mesh representation of a surface which keeps the estimated height for each (x,y) location. More...
struct  COccupancyGridMap2DPtr
class  COccupancyGridMap2D
 A class for storing an occupancy grid map. More...
struct  CPointsMapPtr
class  CPointsMap
 A cloud of points in 2D or 3D, which can be built from a sequence of laser scans or other sensors. More...
struct  CSimplePointsMapPtr
class  CSimplePointsMap
 A cloud of points in 2D or 3D, which can be built from a sequence of laser scans. More...
struct  CActionPtr
class  CAction
 Declares a class for storing a robot action. More...
struct  CActionCollectionPtr
class  CActionCollection
 Declares a class for storing a collection of robot actions. More...
struct  CActionRobotMovement2DPtr
class  CActionRobotMovement2D
 Represents a probabilistic 2D movement of the robot mobile base. More...
struct  CActionRobotMovement3DPtr
class  CActionRobotMovement3D
 Represents a probabilistic 3D (6D) movement. More...
struct  CMetricMapPtr
class  CMetricMap
 Declares a virtual base class for all metric maps storage classes. More...
class  mrptEventMetricMapClear
 Event emitted by a metric up upon call of clear() More...
class  mrptEventMetricMapInsert
 Event emitted by a metric up upon a succesful call to insertObservation() More...
struct  CObservationPtr
class  CObservation
 Declares a class that represents any robot's observation. More...
struct  CObservation2DRangeScanPtr
class  CObservation2DRangeScan
 A "CObservation"-derived class that represents a 2D range scan measurement (typically from a laser scanner). More...
struct  CObservation3DRangeScanPtr
class  CObservation3DRangeScan
 Declares a class derived from "CObservation" that encapsules a 3D range scan measurement (e.g. More...
struct  CObservationBatteryStatePtr
class  CObservationBatteryState
 This represents a measurement of the batteries on the robot. More...
struct  CObservationBeaconRangesPtr
class  CObservationBeaconRanges
 Declares a class derived from "CObservation" that represents one (or more) range measurements to labeled beacons. More...
struct  CObservationBearingRangePtr
class  CObservationBearingRange
 This observation represents a number of range-bearing value pairs, each one for a detected landmark, which optionally can have identification IDs. More...
struct  CObservationCommentPtr
class  CObservationComment
 This "observation" is actually a placeholder for a text block with comments or additional parameters attached to a given rawlog file. More...
struct  CObservationGasSensorsPtr
class  CObservationGasSensors
 Declares a class derived from "CObservation" that represents a set of readings from gas sensors. More...
struct  CObservationGPSPtr
class  CObservationGPS
 Declares a class derived from "CObservation" that represents a Global Positioning System (GPS) reading. More...
struct  CObservationImagePtr
class  CObservationImage
 Declares a class derived from "CObservation" that encapsules an image from a camera, whose relative pose to robot is also stored. More...
struct  CObservationIMUPtr
class  CObservationIMU
 This class stores measurements from an Inertial Measurement Unit (IMU), and/or its attitude estimation (integration of raw measurements). More...
struct  CObservationOdometryPtr
class  CObservationOdometry
 An observation of the current (cumulative) odometry for a wheeled robot. More...
struct  CObservationRangePtr
class  CObservationRange
 Declares a class derived from "CObservation" that encapsules a single range measurement, and associated parameters. More...
struct  CObservationStereoImagesPtr
class  CObservationStereoImages
 Observation class for either a pair of left+right or left+disparity images from a stereo camera. More...
struct  TStereoImageFeatures
struct  CObservationStereoImagesFeaturesPtr
class  CObservationStereoImagesFeatures
 Declares a class derived from "CObservation" that encapsules a pair of cameras and a set of matched image features extracted from them. More...
struct  CRawlogPtr
class  CRawlog
 This class stores a rawlog (robotic datasets) in one of two possible formats:

  • Format #1: A sequence of actions and observations.
More...
struct  CSensoryFramePtr
class  CSensoryFrame
 Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximately at the same time as one "snapshot" of the environment. More...
struct  CSimpleMapPtr
class  CSimpleMap
 This class stores a sequence of <Probabilistic Pose,SensoryFrame> pairs, thus a "metric map" can be totally determined with this information. More...
class  CConsistentObservationAlignment
 An algorithm for globally, consistent alignment of a sequence of observations. More...
class  CDetectorDoorCrossing
class  CGridMapAligner
 A class for aligning two multi-metric maps (with an occupancy grid maps and a points map, at least) based on features extraction and matching. More...
class  CICP
 Several implementations of ICP (Iterative closest point) algorithms for aligning two point maps. More...
struct  CIncrementalMapPartitionerPtr
class  CIncrementalMapPartitioner
 This class can be used to make partitions on a map/graph build from observations taken at some poses/nodes. More...
class  CMetricMapBuilder
 This virtual class is the base for SLAM implementations. More...
class  CMetricMapBuilderICP
 A class for very simple 2D SLAM based on ICP. More...
class  CMetricMapBuilderRBPF
 This class implements a Rao-Blackwelized Particle Filter (RBPF) approach to map building (SLAM). More...
class  CMetricMapsAlignmentAlgorithm
 A base class for any algorithm able of maps alignment. More...
class  CMonteCarloLocalization2D
 Declares a class that represents a Probability Density Function (PDF) over a 2D pose (x,y,phi), using a set of weighted samples. More...
class  CMonteCarloLocalization3D
 Declares a class that represents a Probability Density Function (PDF) over a 3D pose (x,y,phi,yaw,pitch,roll), using a set of weighted samples. More...
struct  CMultiMetricMapPtr
class  CMultiMetricMap
 This class stores any customizable set of metric maps. More...
struct  TMetricMapInitializer
 Each structure of this kind will determine the kind (and initial configuration) of one map to be build into a CMultiMetricMap object. More...
class  TSetOfMetricMapInitializers
 A set of TMetricMapInitializer structures, passed to the constructor CMultiMetricMap::CMultiMetricMap See the comments for TSetOfMetricMapInitializers::loadFromConfigFile, and "CMultiMetricMap::setListOfMaps" for effectively creating the list of desired maps. More...
struct  CRBPFParticleDataPtr
class  CRBPFParticleData
 Auxiliary class used in mrpt::slam::CMultiMetricMapPDF. More...
struct  CMultiMetricMapPDFPtr
class  CMultiMetricMapPDF
 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). More...
class  COccupancyGridMapFeatureExtractor
 A class for detecting features from occupancy grid maps. More...
class  CPathPlanningCircularRobot
 An implementation of CPathPlanningMethod. More...
class  CPathPlanningMethod
 A virtual base class for computing the optimal path for a robot from a origin location to a target point. More...
class  CRangeBearingKFSLAM
 An implementation of EKF-based SLAM with range-bearing sensors, odometry, a full 6D robot pose, and 3D landmarks. More...
class  CRangeBearingKFSLAM2D
 An implementation of EKF-based SLAM with range-bearing sensors, odometry, and a 2D (+heading) robot pose, and 2D landmarks. More...
class  CRejectionSamplingRangeOnlyLocalization
 An implementation of rejection sampling for generating 2D robot pose from range-only measurements within a landmarks (beacons) map. More...
struct  TDataAssociationResults
 The results from mrpt::slam::data_association. More...
class  PF_implementation
 A set of common data shared by PF implementations for both SLAM and localization. More...
class  TKLDParams
 Option set for KLD algorithm. More...
struct  TMonteCarloLocalizationParams
 The struct for passing extra simulation parameters to the prediction stage when running a particle filter. More...
struct  CLandmarkPtr
class  CLandmark
 The class for storing "landmarks" (visual or laser-scan-extracted features,...) More...
struct  CLandmarksMapPtr
class  CLandmarksMap
 A class for storing a map of 3D probabilistic landmarks. More...
struct  CObservationVisualLandmarksPtr
class  CObservationVisualLandmarks
 Declares a class derived from "CObservation" that stores a Landmarks Map as seen from a stereo camera at a given instant of time. More...

Typedefs

typedef std::deque< CMetricMap * > TMetricMapList
 A list of metric maps (used in the mrpt::poses::CPosePDFParticles class):
typedef std::pair
< mrpt::system::TTimeStamp,
CObservationPtr
TTimeObservationPair
 For usage with CRawlog classes.
typedef std::multimap
< mrpt::system::TTimeStamp,
CObservationPtr
TListTimeAndObservations
 For usage with CRawlog classes.
typedef std::vector< CLandmarkTSequenceLandmarks
 Internal use.

Enumerations

enum  TIMUDataIndex {
  IMU_X_ACC = 0, IMU_Y_ACC, IMU_Z_ACC, IMU_YAW_VEL,
  IMU_PITCH_VEL, IMU_ROLL_VEL, IMU_X_VEL, IMU_Y_VEL,
  IMU_Z_VEL, IMU_YAW, IMU_PITCH, IMU_ROLL,
  IMU_X, IMU_Y, IMU_Z
}
 

Symbolic names for the indices of IMU data (refer to mrpt::slam::CObservationIMU)

More...
enum  TICPAlgorithm { icpClassic = 0, icpLevenbergMarquardt, icpIKF }
 

The ICP algorithm selection, used in mrpt::slam::CICP::options.

More...

Functions

MAPS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CBeaconPtr &pObj)
MAPS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CBeaconMapPtr &pObj)
MAPS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CColouredPointsMapPtr &pObj)
MAPS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CGasConcentrationGridMap2DPtr &pObj)
MAPS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CHeightGridMap2DPtr &pObj)
::mrpt::utils::CStreamoperator>> (mrpt::utils::CStream &in, COccupancyGridMap2DPtr &pObj)
bool operator< (const COccupancyGridMap2D::TPairLikelihoodIndex &e1, const COccupancyGridMap2D::TPairLikelihoodIndex &e2)
MAPS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CPointsMapPtr &pObj)
MAPS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CSimplePointsMapPtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CActionPtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CActionCollectionPtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CActionRobotMovement2DPtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CActionRobotMovement3DPtr &pObj)
bool OBS_IMPEXP carmen_log_parse_line (std::istream &in_stream, std::vector< mrpt::slam::CObservationPtr > &out_imported_observations, const mrpt::system::TTimeStamp &time_start_log)
 Parse one line from an text input stream and interpret it as a CARMEN log entry, returning its MRPT observation representation.
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CMetricMapPtr &pObj)
::mrpt::utils::CStreamoperator>> (mrpt::utils::CStream &in, CObservationPtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CObservation2DRangeScanPtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CObservation3DRangeScanPtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CObservationBatteryStatePtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CObservationBeaconRangesPtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CObservationBearingRangePtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CObservationCommentPtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CObservationGasSensorsPtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CObservationGPSPtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CObservationImagePtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CObservationIMUPtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CObservationOdometryPtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CObservationRangePtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CObservationStereoImagesPtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CObservationStereoImagesFeaturesPtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CRawlogPtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CSensoryFramePtr &pObj)
OBS_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CSimpleMapPtr &pObj)
SLAM_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CIncrementalMapPartitionerPtr &pObj)
::mrpt::utils::CStreamoperator>> (mrpt::utils::CStream &in, CMultiMetricMapPtr &pObj)
SLAM_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CRBPFParticleDataPtr &pObj)
SLAM_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CMultiMetricMapPDFPtr &pObj)
template<class PARTICLETYPE , class BINTYPE >
void KLF_loadBinFromParticle (BINTYPE &outBin, const TKLDParams &opts, const PARTICLETYPE *currentParticleValue=NULL, const TPose3D *newPoseToBeInserted=NULL)
::mrpt::utils::CStreamoperator>> (mrpt::utils::CStream &in, CLandmarkPtr &pObj)
::mrpt::utils::CStreamoperator>> (mrpt::utils::CStream &in, CLandmarksMapPtr &pObj)
VISION_IMPEXP::mrpt::utils::CStream & operator>> (mrpt::utils::CStream &in, CObservationVisualLandmarksPtr &pObj)
Observations overlap functions
double SLAM_IMPEXP observationsOverlap (const mrpt::slam::CObservation *o1, const mrpt::slam::CObservation *o2, const mrpt::poses::CPose3D *pose_o2_wrt_o1=NULL)
 Estimates the "overlap" or "matching ratio" of two observations (range [0,1]), possibly taking into account their relative positions.
double observationsOverlap (const mrpt::slam::CObservationPtr &o1, const mrpt::slam::CObservationPtr &o2, const mrpt::poses::CPose3D *pose_o2_wrt_o1=NULL)
 Estimates the "overlap" or "matching ratio" of two observations (range [0,1]), possibly taking into account their relative positions.
double SLAM_IMPEXP observationsOverlap (const mrpt::slam::CSensoryFrame &sf1, const mrpt::slam::CSensoryFrame &sf2, const mrpt::poses::CPose3D *pose_sf2_wrt_sf1=NULL)
 Estimates the "overlap" or "matching ratio" of two set of observations (range [0,1]), possibly taking into account their relative positions.
double observationsOverlap (const mrpt::slam::CSensoryFramePtr &sf1, const mrpt::slam::CSensoryFramePtr &sf2, const mrpt::poses::CPose3D *pose_sf2_wrt_sf1=NULL)
 Estimates the "overlap" or "matching ratio" of two set of observations (range [0,1]), possibly taking into account their relative positions.

Variables

class MAPS_IMPEXP CBeacon
class MAPS_IMPEXP CBeaconMap
class MAPS_IMPEXP CColouredPointsMap
class MAPS_IMPEXP CGasConcentrationGridMap2D
class MAPS_IMPEXP CHeightGridMap2D
class MAPS_IMPEXP CPointsMap
class MAPS_IMPEXP CSimplePointsMap
class OBS_IMPEXP CAction
class OBS_IMPEXP CActionCollection
class OBS_IMPEXP CActionRobotMovement2D
class OBS_IMPEXP CActionRobotMovement3D
class OBS_IMPEXP CMetricMap
class OBS_IMPEXP CObservation2DRangeScan
class OBS_IMPEXP CObservation3DRangeScan
class OBS_IMPEXP CObservationBatteryState
class OBS_IMPEXP CObservationBeaconRanges
class OBS_IMPEXP CObservationBearingRange
class OBS_IMPEXP CObservationComment
class OBS_IMPEXP CObservationGasSensors
class OBS_IMPEXP CObservationGPS
class OBS_IMPEXP CObservationImage
class OBS_IMPEXP CObservationIMU
class OBS_IMPEXP CObservationOdometry
class OBS_IMPEXP CObservationRange
class OBS_IMPEXP CObservationStereoImages
class OBS_IMPEXP CObservationStereoImagesFeatures
class OBS_IMPEXP CRawlog
class OBS_IMPEXP CSensoryFrame
class OBS_IMPEXP CSimpleMap
class SLAM_IMPEXP CIncrementalMapPartitioner
class SLAM_IMPEXP CRBPFParticleData
class SLAM_IMPEXP CMultiMetricMapPDF
class VISION_IMPEXP CObservationVisualLandmarks

Data association

enum  TDataAssociationMethod { assocNN = 0, assocJCBB }
 

Different algorithms for data association, used in mrpt::slam::data_association.

More...
enum  TDataAssociationMetric { metricMaha = 0, metricML }
 

Different metrics for data association, used in mrpt::slam::data_association.

More...
typedef size_t observation_index_t
 Used in mrpt::slam::TDataAssociationResults.
typedef size_t prediction_index_t
 Used in mrpt::slam::TDataAssociationResults.
void SLAM_IMPEXP data_association_full_covariance (const mrpt::math::CMatrixDouble &Z_observations_mean, const mrpt::math::CMatrixDouble &Y_predictions_mean, const mrpt::math::CMatrixDouble &Y_predictions_cov, TDataAssociationResults &results, const TDataAssociationMethod method=assocJCBB, const TDataAssociationMetric metric=metricMaha, const double chi2quantile=0.99, const bool DAT_ASOC_USE_KDTREE=true, const std::vector< prediction_index_t > &predictions_IDs=std::vector< prediction_index_t >(), const TDataAssociationMetric compatibilityTestMetric=metricMaha, const double log_ML_compat_test_threshold=0.0)
 Computes the data-association between the prediction of a set of landmarks and their observations, all of them with covariance matrices - Generic version with prediction full cross-covariances.
void SLAM_IMPEXP data_association_independent_predictions (const mrpt::math::CMatrixDouble &Z_observations_mean, const mrpt::math::CMatrixDouble &Y_predictions_mean, const mrpt::math::CMatrixDouble &Y_predictions_cov, TDataAssociationResults &results, const TDataAssociationMethod method=assocJCBB, const TDataAssociationMetric metric=metricMaha, const double chi2quantile=0.99, const bool DAT_ASOC_USE_KDTREE=true, const std::vector< prediction_index_t > &predictions_IDs=std::vector< prediction_index_t >(), const TDataAssociationMetric compatibilityTestMetric=metricMaha, const double log_ML_compat_test_threshold=0.0)
 Computes the data-association between the prediction of a set of landmarks and their observations, all of them with covariance matrices - Generic version with NO prediction cross-covariances.

Typedef Documentation

Used in mrpt::slam::TDataAssociationResults.

Definition at line 61 of file data_association.h.

Used in mrpt::slam::TDataAssociationResults.

Definition at line 62 of file data_association.h.

For usage with CRawlog classes.

Definition at line 47 of file CRawlog.h.

typedef std::deque<CMetricMap*> mrpt::slam::TMetricMapList

A list of metric maps (used in the mrpt::poses::CPosePDFParticles class):

Definition at line 346 of file CMetricMap.h.

Internal use.

Definition at line 47 of file CLandmarksMap.h.

For usage with CRawlog classes.

Definition at line 46 of file CRawlog.h.


Enumeration Type Documentation

Different algorithms for data association, used in mrpt::slam::data_association.

Enumerator:
assocNN 

Nearest-neighbor.

assocJCBB 

JCBB: Joint Compatibility Branch & Bound [Neira, Tardos 2001].

Definition at line 47 of file data_association.h.

Different metrics for data association, used in mrpt::slam::data_association.

Enumerator:
metricMaha 

Mahalanobis distance.

metricML 

Matching likelihood (See paper: http://www.mrpt.org/Paper:Matching_Likelihood )

Definition at line 55 of file data_association.h.

The ICP algorithm selection, used in mrpt::slam::CICP::options.

For details on the algorithms refer to http://www.mrpt.org/Scan_Matching_Algorithms

Enumerator:
icpClassic 
icpLevenbergMarquardt 
icpIKF 

Definition at line 43 of file CICP.h.

Symbolic names for the indices of IMU data (refer to mrpt::slam::CObservationIMU)

Enumerator:
IMU_X_ACC 
IMU_Y_ACC 
IMU_Z_ACC 
IMU_YAW_VEL 
IMU_PITCH_VEL 
IMU_ROLL_VEL 
IMU_X_VEL 
IMU_Y_VEL 
IMU_Z_VEL 
IMU_YAW 
IMU_PITCH 
IMU_ROLL 
IMU_X 
IMU_Y 
IMU_Z 

Definition at line 46 of file CObservationIMU.h.


Function Documentation

bool OBS_IMPEXP mrpt::slam::carmen_log_parse_line ( std::istream &  in_stream,
std::vector< mrpt::slam::CObservationPtr > &  out_imported_observations,
const mrpt::system::TTimeStamp time_start_log 
)

Parse one line from an text input stream and interpret it as a CARMEN log entry, returning its MRPT observation representation.

The first word in each line determines the type of that entry. Supported line entries in this class are the following:

Note that the sensor position on the robot will be always deduced from the corresponding CARMEN log line automatically.

The following entry types will be IGNORED, since with the tags above will be enough in most applications.

  • "ODOM"
  • "RAWLASER"

About the PARAM entries: This functions has an internal static status consisting on some PARAM values which have effects on the future read observations. When the function finds one of these, it stores the parameter value, return an empty vector of observations, and use those values for future laser entries of types FLASER or RLASER. Currently, only these parameters are processed:

  • "robot_front_laser_max"
  • "laser_front_laser_resolution"
  • "robot_rear_laser_max"
  • "laser_rear_laser_resolution"
Parameters:
time_start_logThe real timestamp that corresponds to a "0" in the CARMEN log (you can get a mrpt::system::now() once and pass that same value with each call).

References: http://carmen.sourceforge.net/doc/binary__loggerplayback.html

Returns:
true on success, false on end-of-file (EOF).
Exceptions:
std::runtime_errorOn any invalid line found.
void SLAM_IMPEXP mrpt::slam::data_association_full_covariance ( const mrpt::math::CMatrixDouble Z_observations_mean,
const mrpt::math::CMatrixDouble Y_predictions_mean,
const mrpt::math::CMatrixDouble Y_predictions_cov,
TDataAssociationResults &  results,
const TDataAssociationMethod  method = assocJCBB,
const TDataAssociationMetric  metric = metricMaha,
const double  chi2quantile = 0.99,
const bool  DAT_ASOC_USE_KDTREE = true,
const std::vector< prediction_index_t > &  predictions_IDs = std::vector< prediction_index_t >(),
const TDataAssociationMetric  compatibilityTestMetric = metricMaha,
const double  log_ML_compat_test_threshold = 0.0 
)

Computes the data-association between the prediction of a set of landmarks and their observations, all of them with covariance matrices - Generic version with prediction full cross-covariances.

Implemented methods include (see TDataAssociation)

  • NN: Nearest-neighbor
  • JCBB: Joint Compatibility Branch & Bound [Neira, Tardos 2001]

With both a Mahalanobis-distance or Matching-likelihood metric (See paper: http://www.mrpt.org/Paper:Matching_Likelihood )

Parameters:
Z_observations_mean[IN] An MxO matrix with the M observations, each row containing the observation "mean".
Y_predictions_mean[IN] An NxO matrix with the N predictions, each row containing the mean of one prediction.
Y_predictions_cov[IN] An N·OxN·O matrix with the full covariance matrix of all the N predictions.
results[OUT] The output data association hypothesis, and other useful information.
method[IN, optional] The selected method to make the associations.
chi2quantile[IN, optional] The threshold for considering a match between two close Gaussians for two landmarks, in the range [0,1]. It is used to call mrpt::math::chi2inv
use_kd_tree[IN, optional] Build a KD-tree to speed-up the evaluation of individual compatibility (IC). It's perhaps more efficient to disable it for a small number of features. (default=true).
predictions_IDs[IN, optional] (default:none) An N-vector. If provided, the resulting associations in "results.associations" will not contain prediction indices "i", but "predictions_IDs[i]".
See also:
data_association_independent_predictions, data_association_independent_2d_points, data_association_independent_3d_points
void SLAM_IMPEXP mrpt::slam::data_association_independent_predictions ( const mrpt::math::CMatrixDouble Z_observations_mean,
const mrpt::math::CMatrixDouble Y_predictions_mean,
const mrpt::math::CMatrixDouble Y_predictions_cov,
TDataAssociationResults &  results,
const TDataAssociationMethod  method = assocJCBB,
const TDataAssociationMetric  metric = metricMaha,
const double  chi2quantile = 0.99,
const bool  DAT_ASOC_USE_KDTREE = true,
const std::vector< prediction_index_t > &  predictions_IDs = std::vector< prediction_index_t >(),
const TDataAssociationMetric  compatibilityTestMetric = metricMaha,
const double  log_ML_compat_test_threshold = 0.0 
)

Computes the data-association between the prediction of a set of landmarks and their observations, all of them with covariance matrices - Generic version with NO prediction cross-covariances.

Implemented methods include (see TDataAssociation)

  • NN: Nearest-neighbor
  • JCBB: Joint Compatibility Branch & Bound [Neira, Tardos 2001]

With both a Mahalanobis-distance or Matching-likelihood metric (See paper: http://www.mrpt.org/Paper:Matching_Likelihood )

Parameters:
Z_observations_mean[IN] An MxO matrix with the M observations, each row containing the observation "mean".
Y_predictions_mean[IN] An NxO matrix with the N predictions, each row containing the mean of one prediction.
Y_predictions_cov[IN] An N·OxO matrix: A vertical stack of N covariance matrix, one for each of the N prediction.
results[OUT] The output data association hypothesis, and other useful information.
method[IN, optional] The selected method to make the associations.
chi2quantile[IN, optional] The threshold for considering a match between two close Gaussians for two landmarks, in the range [0,1]. It is used to call mrpt::math::chi2inv
use_kd_tree[IN, optional] Build a KD-tree to speed-up the evaluation of individual compatibility (IC). It's perhaps more efficient to disable it for a small number of features. (default=true).
predictions_IDs[IN, optional] (default:none) An N-vector. If provided, the resulting associations in "results.associations" will not contain prediction indices "i", but "predictions_IDs[i]".
See also:
data_association_full_covariance, data_association_independent_2d_points, data_association_independent_3d_points
template<class PARTICLETYPE , class BINTYPE >
void mrpt::slam::KLF_loadBinFromParticle ( BINTYPE &  outBin,
const TKLDParams &  opts,
const PARTICLETYPE *  currentParticleValue = NULL,
const TPose3D newPoseToBeInserted = NULL 
)
double mrpt::slam::observationsOverlap ( const mrpt::slam::CObservationPtr o1,
const mrpt::slam::CObservationPtr o2,
const mrpt::poses::CPose3D pose_o2_wrt_o1 = NULL 
) [inline]

Estimates the "overlap" or "matching ratio" of two observations (range [0,1]), possibly taking into account their relative positions.

Note:
This is used in mrpt::slam::CIncrementalMapPartitioner

Definition at line 53 of file observations_overlap.h.

References observationsOverlap(), and mrpt::slam::CObservationPtr::pointer().

double SLAM_IMPEXP mrpt::slam::observationsOverlap ( const mrpt::slam::CSensoryFrame sf1,
const mrpt::slam::CSensoryFrame sf2,
const mrpt::poses::CPose3D pose_sf2_wrt_sf1 = NULL 
)

Estimates the "overlap" or "matching ratio" of two set of observations (range [0,1]), possibly taking into account their relative positions.

This method computes the average between each of the observations in each SF.

Note:
This is used in mrpt::slam::CIncrementalMapPartitioner
double mrpt::slam::observationsOverlap ( const mrpt::slam::CSensoryFramePtr sf1,
const mrpt::slam::CSensoryFramePtr sf2,
const mrpt::poses::CPose3D pose_sf2_wrt_sf1 = NULL 
) [inline]

Estimates the "overlap" or "matching ratio" of two set of observations (range [0,1]), possibly taking into account their relative positions.

This method computes the average between each of the observations in each SF.

Note:
This is used in mrpt::slam::CIncrementalMapPartitioner

Definition at line 74 of file observations_overlap.h.

References observationsOverlap(), and mrpt::slam::CSensoryFramePtr::pointer().

double SLAM_IMPEXP mrpt::slam::observationsOverlap ( const mrpt::slam::CObservation o1,
const mrpt::slam::CObservation o2,
const mrpt::poses::CPose3D pose_o2_wrt_o1 = NULL 
)

Estimates the "overlap" or "matching ratio" of two observations (range [0,1]), possibly taking into account their relative positions.

Note:
This is used in mrpt::slam::CIncrementalMapPartitioner

Referenced by observationsOverlap().

bool mrpt::slam::operator< ( const COccupancyGridMap2D::TPairLikelihoodIndex &  e1,
const COccupancyGridMap2D::TPairLikelihoodIndex &  e2 
)
MAPS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CSimplePointsMapPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CObservationBatteryStatePtr &  pObj 
)
SLAM_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CMultiMetricMapPDFPtr &  pObj 
)
SLAM_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CRBPFParticleDataPtr &  pObj 
)
::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CMultiMetricMapPtr &  pObj 
)
SLAM_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CIncrementalMapPartitionerPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CSimpleMapPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CSensoryFramePtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CRawlogPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CObservationStereoImagesFeaturesPtr pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CObservationStereoImagesPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CObservationRangePtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CObservationOdometryPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CObservationIMUPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CObservationImagePtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CObservationGPSPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CObservationGasSensorsPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CActionCollectionPtr &  pObj 
)
::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CLandmarkPtr &  pObj 
)
MAPS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CHeightGridMap2DPtr &  pObj 
)
MAPS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CGasConcentrationGridMap2DPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CObservation3DRangeScanPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CObservation2DRangeScanPtr &  pObj 
)
::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CObservationPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CMetricMapPtr &  pObj 
)
MAPS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CColouredPointsMapPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CActionRobotMovement3DPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CActionRobotMovement2DPtr &  pObj 
)
::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CLandmarksMapPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CObservationCommentPtr &  pObj 
)
MAPS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CBeaconMapPtr &  pObj 
)
MAPS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CPointsMapPtr &  pObj 
)
MAPS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CBeaconPtr &  pObj 
)
::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
COccupancyGridMap2DPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CObservationBearingRangePtr &  pObj 
)
VISION_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CObservationVisualLandmarksPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CObservationBeaconRangesPtr &  pObj 
)
OBS_IMPEXP ::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CActionPtr &  pObj 
)

Variable Documentation

class OBS_IMPEXP mrpt::slam::CAction

Definition at line 42 of file CAction.h.

Definition at line 41 of file CActionCollection.h.

Definition at line 44 of file CActionRobotMovement2D.h.

Definition at line 39 of file CActionRobotMovement3D.h.

class MAPS_IMPEXP mrpt::slam::CBeacon

Definition at line 53 of file CBeacon.h.

class MAPS_IMPEXP mrpt::slam::CBeaconMap

Definition at line 50 of file CBeaconMap.h.

class MAPS_IMPEXP mrpt::slam::CColouredPointsMap

Definition at line 45 of file CColouredPointsMap.h.

Definition at line 49 of file CGasConcentrationGridMap2D.h.

class MAPS_IMPEXP mrpt::slam::CHeightGridMap2D

Definition at line 56 of file CHeightGridMap2D.h.

Definition at line 51 of file CIncrementalMapPartitioner.h.

class OBS_IMPEXP mrpt::slam::CMetricMap

Definition at line 57 of file CMetricMap.h.

class SLAM_IMPEXP mrpt::slam::CMultiMetricMapPDF

Definition at line 70 of file CMultiMetricMapPDF.h.

Definition at line 45 of file CObservation3DRangeScan.h.

Definition at line 40 of file CObservationBatteryState.h.

Definition at line 41 of file CObservationBeaconRanges.h.

Definition at line 39 of file CObservationBearingRange.h.

Definition at line 38 of file CObservationComment.h.

Definition at line 41 of file CObservationGasSensors.h.

class OBS_IMPEXP mrpt::slam::CObservationGPS

Definition at line 42 of file CObservationGPS.h.

Definition at line 46 of file CObservationImage.h.

class OBS_IMPEXP mrpt::slam::CObservationIMU

Definition at line 42 of file CObservationIMU.h.

Definition at line 41 of file CObservationOdometry.h.

Definition at line 40 of file CObservationRange.h.

Definition at line 47 of file CObservationStereoImages.h.

Definition at line 52 of file CObservationStereoImagesFeatures.h.

Definition at line 41 of file CObservationVisualLandmarks.h.

class MAPS_IMPEXP mrpt::slam::CPointsMap

Definition at line 57 of file CPointsMap.h.

class OBS_IMPEXP mrpt::slam::CRawlog

Definition at line 42 of file CRawlog.h.

class SLAM_IMPEXP mrpt::slam::CRBPFParticleData

Definition at line 50 of file CMultiMetricMapPDF.h.

class OBS_IMPEXP mrpt::slam::CSensoryFrame

Definition at line 43 of file CSensoryFrame.h.

class OBS_IMPEXP mrpt::slam::CSimpleMap

Definition at line 41 of file CSimpleMap.h.

class MAPS_IMPEXP mrpt::slam::CSimplePointsMap

Definition at line 44 of file CSimplePointsMap.h.




Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN: at Sat Mar 26 06:16:28 UTC 2011