MRPT logo

mrpt::slam::CConsistentObservationAlignment Class Reference

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

#include <mrpt/slam/CConsistentObservationAlignment.h>

Inheritance diagram for mrpt::slam::CConsistentObservationAlignment:

mrpt::utils::CDebugOutputCapable

List of all members.

Classes

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

Public Member Functions

 CConsistentObservationAlignment ()
void execute (CSensFrameProbSequence &inputMap, CSensFrameProbSequence &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 MRPTDLLIMPEXP
mrpt::slam::CConsistentObservationAlignment::TOptions 
options
 The options for the method.

Protected Types

typedef std::vector
< CPosePDFGaussian
vector_posesPdf
 A sequence of probabilistic poses:.


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 "CSensFrameProbSequence" 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 "CSensFrameProbSequence" 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.

See also:
CSensFrameProbSequence, CPosePDF, CObservation, utils::CDebugOutputCapable

Definition at line 67 of file CConsistentObservationAlignment.h.


Member Typedef Documentation

A sequence of probabilistic poses:.

Definition at line 72 of file CConsistentObservationAlignment.h.


Constructor & Destructor Documentation

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


Member Function Documentation

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

Executes the algorithm.

See description in CConsistentObservationAlignment.

Parameters:
inputMap The input to the algorithm: a set of nodes situated (with global coordinates) and observations from each node.
outputMap The 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_PoseConstraints This 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_OptimalPoses The 1xN vector with the consistent global poses of all nodes, where the first node is always at (0,0,0deg).


Member Data Documentation

The options for the method.




Page generated by Doxygen 1.5.9 for MRPT 0.6.5 SVN: at Sun Aug 2 11:39:56 CDT 2009