MRPT  2.0.5
CTopLCDetector_FabMap.h
Go to the documentation of this file.
1 /* +------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | https://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2020, Individual contributors, see AUTHORS file |
6  | See: https://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See: https://www.mrpt.org/License |
8  +------------------------------------------------------------------------+ */
9 #pragma once
10 
12 
13 namespace mrpt::hmtslam
14 {
15 /** \ingroup mrpt_hmtslam_grp */
17 {
18  protected:
20 
21  void* m_fabmap; // FabMapInstance*
22 
23  public:
24  /** A class factory, to be implemented in derived classes.
25  */
27  {
28  return static_cast<CTopLCDetectorBase*>(
29  new CTopLCDetector_FabMap(hmtslam));
30  }
31 
32  /** Destructor */
33  ~CTopLCDetector_FabMap() override;
34 
35  /** This method must compute the topological observation model.
36  * \param out_log_lik The output, a log-likelihood.
37  * \return nullptr (empty smart pointer), or a PDF of the estimated
38  * translation between the two areas (can be a multi-modal PDF).
39  */
41  const THypothesisID& hypID, const CHMHMapNode::Ptr& currentArea,
42  const CHMHMapNode::Ptr& refArea, double& out_log_lik) override;
43 
44  /** Hook method for being warned about the insertion of a new poses into the
45  * maps.
46  * This should be independent of hypothesis IDs.
47  */
48  void OnNewPose(
49  const TPoseID& poseID, const mrpt::obs::CSensoryFrame* SF) override;
50 
51  /** Options for a TLC-detector of type FabMap, used from CHMTSLAM
52  */
54  {
55  /** Initialization of default params
56  */
57  TOptions();
58 
59  void loadFromConfigFile(
60  const mrpt::config::CConfigFileBase& source,
61  const std::string& section) override; // See base docs
62  void dumpToTextStream(
63  std::ostream& out) const override; // See base docs
64 
65  std::string vocab_path, vocabName;
66  double p_obs_given_exists{0.39}, p_at_new_place{0.99},
68  };
69 
70 }; // end class
71 } // namespace mrpt::hmtslam
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
void OnNewPose(const TPoseID &poseID, const mrpt::obs::CSensoryFrame *SF) override
Hook method for being warned about the insertion of a new poses into the maps.
Classes related to the implementation of Hybrid Metric Topological (HMT) SLAM.
uint64_t TPoseID
An integer number uniquely identifying each robot pose stored in HMT-SLAM.
An implementation of Hybrid Metric Topological SLAM (HMT-SLAM).
Definition: CHMTSLAM.h:67
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.
This class allows loading and storing values and vectors of different types from a configuration text...
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximat...
Definition: CSensoryFrame.h:51
void dumpToTextStream(std::ostream &out) const override
This method should clearly display all the contents of the structure in textual form, sending it to a std::ostream.
The virtual base class for Topological Loop-closure Detectors; used in HMT-SLAM.
int64_t THypothesisID
An integer number uniquely identifying each of the concurrent hypotheses for the robot topological pa...
static CTopLCDetectorBase * createNewInstance(CHMTSLAM *hmtslam)
A class factory, to be implemented in derived classes.
Options for a TLC-detector of type FabMap, used from CHMTSLAM.
mrpt::vision::TStereoCalibResults out
mrpt::poses::CPose3DPDF::Ptr computeTopologicalObservationModel(const THypothesisID &hypID, const CHMHMapNode::Ptr &currentArea, const CHMHMapNode::Ptr &refArea, double &out_log_lik) override
This method must compute the topological observation model.



Page generated by Doxygen 1.8.14 for MRPT 2.0.5 Git: b26ce1112 Mon Jul 6 09:39:08 2020 +0200 at lun jul 6 09:45:13 CEST 2020