Main MRPT website > C++ reference for MRPT 1.4.0
CTopLCDetector_FabMap.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-2016, 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 #ifndef _CTopLCDetector_FabMap_H
10 #define _CTopLCDetector_FabMap_H
11 
13 
14 namespace mrpt
15 {
16  namespace hmtslam
17  {
18  /** \ingroup mrpt_hmtslam_grp */
20  {
21  protected:
22  CTopLCDetector_FabMap( CHMTSLAM *hmtslam );
23 
24  void *m_fabmap; // FabMapInstance*
25 
26  public:
27  /** A class factory, to be implemented in derived classes.
28  */
30  {
31  return static_cast<CTopLCDetectorBase*>(new CTopLCDetector_FabMap(hmtslam));
32  }
33 
34  /** Destructor */
35  virtual ~CTopLCDetector_FabMap();
36 
37  /** This method must compute the topological observation model.
38  * \param out_log_lik The output, a log-likelihood.
39  * \return NULL (empty smart pointer), or a PDF of the estimated translation between the two areas (can be a multi-modal PDF).
40  */
41  mrpt::poses::CPose3DPDFPtr computeTopologicalObservationModel(
42  const THypothesisID &hypID,
43  const CHMHMapNodePtr &currentArea,
44  const CHMHMapNodePtr &refArea,
45  double &out_log_lik
46  );
47 
48  /** Hook method for being warned about the insertion of a new poses into the maps.
49  * This should be independent of hypothesis IDs.
50  */
51  void OnNewPose(
52  const TPoseID &poseID,
53  const mrpt::obs::CSensoryFrame *SF );
54 
55 
56  /** Options for a TLC-detector of type FabMap, used from CHMTSLAM
57  */
59  {
60  /** Initialization of default params
61  */
62  TOptions();
63 
64  void loadFromConfigFile(const mrpt::utils::CConfigFileBase &source,const std::string &section) MRPT_OVERRIDE; // See base docs
65  void dumpToTextStream(mrpt::utils::CStream &out) const MRPT_OVERRIDE; // See base docs
66 
67  std::string vocab_path,vocabName;
69  };
70 
71 
72  }; // end class
73  } // end namespace
74 } // end namespace
75 
76 
77 #endif
mrpt::hmtslam::CTopLCDetector_FabMap::~CTopLCDetector_FabMap
virtual ~CTopLCDetector_FabMap()
Destructor.
mrpt::hmtslam::CTopLCDetector_FabMap::createNewInstance
static CTopLCDetectorBase * createNewInstance(CHMTSLAM *hmtslam)
A class factory, to be implemented in derived classes.
Definition: CTopLCDetector_FabMap.h:29
mrpt::hmtslam::CTopLCDetector_FabMap
Definition: CTopLCDetector_FabMap.h:19
mrpt::hmtslam::CHMTSLAM
An implementation of Hybrid Metric Topological SLAM (HMT-SLAM).
Definition: CHMTSLAM.h:59
mrpt::hmtslam::CTopLCDetector_FabMap::TOptions::loadFromConfigFile
void loadFromConfigFile(const mrpt::utils::CConfigFileBase &source, const std::string &section) MRPT_OVERRIDE
This method load the options from a ".ini"-like file or memory-stored string list.
mrpt::hmtslam::CTopLCDetector_FabMap::TOptions::vocabName
std::string vocabName
Definition: CTopLCDetector_FabMap.h:67
mrpt::hmtslam::CTopLCDetector_FabMap::TOptions::df_lik_smooth
double df_lik_smooth
Definition: CTopLCDetector_FabMap.h:68
CTopLCDetectorBase.h
mrpt::hmtslam::THypothesisID
int64_t THypothesisID
An integer number uniquely identifying each of the concurrent hypotheses for the robot topological pa...
Definition: HMT_SLAM_common.h:60
mrpt::hmtslam::CTopLCDetector_FabMap::CTopLCDetector_FabMap
CTopLCDetector_FabMap(CHMTSLAM *hmtslam)
mrpt
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Definition: CParticleFilter.h:16
mrpt::hmtslam::CTopLCDetector_FabMap::OnNewPose
void OnNewPose(const TPoseID &poseID, const mrpt::obs::CSensoryFrame *SF)
Hook method for being warned about the insertion of a new poses into the maps.
mrpt::obs::CSensoryFrame
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximat...
Definition: obs/CSensoryFrame.h:52
mrpt::utils::CStream
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
Definition: CStream.h:38
mrpt::utils::CConfigFileBase
This class allows loading and storing values and vectors of different types from a configuration text...
Definition: CConfigFileBase.h:30
mrpt::utils::CLoadableOptions
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
Definition: CLoadableOptions.h:31
mrpt::hmtslam::CTopLCDetector_FabMap::TOptions::vocab_path
std::string vocab_path
Definition: CTopLCDetector_FabMap.h:67
mrpt::hmtslam::CTopLCDetector_FabMap::m_fabmap
void * m_fabmap
Definition: CTopLCDetector_FabMap.h:24
mrpt::hmtslam::CTopLCDetector_FabMap::TOptions::p_obs_given_exists
double p_obs_given_exists
Definition: CTopLCDetector_FabMap.h:68
mrpt::hmtslam::CTopLCDetector_FabMap::TOptions::dumpToTextStream
void dumpToTextStream(mrpt::utils::CStream &out) const MRPT_OVERRIDE
This method should clearly display all the contents of the structure in textual form,...
mrpt::hmtslam::CTopLCDetector_FabMap::TOptions
Options for a TLC-detector of type FabMap, used from CHMTSLAM.
Definition: CTopLCDetector_FabMap.h:58
mrpt::hmtslam::TPoseID
uint64_t TPoseID
An integer number uniquely identifying each robot pose stored in HMT-SLAM.
Definition: HMT_SLAM_common.h:65
mrpt::hmtslam::CTopLCDetector_FabMap::computeTopologicalObservationModel
mrpt::poses::CPose3DPDFPtr computeTopologicalObservationModel(const THypothesisID &hypID, const CHMHMapNodePtr &currentArea, const CHMHMapNodePtr &refArea, double &out_log_lik)
This method must compute the topological observation model.
mrpt::hmtslam::CTopLCDetector_FabMap::TOptions::TOptions
TOptions()
Initialization of default params.
mrpt::hmtslam::CTopLCDetector_FabMap::TOptions::p_at_new_place
double p_at_new_place
Definition: CTopLCDetector_FabMap.h:68
mrpt::hmtslam::CTopLCDetectorBase
The virtual base class for Topological Loop-closure Detectors; used in HMT-SLAM.
Definition: CTopLCDetectorBase.h:26
MRPT_OVERRIDE
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
Definition: mrpt_macros.h:28



Page generated by Doxygen 1.8.17 for MRPT 1.4.0 SVN: at Tue Mar 3 09:15:16 UTC 2020