Main MRPT website > C++ reference
MRPT logo
CTopLCDetector_GridMatching.h
Go to the documentation of this file.
1 /* +---------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2014, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +---------------------------------------------------------------------------+ */
9 
10 #ifndef _CTopLCDetector_GridMatching_H
11 #define _CTopLCDetector_GridMatching_H
12 
15 
16 namespace mrpt
17 {
18  namespace hmtslam
19  {
20  using namespace mrpt::slam;
21 
22  /** \ingroup mrpt_hmtslam_grp */
24  {
25  protected:
27 
28  public:
29  /** A class factory, to be implemented in derived classes.
30  */
32  {
33  return static_cast<CTopLCDetectorBase*>(new CTopLCDetector_GridMatching(hmtslam));
34  }
35 
36  /** Destructor */
37  virtual ~CTopLCDetector_GridMatching();
38 
39  /** This method must compute the topological observation model.
40  * \param out_log_lik The output, a log-likelihood.
41  * \return NULL, or a PDF of the estimated translation between the two areas (should be a SOG PDF): it's the pose of "refArea", relative to "currentArea".
42  */
43  CPose3DPDFPtr computeTopologicalObservationModel(
44  const THypothesisID &hypID,
45  const CHMHMapNodePtr &currentArea,
46  const CHMHMapNodePtr &refArea,
47  double &out_log_lik
48  );
49 
50  /** Hook method for being warned about the insertion of a new poses into the maps.
51  * This should be independent of hypothesis IDs.
52  */
53  void OnNewPose(
54  const TPoseID &poseID,
55  const CSensoryFrame *SF );
56 
57 
58  /** Options for a TLC-detector of type gridmap-matching, used from CHMTSLAM
59  */
61  {
62  /** Initialization of default params
63  */
64  TOptions();
65 
66 
67  /** Options for the grid-to-grid matching algorithm */
69 
70  /** Load parameters from configuration source
71  */
72  void loadFromConfigFile(
73  const mrpt::utils::CConfigFileBase &source,
74  const std::string &section);
75 
76  /** This method must display clearly all the contents of the structure in textual form, sending it to a CStream.
77  */
78  void dumpToTextStream(CStream &out) const;
79 
80  };
81 
82  }; // end class
83 
84  } // end namespace
85 } // end namespace
86 
87 
88 #endif
#define HMTSLAM_IMPEXP
The ICP algorithm configuration data.
mrpt::slam::CGridMapAligner::TConfigParams matchingOptions
Options for the grid-to-grid matching algorithm.
uint64_t TPoseID
An integer number uniquely identifying each robot pose stored in HMT-SLAM.
static CTopLCDetectorBase * createNewInstance(CHMTSLAM *hmtslam)
A class factory, to be implemented in derived classes.
An implementation of Hybrid Metric Topological SLAM (HMT-SLAM).
Definition: CHMTSLAM.h:66
This namespace contains algorithms for SLAM, localization, map building, representation of robot's ac...
This class allows loading and storing values and vectors of different types from a configuration text...
int64_t THypothesisID
An integer number uniquely identifying each of the concurrent hypotheses for the robot topological pa...
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
Definition: CStream.h:38
The virtual base class for Topological Loop-closure Detectors; used in HMT-SLAM.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Options for a TLC-detector of type gridmap-matching, used from CHMTSLAM.
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximat...
Definition: CSensoryFrame.h:53
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...



Page generated by Doxygen 1.8.8 for MRPT 1.2.2 SVN:Unversioned directory at Tue Oct 14 02:14:08 UTC 2014