Main MRPT website > C++ reference for MRPT 1.9.9
CIncrementalNodeRegistrationDecider.h
Go to the documentation of this file.
1 #ifndef CINCREMENTALNODEREGISTRATIONDECIDER_H_WPM0MYXZ
2 #define CINCREMENTALNODEREGISTRATIONDECIDER_H_WPM0MYXZ
3 
4 #include <mrpt/poses/CPose2D.h>
5 #include <mrpt/poses/CPose3D.h>
8 
10 
11 namespace mrpt
12 {
13 namespace graphslam
14 {
15 namespace deciders
16 {
17 /**\brief Incremental Node registration decider. Decider adds new nodes in the
18  * graph in an incremental fashion (adding nodes at the end of the graph)
19  *
20  * ### .ini Configuration Parameters
21  *
22  * \htmlinclude config_params_preamble.txt
23  *
24  * - \b class_verbosity
25  * + \a Section : NodeRegistrationDeciderParameters
26  * + \a default value : 1 (mrpt::system::LVL_INFO)
27  * + \a Required : FALSE
28  *
29  * - \b registration_max_distance
30  * + \a Section : NodeRegistrationDeciderParameters
31  * + \a Default value : 0.5 // meters
32  * + \a Required : FALSE
33  *
34  * - \b registration_max_angle
35  * + \a Section : NodeRegistrationDeciderParameters
36  * + \a Default value : 10 // degrees
37  * + \a Required : FALSE
38  *
39  * \ingroup mrpt_graphslam_grp
40  *
41  */
42 template <class GRAPH_T>
45  GRAPH_T>
46 {
47  public:
48  /**\brief Handy typedefs */
49  /**\{*/
50  /**\brief type of graph constraints */
51  using constraint_t = typename GRAPH_T::constraint_t;
52  /**\brief type of underlying poses (2D/3D). */
53  using pose_t = typename GRAPH_T::constraint_t::type_value;
54  using global_pose_t = typename GRAPH_T::global_pose_t;
55  using decider_t =
57  /**\brief Node Registration Decider */
58  using parent_t =
60 
61  /**\}*/
62 
65 
66  /**\name Registration Conditions Specifiers
67  */
68  /**\{ */
69  /**\brief If estimated position surpasses the registration max values since
70  * the previous registered node, register a new node in the graph.
71  *
72  * \return True on successful registration.
73  */
74  virtual bool checkRegistrationCondition();
75  virtual bool checkRegistrationConditionPose(
76  const mrpt::poses::CPose2D& p1, const mrpt::poses::CPose2D& p2) const;
77  virtual bool checkRegistrationConditionPose(
78  const mrpt::poses::CPose3D& p1, const mrpt::poses::CPose3D& p2) const;
79  /**\} */
80 
81  virtual void loadParams(const std::string& source_fname);
82  virtual void printParams() const;
83  virtual void getDescriptiveReport(std::string* report_str) const;
84 
85  protected:
86  /**\brief Parameters structure for managing the relevant to the decider
87  * variables in a compact manner
88  */
90  {
91  public:
92  TParams();
93  ~TParams();
94 
95  void loadFromConfigFile(
97  const std::string& section);
98  void dumpToTextStream(std::ostream& out) const;
99  /**\brief Return a string with the configuration parameters
100  */
101  void getAsString(std::string* params_out) const;
102  std::string getAsString() const;
103 
104  // max values for new node registration
107  };
108 
109  // Public members
110  // ////////////////////////////
112 
113  private:
114 };
115 } // namespace deciders
116 } // namespace graphslam
117 } // namespace mrpt
118 
120 #endif /* end of include guard: CINCREMENTALNODEREGISTRATIONDECIDER_H_WPM0MYXZ \
121  */
CIncrementalNodeRegistrationDecider_impl.h
mrpt::graphslam::deciders::CNodeRegistrationDecider
Interface for implementing node registration classes.
Definition: CNodeRegistrationDecider.h:37
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::constraint_t
typename GRAPH_T::constraint_t constraint_t
Handy typedefs.
Definition: CIncrementalNodeRegistrationDecider.h:51
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::TParams::TParams
TParams()
Definition: CIncrementalNodeRegistrationDecider_impl.h:128
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::printParams
virtual void printParams() const
Print the problem parameters - relevant to the decider/optimizer to the screen in a unified/compact w...
Definition: CIncrementalNodeRegistrationDecider_impl.h:102
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::CIncrementalNodeRegistrationDecider
CIncrementalNodeRegistrationDecider()
Definition: CIncrementalNodeRegistrationDecider_impl.h:12
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::global_pose_t
typename GRAPH_T::global_pose_t global_pose_t
Definition: CIncrementalNodeRegistrationDecider.h:54
mrpt
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Definition: CKalmanFilterCapable.h:30
CPose2D.h
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::checkRegistrationCondition
virtual bool checkRegistrationCondition()
If estimated position surpasses the registration max values since the previous registered node,...
Definition: CIncrementalNodeRegistrationDecider_impl.h:23
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::TParams::registration_max_distance
double registration_max_distance
Definition: CIncrementalNodeRegistrationDecider.h:105
source
GLsizei GLsizei GLchar * source
Definition: glext.h:4082
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::getDescriptiveReport
virtual void getDescriptiveReport(std::string *report_str) const
Fill the provided string with a detailed report of the decider/optimizer state.
Definition: CIncrementalNodeRegistrationDecider_impl.h:112
CConfigFileBase.h
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::TParams::registration_max_angle
double registration_max_angle
Definition: CIncrementalNodeRegistrationDecider.h:106
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::TParams::loadFromConfigFile
void loadFromConfigFile(const mrpt::config::CConfigFileBase &source, const std::string &section)
This method load the options from a ".ini"-like file or memory-stored string list.
Definition: CIncrementalNodeRegistrationDecider_impl.h:147
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::poses::CPose2D
A class used to store a 2D pose, including the 2D coordinate point and a heading (phi) angle.
Definition: CPose2D.h:40
mrpt::poses::CPose3D
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Definition: CPose3D.h:88
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider
Incremental Node registration decider.
Definition: CIncrementalNodeRegistrationDecider.h:43
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
CNodeRegistrationDecider.h
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::TParams::~TParams
~TParams()
Definition: CIncrementalNodeRegistrationDecider_impl.h:133
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::TParams
Parameters structure for managing the relevant to the decider variables in a compact manner.
Definition: CIncrementalNodeRegistrationDecider.h:89
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::TParams::getAsString
std::string getAsString() const
Definition: CIncrementalNodeRegistrationDecider_impl.h:184
CPose3D.h
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::pose_t
typename GRAPH_T::constraint_t::type_value pose_t
type of underlying poses (2D/3D).
Definition: CIncrementalNodeRegistrationDecider.h:53
CLoadableOptions.h
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::checkRegistrationConditionPose
virtual bool checkRegistrationConditionPose(const mrpt::poses::CPose2D &p1, const mrpt::poses::CPose2D &p2) const
Definition: CIncrementalNodeRegistrationDecider_impl.h:49
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::TParams::dumpToTextStream
void dumpToTextStream(std::ostream &out) const
This method should clearly display all the contents of the structure in textual form,...
Definition: CIncrementalNodeRegistrationDecider_impl.h:138
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::~CIncrementalNodeRegistrationDecider
virtual ~CIncrementalNodeRegistrationDecider()
Definition: CIncrementalNodeRegistrationDecider_impl.h:18
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::loadParams
virtual void loadParams(const std::string &source_fname)
Load the necessary for the decider/optimizer configuration parameters.
Definition: CIncrementalNodeRegistrationDecider_impl.h:89
mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider::params
TParams params
Definition: CIncrementalNodeRegistrationDecider.h:111
string
GLsizei const GLchar ** string
Definition: glext.h:4101



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