This namespace contains algorithms for SLAM, localization, map building, representation of robot's actions and observations, and representation of many kinds of metric maps. More...
Classes | |
| class | CAction |
| Declares a class for storing a robot action. More... | |
| class | CActionCollection |
| Declares a class for storing a collection of robot actions. More... | |
| class | CActionRobotMovement2D |
| Represents a probabilistic 2D movement of the robot mobile base. More... | |
| class | CActionRobotMovement3D |
| Represents a probabilistic 3D (6D) movement. More... | |
| class | CBeacon |
| The class for storing individual "beacon landmarks" under a variety of 3D position PDF distributions. More... | |
| 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... | |
| class | CColouredPointsMap |
| A map of 2D/3D points with individual colours (RGB). More... | |
| class | CConsistentObservationAlignment |
| An algorithm for globally, consistent alignment of a sequence of observations. More... | |
| class | CDetectorDoorCrossing |
| 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... | |
| 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... | |
| 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... | |
| class | CICP |
| Several implementations of ICP (Iterative closest point) algorithms for aligning two point maps. 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 | CLandmark |
| The class for storing "landmarks" (visual or laser-scan-extracted features,. More... | |
| class | CLandmarksMap |
| A class for storing a map of 3D probabilistic landmarks. More... | |
| class | CMetricMap |
| Declares a virtual base class for all metric maps storage classes. 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 | 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... | |
| class | CRBPFParticleData |
| Auxiliary class used in mrpt::slam::CMultiMetricMapPDF. More... | |
| 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 | CObservation |
| Declares a class that represents any robot's observation. More... | |
| class | CObservation2DRangeScan |
| Declares a class derived from "CObservation" that encapsules a 2D range scan measurement (typically from a laser scanner). More... | |
| class | CObservation3DRangeScan |
| Declares a class derived from "CObservation" that encapsules a 3D range scan measurement (e.g. More... | |
| class | CObservationBatteryState |
| This represents a measurement of the batteries on the robot. More... | |
| class | CObservationBeaconRanges |
| Declares a class derived from "CObservation" that represents one (or more) range measurements to labeled beacons. More... | |
| 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... | |
| class | CObservationComment |
| This "observation" is actually a placeholder for a text block with comments or additional parameters attached to a given rawlog file. More... | |
| class | CObservationGasSensors |
| Declares a class derived from "CObservation" that represents a set of readings from gas sensors. More... | |
| class | CObservationGPS |
| Declares a class derived from "CObservation" that represents a Global Positioning System (GPS) reading. More... | |
| class | CObservationImage |
| Declares a class derived from "CObservation" that encapsules an image from a camera, whose relative pose to robot is also stored. More... | |
| class | CObservationIMU |
| This class stores measurements from an Inertial Measurement Unit (IMU), and/or its attitude estimation (integration of raw measurements). More... | |
| class | CObservationOdometry |
| An observation of the current (cumulative) odometry for a wheeled robot. More... | |
| class | CObservationRange |
| Declares a class derived from "CObservation" that encapsules a single range measurement, and associated parameters. More... | |
| class | CObservationStereoImages |
| Declares a class derived from "CObservation" that encapsule a pair of images taken by a stereo camera. More... | |
| 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... | |
| class | COccupancyGridMap2D |
| COccupancyGridMap2D is a class for storing an occupancy grid map. 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 | CPointsMap |
| A cloud of points in 2D or 3D, which can be built from a sequence of laser scans or other sensors. 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 | CRawlog |
This class stores a rawlog (robotic datasets) in one of two possible formats:
| |
| class | CRejectionSamplingRangeOnlyLocalization |
| An implementation of rejection sampling for generating 2D robot pose from range-only measurements within a landmarks (beacons) map. More... | |
| class | CRobotSimulator |
| This class can be used to simulate the kinematics and dynamics of a differential driven planar mobile robot, including odometry errors and dynamics limitations. More... | |
| class | CSensFrameProbSequence |
| This class stores a sequence of <Probabilistic Pose,SensoryFrame> pairs, thus a "metric map" can be totally determined with this information. More... | |
| class | CSensoryFrame |
| Declares a class for storing a "sensory frame", thus a set of "observations" of the robot, taken exactly from the same location.The "observations" can be of many different kinds. More... | |
| class | CSimplePointsMap |
| A cloud of points in 2D or 3D, which can be built from a sequence of laser scans. More... | |
| struct | TDataAssociationResults |
| The results from mrpt::slam::data_association. More... | |
| class | TKLDParams |
| Option set for KLD algorithm. More... | |
Typedefs | |
| typedef std::vector< CLandmark > | TSequenceLandmarks |
| Internal use. | |
| 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. | |
Enumerations | |
| enum | TICPAlgorithm { icpClassic = 0, icpLevenbergMarquardt, icpIKF } |
The ICP algorithm selection, used in mrpt::slam::CICP::options. More... | |
| 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... | |
Functions | |
| bool | operator< (const mrpt::slam::CMetricMap::TMatchingPair &a, const mrpt::slam::CMetricMap::TMatchingPair &b) |
| A comparison operator, for sorting lists of TMatchingPair's, first order by this_idx, if equals, by other_idx. | |
| bool | operator== (const mrpt::slam::CMetricMap::TMatchingPair &a, const mrpt::slam::CMetricMap::TMatchingPair &b) |
| A comparison operator. | |
| bool | operator== (const mrpt::slam::CMetricMap::TMatchingPairList &a, const mrpt::slam::CMetricMap::TMatchingPairList &b) |
| A comparison operator. | |
| bool | operator< (const COccupancyGridMap2D::TPairLikelihoodIndex &e1, const COccupancyGridMap2D::TPairLikelihoodIndex &e2) |
| template<class CPOSE > | |
| double MRPTDLLIMPEXP | optimizePoseGraph_levmarq (const mrpt::poses::CNetworkOfPoses< CPOSE > &pose_graph, std::map< size_t, CPOSE > &optimal_poses, const size_t max_iterations=100, const size_t origin_pose=static_cast< size_t >(-1)) |
| An algorithm for optimizing a network of 2D or 3D pose links based on Levenberg-Marquardt error minimization. | |
| template<class CPOSE > | |
| double MRPTDLLIMPEXP | optimizePoseGraph_stogradesc (const mrpt::poses::CNetworkOfPoses< CPOSE > &pose_graph, std::map< size_t, CPOSE > &optimal_poses, const size_t max_iterations=100, const size_t origin_pose=static_cast< size_t >(-1)) |
| An algorithm for optimizing a network of 2D or 3D pose links based on stochastic gradient descent. | |
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 MRPTDLLIMPEXP | data_association_full_covariance (const mrpt::math::CMatrixDouble &Z_observations_mean, const mrpt::math::CMatrixDouble &Z_observations_covs, 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 >()) |
| 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 MRPTDLLIMPEXP | data_association_independent_predictions (const mrpt::math::CMatrixDouble &Z_observations_mean, const mrpt::math::CMatrixDouble &Z_observations_covs, 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 >()) |
| 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. | |
| void MRPTDLLIMPEXP | data_association_independent_2d_points (const std::vector< mrpt::poses::CPoint2DPDFGaussian > observations, const std::vector< mrpt::poses::CPoint2DPDFGaussian > predictions, 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 >()) |
| Computes the data-association between the prediction of a set of landmarks and their observations, all of them with covariance matrices - Specialized version for 2D points with NO prediction cross-covariances. | |
| void MRPTDLLIMPEXP | data_association_independent_3d_points (const std::vector< mrpt::poses::CPointPDFGaussian > observations, const std::vector< mrpt::poses::CPointPDFGaussian > predictions, 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 >()) |
| Computes the data-association between the prediction of a set of landmarks and their observations, all of them with covariance matrices - Specialized version for 3D points with NO prediction cross-covariances. | |
This namespace contains algorithms for SLAM, localization, map building, representation of robot's actions and observations, and representation of many kinds of metric maps.
| typedef size_t mrpt::slam::observation_index_t |
Used in mrpt::slam::TDataAssociationResults.
Definition at line 59 of file data_association.h.
| typedef size_t mrpt::slam::prediction_index_t |
Used in mrpt::slam::TDataAssociationResults.
Definition at line 60 of file data_association.h.
| typedef std::multimap<mrpt::system::TTimeStamp, CObservationPtr> mrpt::slam::TListTimeAndObservations |
| typedef std::deque<CMetricMap*> mrpt::slam::TMetricMapList |
A list of metric maps (used in the mrpt::poses::CPosePDFParticles class):.
Definition at line 386 of file CMetricMap.h.
| typedef std::vector<CLandmark> mrpt::slam::TSequenceLandmarks |
Internal use.
Definition at line 51 of file CLandmarksMap.h.
| typedef std::pair<mrpt::system::TTimeStamp, CObservationPtr> mrpt::slam::TTimeObservationPair |
Different algorithms for data association, used in mrpt::slam::data_association.
| assocNN |
Nearest-neighbor. |
| assocJCBB |
JCBB: Joint Compatibility Branch & Bound [Neira, Tardos 2001]. |
Definition at line 45 of file data_association.h.
Different metrics for data association, used in mrpt::slam::data_association.
| metricMaha |
Mahalanobis distance. |
| metricML |
Matching likelihood (See paper: http://babel.isa.uma.es/mrpt/index.php/Paper:Matching_Likelihood ). |
Definition at line 53 of file data_association.h.
The ICP algorithm selection, used in mrpt::slam::CICP::options.
For details on the algorithms refer to http://babel.isa.uma.es/mrpt/index.php/Scan_Matching_Algorithms
Symbolic names for the indices of IMU data (refer to mrpt::slam::CObservationIMU).
| 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.
| void MRPTDLLIMPEXP mrpt::slam::data_association_full_covariance | ( | const mrpt::math::CMatrixDouble & | Z_observations_mean, | |
| const mrpt::math::CMatrixDouble & | Z_observations_covs, | |||
| 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 >() | |||
| ) |
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)
With both a Mahalanobis-distance or Matching-likelihood metric (See paper: http://babel.isa.uma.es/mrpt/index.php/Paper:Matching_Likelihood )
| Z_observations_mean | [IN] An MxO matrix with the M observations, each row containing the observation "mean". | |
| Z_observations_covs | [IN] An OxO or M·OxO matrix: M vertically-stacked matrices, each one being the covariance of its corresponding observation in "Z_observations_mean". As an optimization, if the matrix is OxO, it will be assumed that all the observations have the same covariance. | |
| 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]". |
| void MRPTDLLIMPEXP mrpt::slam::data_association_independent_2d_points | ( | const std::vector< mrpt::poses::CPoint2DPDFGaussian > | observations, | |
| const std::vector< mrpt::poses::CPoint2DPDFGaussian > | predictions, | |||
| 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 >() | |||
| ) |
Computes the data-association between the prediction of a set of landmarks and their observations, all of them with covariance matrices - Specialized version for 2D points with NO prediction cross-covariances.
Implemented methods include (see TDataAssociation)
With both a Mahalanobis-distance or Matching-likelihood metric (See paper: http://babel.isa.uma.es/mrpt/index.php/Paper:Matching_Likelihood )
| observations | [IN] A list of the M observed points. | |
| predictions | [IN] A list of the N predicted map points. | |
| 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]". |
| void MRPTDLLIMPEXP mrpt::slam::data_association_independent_3d_points | ( | const std::vector< mrpt::poses::CPointPDFGaussian > | observations, | |
| const std::vector< mrpt::poses::CPointPDFGaussian > | predictions, | |||
| 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 >() | |||
| ) |
Computes the data-association between the prediction of a set of landmarks and their observations, all of them with covariance matrices - Specialized version for 3D points with NO prediction cross-covariances.
Implemented methods include (see TDataAssociation)
With both a Mahalanobis-distance or Matching-likelihood metric (See paper: http://babel.isa.uma.es/mrpt/index.php/Paper:Matching_Likelihood )
| observations | [IN] A list of the M observed points. | |
| predictions | [IN] A list of the N predicted map points. | |
| 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]". |
| void MRPTDLLIMPEXP mrpt::slam::data_association_independent_predictions | ( | const mrpt::math::CMatrixDouble & | Z_observations_mean, | |
| const mrpt::math::CMatrixDouble & | Z_observations_covs, | |||
| 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 >() | |||
| ) |
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)
With both a Mahalanobis-distance or Matching-likelihood metric (See paper: http://babel.isa.uma.es/mrpt/index.php/Paper:Matching_Likelihood )
| Z_observations_mean | [IN] An MxO matrix with the M observations, each row containing the observation "mean". | |
| Z_observations_covs | [IN] An OxO or M·OxO matrix: M vertically-stacked matrices, each one being the covariance of its corresponding observation in "Z_observations_mean". As an optimization, if the matrix is OxO, it will be assumed that all the observations have the same covariance. | |
| 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]". |
| bool mrpt::slam::operator< | ( | const COccupancyGridMap2D::TPairLikelihoodIndex & | e1, | |
| const COccupancyGridMap2D::TPairLikelihoodIndex & | e2 | |||
| ) |
| bool mrpt::slam::operator< | ( | const mrpt::slam::CMetricMap::TMatchingPair & | a, | |
| const mrpt::slam::CMetricMap::TMatchingPair & | b | |||
| ) |
A comparison operator, for sorting lists of TMatchingPair's, first order by this_idx, if equals, by other_idx.
| bool mrpt::slam::operator== | ( | const mrpt::slam::CMetricMap::TMatchingPairList & | a, | |
| const mrpt::slam::CMetricMap::TMatchingPairList & | b | |||
| ) |
A comparison operator.
| bool mrpt::slam::operator== | ( | const mrpt::slam::CMetricMap::TMatchingPair & | a, | |
| const mrpt::slam::CMetricMap::TMatchingPair & | b | |||
| ) |
A comparison operator.
| double MRPTDLLIMPEXP mrpt::slam::optimizePoseGraph_levmarq | ( | const mrpt::poses::CNetworkOfPoses< CPOSE > & | pose_graph, | |
| std::map< size_t, CPOSE > & | optimal_poses, | |||
| const size_t | max_iterations = 100, |
|||
| const size_t | origin_pose = static_cast< size_t >(-1) | |||
| ) | [inline] |
An algorithm for optimizing a network of 2D or 3D pose links based on Levenberg-Marquardt error minimization.
It is computed the list of optimal, consistent global coordinates for each node in the graph. Relative poses are represented by Gaussians with a mean and a covariance, which is also taken into account in the optimization.
The algorithm can be seen as an extension to the work of Lu & Milios
| pose_graph | [IN] The graph of pose constraints. It can be of either type CNetworkOfPoses2D or CNetworkOfPoses3D. | |
| optimal_poses | [OUT] The consistent, global coordinates of all the pose nodes in the graph. | |
| origin_pose | [IN] Due to the degrees of freedom, one arbitrary pose is set to the origin (0,0,0). This parameter defines the pose ID of the pose to be taken as the origin, and the default value (ID:-1) will select the reference pose in the first link in pose_graph. | |
| max_iterations | [IN] The maximum number of iterations. If it is set to 0, the global poses computed as initial values from Dijkstra will be returned. |
| double MRPTDLLIMPEXP mrpt::slam::optimizePoseGraph_stogradesc | ( | const mrpt::poses::CNetworkOfPoses< CPOSE > & | pose_graph, | |
| std::map< size_t, CPOSE > & | optimal_poses, | |||
| const size_t | max_iterations = 100, |
|||
| const size_t | origin_pose = static_cast< size_t >(-1) | |||
| ) | [inline] |
An algorithm for optimizing a network of 2D or 3D pose links based on stochastic gradient descent.
It is computed the list of optimal, consistent global coordinates for each node in the graph. Relative poses are represented by Gaussians with a mean and a covariance, which is also taken into account in the optimization.
This class is a C++ implementation of the work proposed in the paper:
| pose_graph | [IN] The graph of pose constraints. It can be of either type CNetworkOfPoses2D or CNetworkOfPoses3D. | |
| optimal_poses | [OUT] The consistent, global coordinates of all the pose nodes in the graph. | |
| origin_pose | [IN] Due to the degrees of freedom, one arbitrary pose is set to the origin (0,0,0). This parameter defines the pose ID of the pose to be taken as the origin, and the default value (ID:-1) will select the reference pose in the first link in pose_graph. | |
| max_iterations | [IN] The maximum number of iterations. If it is set to 0, the global poses computed as initial values from Dijkstra will be returned. |
| Page generated by Doxygen 1.6.2 for MRPT 0.8.1 SVN:exported at Mon Feb 15 22:01:07 UTC 2010 |