Main MRPT website > C++ reference for MRPT 1.5.9
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...
 
class  PF_implementation
 A set of common data shared by PF implementations for both SLAM and localization. More...
 
struct  TAuxDataRecursiveJCBB
 
struct  TDataAssociationResults
 The results from mrpt::slam::data_association. 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...
 

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

◆ CLandmark

Backward compatible typedef.

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

◆ CLandmarkPtr

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

Backward compatible typedef.

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

◆ CLandmarksMap

Backward compatible typedef.

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

◆ CLandmarksMapPtr

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

Backward compatible typedef.

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

◆ CMultiMetricMap

Backward compatible typedef.

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

◆ CMultiMetricMapPDF

Backward compatible typedef.

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

◆ CMultiMetricMapPDFPtr

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

Backward compatible typedef.

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

◆ CMultiMetricMapPtr

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

Backward compatible typedef.

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

◆ CObservationVisualLandmarks

Backward compatible typedef.

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

◆ CObservationVisualLandmarksPtr

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

Backward compatible typedef.

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

Function Documentation

◆ isCloser()

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

◆ isCloser< metricMaha >()

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

Definition at line 134 of file data_association.cpp.

◆ isCloser< metricML >()

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

Definition at line 137 of file data_association.cpp.

◆ JCBB_recursive()

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 
)

◆ joint_pdf_metric()

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_, info, M_2PI, metricMaha, metricML, MRPT_UNUSED_PARAM, and mrpt::math::multiply_HCHt_scalar().

◆ KLF_loadBinFromParticle() [1/5]

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 
)

◆ KLF_loadBinFromParticle() [2/5]

template<>
void mrpt::slam::KLF_loadBinFromParticle ( mrpt::slam::detail::TPoseBin3D outBin,
const TKLDParams opts,
const CMonteCarloLocalization3D::CParticleDataContent currentParticleValue,
const TPose3D newPoseToBeInserted 
)

◆ KLF_loadBinFromParticle() [3/5]

template<>
void mrpt::slam::KLF_loadBinFromParticle ( mrpt::slam::detail::TPoseBin2D outBin,
const TKLDParams opts,
const CMonteCarloLocalization2D::CParticleDataContent currentParticleValue,
const TPose3D newPoseToBeInserted 
)

◆ KLF_loadBinFromParticle() [4/5]

template<>
void mrpt::slam::KLF_loadBinFromParticle ( detail::TPoseBin2D outBin,
const TKLDParams opts,
const mrpt::maps::CRBPFParticleData currentParticleValue,
const TPose3D newPoseToBeInserted 
)

◆ KLF_loadBinFromParticle() [5/5]

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.

◆ operator>>()

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



Page generated by Doxygen 1.8.14 for MRPT 1.5.9 Git: 690a4699f Wed Apr 15 19:29:53 2020 +0200 at miƩ abr 15 19:30:12 CEST 2020