Main MRPT website > C++ reference for MRPT 1.9.9
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-2018, 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:
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*>(
32  new CTopLCDetector_FabMap(hmtslam));
33  }
34 
35  /** Destructor */
36  virtual ~CTopLCDetector_FabMap();
37 
38  /** This method must compute the topological observation model.
39  * \param out_log_lik The output, a log-likelihood.
40  * \return nullptr (empty smart pointer), or a PDF of the estimated
41  * translation between the two areas (can be a multi-modal PDF).
42  */
44  const THypothesisID& hypID, const CHMHMapNode::Ptr& currentArea,
45  const CHMHMapNode::Ptr& refArea, double& out_log_lik);
46 
47  /** Hook method for being warned about the insertion of a new poses into the
48  * maps.
49  * This should be independent of hypothesis IDs.
50  */
51  void OnNewPose(const TPoseID& poseID, const mrpt::obs::CSensoryFrame* SF);
52 
53  /** Options for a TLC-detector of type FabMap, used from CHMTSLAM
54  */
56  {
57  /** Initialization of default params
58  */
59  TOptions();
60 
61  void loadFromConfigFile(
63  const std::string& section) override; // See base docs
64  void dumpToTextStream(
65  std::ostream& out) const override; // See base docs
66 
69  };
70 
71 }; // end class
72 } // end namespace
73 } // end namespace
74 
75 #endif
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:68
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.
Definition: CTopLCDetector_FabMap.cpp:78
mrpt::hmtslam::CTopLCDetector_FabMap::CTopLCDetector_FabMap
CTopLCDetector_FabMap(CHMTSLAM *hmtslam)
Definition: CTopLCDetector_FabMap.cpp:23
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
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Definition: CKalmanFilterCapable.h:30
source
GLsizei GLsizei GLchar * source
Definition: glext.h:4082
mrpt::obs::CSensoryFrame
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximat...
Definition: CSensoryFrame.h:54
mrpt::hmtslam::CTopLCDetector_FabMap::~CTopLCDetector_FabMap
virtual ~CTopLCDetector_FabMap()
Destructor.
Definition: CTopLCDetector_FabMap.cpp:50
mrpt::config::CConfigFileBase
This class allows loading and storing values and vectors of different types from a configuration text...
Definition: config/CConfigFileBase.h:44
mrpt::hmtslam::CTopLCDetector_FabMap::TOptions::vocab_path
std::string vocab_path
Definition: CTopLCDetector_FabMap.h:67
mrpt::hmtslam::CTopLCDetector_FabMap::TOptions::TOptions
TOptions()
Initialization of default params.
Definition: CTopLCDetector_FabMap.cpp:108
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::config::CLoadableOptions
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
Definition: config/CLoadableOptions.h:28
mrpt::hmtslam::CTopLCDetector_FabMap::TOptions
Options for a TLC-detector of type FabMap, used from CHMTSLAM.
Definition: CTopLCDetector_FabMap.h:55
mrpt::hmtslam::CTopLCDetector_FabMap::TOptions::loadFromConfigFile
void loadFromConfigFile(const mrpt::config::CConfigFileBase &source, const std::string &section) override
This method load the options from a ".ini"-like file or memory-stored string list.
Definition: CTopLCDetector_FabMap.cpp:118
mrpt::hmtslam::TPoseID
uint64_t TPoseID
An integer number uniquely identifying each robot pose stored in HMT-SLAM.
Definition: HMT_SLAM_common.h:66
mrpt::hmtslam::CTopLCDetector_FabMap::TOptions::dumpToTextStream
void dumpToTextStream(std::ostream &out) const override
This method should clearly display all the contents of the structure in textual form,...
Definition: CTopLCDetector_FabMap.cpp:130
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:61
mrpt::hmtslam::CHMHMapNode::Ptr
std::shared_ptr< CHMHMapNode > Ptr
Definition: CHMHMapNode.h:42
mrpt::hmtslam::CTopLCDetector_FabMap::TOptions::p_at_new_place
double p_at_new_place
Definition: CTopLCDetector_FabMap.h:68
mrpt::poses::CPose3DPDF::Ptr
std::shared_ptr< CPose3DPDF > Ptr
Definition: CPose3DPDF.h:45
string
GLsizei const GLchar ** string
Definition: glext.h:4101
mrpt::hmtslam::CTopLCDetector_FabMap::computeTopologicalObservationModel
mrpt::poses::CPose3DPDF::Ptr computeTopologicalObservationModel(const THypothesisID &hypID, const CHMHMapNode::Ptr &currentArea, const CHMHMapNode::Ptr &refArea, double &out_log_lik)
This method must compute the topological observation model.
Definition: CTopLCDetector_FabMap.cpp:63
mrpt::hmtslam::CTopLCDetectorBase
The virtual base class for Topological Loop-closure Detectors; used in HMT-SLAM.
Definition: CTopLCDetectorBase.h:26



Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST