Main MRPT website > C++ reference for MRPT 1.9.9
Classes | Namespaces | Modules | Enumerations | Functions
[mrpt-slam]

Detailed Description

Back to list of all libraries | See all modules

Library mrpt-slam


Interesting stuff in this library:

See the full list of classes in mrpt::slam. Note that there are many classes in that namespace not in the library mrpt-slam, but in libraries mrpt-slam depends on. However, in you set mrpt-slam as a dependence of your project, you can be safe all mrpt::slam classes will be available to you.

See also: For Graph-SLAM, see the namespace mrpt::graphslam in the library mrpt-graphslam.

Collaboration diagram for [mrpt-slam]:

Classes

class  mrpt::detectors::CDetectorDoorCrossing
 
class  mrpt::maps::CMultiMetricMap
 This class stores any customizable set of metric maps. More...
 
class  mrpt::maps::CRBPFParticleData
 Auxiliary class used in mrpt::maps::CMultiMetricMapPDF. More...
 
class  mrpt::slam::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  mrpt::slam::CICP
 Several implementations of ICP (Iterative closest point) algorithms for aligning two point maps or a point map wrt a grid map. More...
 
class  mrpt::slam::CIncrementalMapPartitioner
 This class can be used to make partitions on a map/graph build from observations taken at some poses/nodes. More...
 
class  mrpt::slam::CMetricMapsAlignmentAlgorithm
 A base class for any algorithm able of maps alignment. More...
 
class  mrpt::slam::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  mrpt::slam::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  mrpt::slam::COccupancyGridMapFeatureExtractor
 A class for detecting features from occupancy grid maps. More...
 
class  mrpt::slam::CRejectionSamplingRangeOnlyLocalization
 An implementation of rejection sampling for generating 2D robot pose from range-only measurements within a landmarks (beacons) map. More...
 
class  mrpt::slam::PF_implementation< PARTICLE_TYPE, PDF_TYPE, CParticleList >
 A set of common data shared by PF implementations for both SLAM and localization. More...
 
class  mrpt::slam::TKLDParams
 Option set for KLD algorithm. More...
 
struct  mrpt::slam::TMonteCarloLocalizationParams
 The struct for passing extra simulation parameters to the prediction stage when running a particle filter. More...
 

Namespaces

 mrpt::slam
 

Modules

 Metric SLAM algorithms
 
 Data association
 

Enumerations

enum  mrpt::slam::TICPCovarianceMethod { mrpt::slam::icpCovLinealMSE = 0, mrpt::slam::icpCovFiniteDifferences }
 ICP covariance estimation methods, used in mrpt::slam::CICP::options. More...
 

Functions

template<class MYSELF , class BINTYPE >
static bool mrpt::slam::AuxiliaryPFStandardAndOptimal< USE_OPTIMAL_SAMPLING >::PF_SLAM_implementation_gatherActionsCheckBothActObs (const mrpt::obs::CActionCollection *actions, const mrpt::obs::CSensoryFrame *sf, MYSELF &me)
 Auxiliary method called by PF implementations: return true if we have both action & observation, otherwise, return false AND accumulate the odometry so when we have an observation we didn't lose a thing. More...
 

Observations overlap functions

double mrpt::slam::observationsOverlap (const mrpt::obs::CObservation *o1, const mrpt::obs::CObservation *o2, const mrpt::poses::CPose3D *pose_o2_wrt_o1=nullptr)
 Estimates the "overlap" or "matching ratio" of two observations (range [0,1]), possibly taking into account their relative positions. More...
 
double mrpt::slam::observationsOverlap (const mrpt::obs::CObservation::Ptr &o1, const mrpt::obs::CObservation::Ptr &o2, const mrpt::poses::CPose3D *pose_o2_wrt_o1=nullptr)
 Estimates the "overlap" or "matching ratio" of two observations (range [0,1]), possibly taking into account their relative positions. More...
 
double mrpt::slam::observationsOverlap (const mrpt::obs::CSensoryFrame &sf1, const mrpt::obs::CSensoryFrame &sf2, const mrpt::poses::CPose3D *pose_sf2_wrt_sf1=nullptr)
 Estimates the "overlap" or "matching ratio" of two set of observations (range [0,1]), possibly taking into account their relative positions. More...
 
double mrpt::slam::observationsOverlap (const mrpt::obs::CSensoryFrame::Ptr &sf1, const mrpt::obs::CSensoryFrame::Ptr &sf2, const mrpt::poses::CPose3D *pose_sf2_wrt_sf1=nullptr)
 Estimates the "overlap" or "matching ratio" of two set of observations (range [0,1]), possibly taking into account their relative positions. More...
 

Enumeration Type Documentation

◆ TICPCovarianceMethod

ICP covariance estimation methods, used in mrpt::slam::CICP::options.

Enumerator
icpCovLinealMSE 

Use the covariance of the optimal registration, disregarding uncertainty in data association.

icpCovFiniteDifferences 

Covariance of a least-squares optimizer (includes data association uncertainty)

Definition at line 30 of file CICP.h.

Function Documentation

◆ observationsOverlap() [1/4]

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

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 27 of file observations_overlap.cpp.

References mrpt::obs::CObservation2DRangeScan::buildAuxPointsMap(), mrpt::maps::TMatchingExtraResults::correspondencesRatio, mrpt::maps::CPointsMap::determineMatching3D(), IS_CLASS, mrpt::maps::TMatchingParams::maxAngularDistForCorrespondence, and mrpt::maps::TMatchingParams::maxDistForCorrespondence.

Referenced by mrpt::slam::CIncrementalMapPartitioner::addMapFrame(), and mrpt::slam::observationsOverlap().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ observationsOverlap() [2/4]

double mrpt::slam::observationsOverlap ( const mrpt::obs::CObservation::Ptr o1,
const mrpt::obs::CObservation::Ptr o2,
const mrpt::poses::CPose3D pose_o2_wrt_o1 = nullptr 
)
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 37 of file observations_overlap.h.

References mrpt::slam::observationsOverlap().

Here is the call graph for this function:

◆ observationsOverlap() [3/4]

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

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

References mrpt::obs::CSensoryFrame::begin(), mrpt::obs::CSensoryFrame::end(), MRPT_UNUSED_PARAM, and mrpt::slam::observationsOverlap().

Here is the call graph for this function:

◆ observationsOverlap() [4/4]

double mrpt::slam::observationsOverlap ( const mrpt::obs::CSensoryFrame::Ptr sf1,
const mrpt::obs::CSensoryFrame::Ptr sf2,
const mrpt::poses::CPose3D pose_sf2_wrt_sf1 = nullptr 
)
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 61 of file observations_overlap.h.

References mrpt::slam::observationsOverlap().

Here is the call graph for this function:

◆ PF_SLAM_implementation_gatherActionsCheckBothActObs()

template<bool USE_OPTIMAL_SAMPLING>
template<class MYSELF , class BINTYPE >
static bool mrpt::slam::AuxiliaryPFStandardAndOptimal< USE_OPTIMAL_SAMPLING >::PF_SLAM_implementation_gatherActionsCheckBothActObs ( const mrpt::obs::CActionCollection actions,
const mrpt::obs::CSensoryFrame sf,
MYSELF &  me 
)
inlinestatic

Auxiliary method called by PF implementations: return true if we have both action & observation, otherwise, return false AND accumulate the odometry so when we have an observation we didn't lose a thing.

On return=true, the "m_movementDrawer" member is loaded and ready to draw samples of the increment of pose since last step. This method is smart enough to accumulate CActionRobotMovement2D or CActionRobotMovement3D, whatever comes in.

Definition at line 847 of file PF_implementations.h.

References ASSERT_, mrpt::obs::CActionRobotMovement2D::computeFromOdometry(), mrpt::utils::poly_ptr_ptr< T >::get_ptr(), mrpt::obs::CActionCollection::getActionByClass(), mrpt::obs::CActionCollection::getBestMovementEstimation(), mrpt::obs::CActionRobotMovement2D::poseChange, and THROW_EXCEPTION.

Referenced by mrpt::slam::AuxiliaryPFStandardAndOptimal< USE_OPTIMAL_SAMPLING >::PF_SLAM_implementation().

Here is the call graph for this function:
Here is the caller graph for this function:



Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019