Main MRPT website > C++ reference
MRPT logo
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Types

mrpt::slam::CConsistentObservationAlignment Class Reference


Detailed Description

An algorithm for globally, consistent alignment of a sequence of observations.

This algorithm is based on the work of Lu & Milios [Globally Consistent Range Scan Alignment for Environment Mapping, 1997] for a global optimal estimation of laser range scan poses, but in this case it has been extended to include any type of observations as long as points-map-like operators are implemented over them.
This class work in the following way:
The input is a set of observations with associated "global" poses. This is supplied with a "CSimpleMap" object, but the probabilistic poses are ignored since only the mean values for the pose of each node are taken.
After invoking the algorithm with CConsistentObservationAlignment::execute(), a new "CSimpleMap" object is returned, where the NOTE: The first node on the input map is used as reference and therefore its pose is the only one which will never change.

Note:
This class is superseded by more modern implementations of graph-slam. See mrpt::graphslam
See also:
CSimpleMap, CPosePDF, CObservation, utils::CDebugOutputCapable

Definition at line 71 of file CConsistentObservationAlignment.h.

#include <mrpt/slam/CConsistentObservationAlignment.h>

Inheritance diagram for mrpt::slam::CConsistentObservationAlignment:
Inheritance graph
[legend]

List of all members.

Classes

struct  TOptions
 The options for the method. More...

Public Member Functions

 CConsistentObservationAlignment ()
void execute (CSimpleMap &inputMap, CSimpleMap &outputMap)
 Executes the algorithm.
std::string getAlgorithmName ()
 A textual description for the implemented algorithm.

Static Public Member Functions

static void optimizeUserSuppliedData (math::CMatrixTemplateObjects< CPosePDFGaussian > &in_PoseConstraints, math::CMatrixTemplateObjects< CPosePDFGaussian > &out_OptimalPoses)
 This alternate method provides the basic consistent alignment algorithm to any user-supplied matrix of pose constrainsts, returning the optimal poses of all the nodes relative to the first one.

Public Attributes

struct SLAM_IMPEXP
mrpt::slam::CConsistentObservationAlignment::TOptions 
options

Protected Types

typedef std::vector
< CPosePDFGaussianPtr
vector_posesPdf
 A sequence of probabilistic poses:

Member Typedef Documentation

A sequence of probabilistic poses:

Definition at line 76 of file CConsistentObservationAlignment.h.


Constructor & Destructor Documentation

mrpt::slam::CConsistentObservationAlignment::CConsistentObservationAlignment ( )

Member Function Documentation

void mrpt::slam::CConsistentObservationAlignment::execute ( CSimpleMap inputMap,
CSimpleMap outputMap 
)

Executes the algorithm.

See description in CConsistentObservationAlignment.

Parameters:
inputMapThe input to the algorithm: a set of nodes situated (with global coordinates) and observations from each node.
outputMapThe globally consistent map, where probabilitic poses are filled with gaussian PDFs, where the mean is the globally optimal estimation and the covariance is also computed.
std::string mrpt::slam::CConsistentObservationAlignment::getAlgorithmName ( )

A textual description for the implemented algorithm.

static void mrpt::slam::CConsistentObservationAlignment::optimizeUserSuppliedData ( math::CMatrixTemplateObjects< CPosePDFGaussian > &  in_PoseConstraints,
math::CMatrixTemplateObjects< CPosePDFGaussian > &  out_OptimalPoses 
) [static]

This alternate method provides the basic consistent alignment algorithm to any user-supplied matrix of pose constrainsts, returning the optimal poses of all the nodes relative to the first one.

Parameters:
in_PoseConstraintsThis is a NxN matrix where element M(i,j) is the pose constrainst between node "i" and "j". Please, fill out only the upper-triangle part of the matrix (diagonal and lowe-part entries are not used).
out_OptimalPosesThe 1xN vector with the consistent global poses of all nodes, where the first node is always at (0,0,0deg).

Member Data Documentation




Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN:exported at Tue Jan 25 21:56:31 UTC 2011