Main MRPT website > C++ reference for MRPT 1.5.6
Namespaces | Classes | Typedefs | Enumerations | Functions
mrpt::slam Namespace Reference

Namespaces

 detail
 

Classes

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 or a point map wrt a grid map. More...
 
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...
 
class  COccupancyGridMapFeatureExtractor
 A class for detecting features from occupancy grid maps. 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  TAuxDataRecursiveJCBB
 

Typedefs

typedef mrpt::maps::CMultiMetricMap CMultiMetricMap
 Backward compatible typedef. More...
 
typedef
mrpt::maps::CMultiMetricMapPtr 
CMultiMetricMapPtr
 Backward compatible typedef. More...
 
typedef
mrpt::maps::CMultiMetricMapPDF 
CMultiMetricMapPDF
 Backward compatible typedef. More...
 
typedef
mrpt::maps::CMultiMetricMapPDFPtr 
CMultiMetricMapPDFPtr
 Backward compatible typedef. More...
 
typedef mrpt::maps::CLandmark CLandmark
 Backward compatible typedef. More...
 
typedef mrpt::maps::CLandmarkPtr CLandmarkPtr
 Backward compatible typedef. More...
 
typedef mrpt::maps::CLandmarksMap CLandmarksMap
 Backward compatible typedef. More...
 
typedef
mrpt::maps::CLandmarksMapPtr 
CLandmarksMapPtr
 Backward compatible typedef. More...
 
typedef
mrpt::obs::CObservationVisualLandmarks 
CObservationVisualLandmarks
 Backward compatible typedef. More...
 
typedef
mrpt::obs::CObservationVisualLandmarksPtr 
CObservationVisualLandmarksPtr
 Backward compatible typedef. More...
 

Enumerations

enum  TICPAlgorithm { icpClassic = 0, icpLevenbergMarquardt }
 The ICP algorithm selection, used in mrpt::slam::CICP::options. More...
 
enum  TICPCovarianceMethod { icpCovLinealMSE = 0, icpCovFiniteDifferences }
 ICP covariance estimation methods, used in mrpt::slam::CICP::options. More...
 

Functions

::mrpt::utils::CStreamoperator>> (mrpt::utils::CStream &in, CIncrementalMapPartitionerPtr &pObj)
 
template<class PARTICLETYPE , class BINTYPE >
void KLF_loadBinFromParticle (BINTYPE &outBin, const TKLDParams &opts, const PARTICLETYPE *currentParticleValue=NULL, const mrpt::math::TPose3D *newPoseToBeInserted=NULL)
 
template<>
void KLF_loadBinFromParticle (mrpt::slam::detail::TPoseBin2D &outBin, const TKLDParams &opts, const CMonteCarloLocalization2D::CParticleDataContent *currentParticleValue, const TPose3D *newPoseToBeInserted)
 Fills out a "TPoseBin2D" variable, given a path hypotesis and (if not set to NULL) a new pose appended at the end, using the KLD params in "options". More...
 
template<>
void KLF_loadBinFromParticle (mrpt::slam::detail::TPoseBin3D &outBin, const TKLDParams &opts, const CMonteCarloLocalization3D::CParticleDataContent *currentParticleValue, const TPose3D *newPoseToBeInserted)
 Fills out a "TPoseBin3D" variable, given a path hypotesis and (if not set to NULL) a new pose appended at the end, using the KLD params in "options". More...
 
template<>
void KLF_loadBinFromParticle (detail::TPoseBin2D &outBin, const TKLDParams &opts, const mrpt::maps::CRBPFParticleData *currentParticleValue, const TPose3D *newPoseToBeInserted)
 Fills out a "TPoseBin2D" variable, given a path hypotesis and (if not set to NULL) a new pose appended at the end, using the KLD params in "options". More...
 
template<>
void KLF_loadBinFromParticle (detail::TPathBin2D &outBin, const TKLDParams &opts, const mrpt::maps::CRBPFParticleData *currentParticleValue, const TPose3D *newPoseToBeInserted)
 Fills out a "TPathBin2D" variable, given a path hypotesis and (if not set to NULL) a new pose appended at the end, using the KLD params in "options". More...
 
template<typename T , TDataAssociationMetric METRIC>
double joint_pdf_metric (const CMatrixTemplateNumeric< T > &Z_observations_mean, const CMatrixTemplateNumeric< T > &Y_predictions_mean, const CMatrixTemplateNumeric< T > &Y_predictions_cov, const TAuxDataRecursiveJCBB &info, const TDataAssociationResults &aux_data)
 Computes the joint distance metric (mahalanobis or matching likelihood) between two a set of associations. More...
 
template<TDataAssociationMetric METRIC>
bool isCloser (const double v1, const double v2)
 
template<>
bool isCloser< metricMaha > (const double v1, const double v2)
 
template<>
bool isCloser< metricML > (const double v1, const double v2)
 
template<typename T , TDataAssociationMetric METRIC>
void JCBB_recursive (const mrpt::math::CMatrixTemplateNumeric< T > &Z_observations_mean, const mrpt::math::CMatrixTemplateNumeric< T > &Y_predictions_mean, const mrpt::math::CMatrixTemplateNumeric< T > &Y_predictions_cov, TDataAssociationResults &results, const TAuxDataRecursiveJCBB &info, const observation_index_t curObsIdx)
 
Observations overlap functions
double SLAM_IMPEXP observationsOverlap (const mrpt::obs::CObservation *o1, const mrpt::obs::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. More...
 
double observationsOverlap (const mrpt::obs::CObservationPtr &o1, const mrpt::obs::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. More...
 
double SLAM_IMPEXP observationsOverlap (const mrpt::obs::CSensoryFrame &sf1, const mrpt::obs::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. More...
 
double observationsOverlap (const mrpt::obs::CSensoryFramePtr &sf1, const mrpt::obs::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. More...
 

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 For a comparison of both methods see paper: More...
 
typedef size_t observation_index_t
 Used in mrpt::slam::TDataAssociationResults. More...
 
typedef size_t prediction_index_t
 Used in mrpt::slam::TDataAssociationResults. More...
 
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. More...
 
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. More...
 

Typedef Documentation

Backward compatible typedef.

Definition at line 13 of file slam/CLandmark.h.

typedef mrpt::maps::CLandmarkPtr mrpt::slam::CLandmarkPtr

Backward compatible typedef.

Definition at line 14 of file slam/CLandmark.h.

Backward compatible typedef.

Definition at line 13 of file slam/CLandmarksMap.h.

typedef mrpt::maps::CLandmarksMapPtr mrpt::slam::CLandmarksMapPtr

Backward compatible typedef.

Definition at line 14 of file slam/CLandmarksMap.h.

Backward compatible typedef.

Definition at line 13 of file slam/CMultiMetricMap.h.

Backward compatible typedef.

Definition at line 13 of file slam/CMultiMetricMapPDF.h.

typedef mrpt::maps::CMultiMetricMapPDFPtr mrpt::slam::CMultiMetricMapPDFPtr

Backward compatible typedef.

Definition at line 14 of file slam/CMultiMetricMapPDF.h.

typedef mrpt::maps::CMultiMetricMapPtr mrpt::slam::CMultiMetricMapPtr

Backward compatible typedef.

Definition at line 14 of file slam/CMultiMetricMap.h.

Backward compatible typedef.

Definition at line 13 of file slam/CObservationVisualLandmarks.h.

typedef mrpt::obs::CObservationVisualLandmarksPtr mrpt::slam::CObservationVisualLandmarksPtr

Backward compatible typedef.

Definition at line 14 of file slam/CObservationVisualLandmarks.h.

Function Documentation

template<TDataAssociationMetric METRIC>
bool mrpt::slam::isCloser ( const double  v1,
const double  v2 
)
template<>
bool mrpt::slam::isCloser< metricMaha > ( const double  v1,
const double  v2 
)

Definition at line 134 of file data_association.cpp.

template<>
bool mrpt::slam::isCloser< metricML > ( const double  v1,
const double  v2 
)

Definition at line 137 of file data_association.cpp.

template<typename T , TDataAssociationMetric METRIC>
void mrpt::slam::JCBB_recursive ( const mrpt::math::CMatrixTemplateNumeric< T > &  Z_observations_mean,
const mrpt::math::CMatrixTemplateNumeric< T > &  Y_predictions_mean,
const mrpt::math::CMatrixTemplateNumeric< T > &  Y_predictions_cov,
TDataAssociationResults results,
const TAuxDataRecursiveJCBB info,
const observation_index_t  curObsIdx 
)
template<typename T , TDataAssociationMetric METRIC>
double mrpt::slam::joint_pdf_metric ( const CMatrixTemplateNumeric< T > &  Z_observations_mean,
const CMatrixTemplateNumeric< T > &  Y_predictions_mean,
const CMatrixTemplateNumeric< T > &  Y_predictions_cov,
const TAuxDataRecursiveJCBB info,
const TDataAssociationResults aux_data 
)

Computes the joint distance metric (mahalanobis or matching likelihood) between two a set of associations.

On "currentAssociation": maps "ID_obs" -> "ID_pred" For each landmark ID in the observations (ID_obs), its association in the predictions, that is: ID_pred = associations[ID_obs]

Definition at line 63 of file data_association.cpp.

References ASSERT_, mrpt::slam::TAuxDataRecursiveJCBB::currentAssociation, mrpt::slam::TAuxDataRecursiveJCBB::length_O, M_2PI, metricMaha, metricML, MRPT_UNUSED_PARAM, and mrpt::math::multiply_HCHt_scalar().

template<class PARTICLETYPE , class BINTYPE >
void mrpt::slam::KLF_loadBinFromParticle ( BINTYPE &  outBin,
const TKLDParams &  opts,
const PARTICLETYPE *  currentParticleValue = NULL,
const mrpt::math::TPose3D newPoseToBeInserted = NULL 
)
template<>
void mrpt::slam::KLF_loadBinFromParticle ( mrpt::slam::detail::TPoseBin3D outBin,
const TKLDParams opts,
const CMonteCarloLocalization3D::CParticleDataContent *  currentParticleValue,
const TPose3D newPoseToBeInserted 
)
template<>
void mrpt::slam::KLF_loadBinFromParticle ( mrpt::slam::detail::TPoseBin2D outBin,
const TKLDParams opts,
const CMonteCarloLocalization2D::CParticleDataContent *  currentParticleValue,
const TPose3D newPoseToBeInserted 
)
template<>
void mrpt::slam::KLF_loadBinFromParticle ( detail::TPoseBin2D outBin,
const TKLDParams opts,
const mrpt::maps::CRBPFParticleData currentParticleValue,
const TPose3D newPoseToBeInserted 
)
template<>
void mrpt::slam::KLF_loadBinFromParticle ( detail::TPathBin2D outBin,
const TKLDParams opts,
const mrpt::maps::CRBPFParticleData currentParticleValue,
const TPose3D newPoseToBeInserted 
)

Fills out a "TPathBin2D" variable, given a path hypotesis and (if not set to NULL) a new pose appended at the end, using the KLD params in "options".

Definition at line 75 of file CMultiMetricMapPDF_RBPF.cpp.

References mrpt::slam::detail::TPathBin2D::bins, mrpt::slam::TKLDParams::KLD_binSize_PHI, mrpt::slam::TKLDParams::KLD_binSize_XY, mrpt::maps::CRBPFParticleData::robotPath, mrpt::utils::round(), mrpt::math::TPose3D::x, mrpt::math::TPose3D::y, and mrpt::math::TPose3D::yaw.

::mrpt::utils::CStream& mrpt::slam::operator>> ( mrpt::utils::CStream in,
CIncrementalMapPartitionerPtr &  pObj 
)



Page generated by Doxygen 1.8.6 for MRPT 1.5.6 Git: 4c65e84 Tue Apr 24 08:18:17 2018 +0200 at mar abr 24 08:26:17 CEST 2018