MRPT  2.0.4
CGraphSlamOptimizer.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 
10 #pragma once
11 
14 #include <mrpt/obs/CObservation.h>
15 #include <mrpt/obs/CSensoryFrame.h>
16 
18 
20 {
21 /**\brief Interface for implementing graphSLAM optimizer classes.
22  *
23  * Class should provide a generic interface from which real optimizers should
24  * inherit so that they abide to the necessary method calls used in the
25  * CGraphSlamEngine class. For an example of inheriting from this class see
26  * CLevMarqGSO.
27  *
28  * \note As a naming convention, all the implemented graphslam optimizer classes
29  * are suffixed with the GSO acronym.
30  *
31  * \ingroup mrpt_graphslam_grp
32  */
33 template <class GRAPH_t = typename mrpt::graphs::CNetworkOfPoses2DInf>
35  : public virtual mrpt::graphslam::CRegistrationDeciderOrOptimizer<GRAPH_t>
36 {
37  public:
38  using constraint_t = typename GRAPH_t::constraint_t;
39  using pose_t = typename GRAPH_t::constraint_t::type_value;
40 
41  CGraphSlamOptimizer() = default;
42  ~CGraphSlamOptimizer() override = default;
43  /**\brief Used by the caller to query for possible full graph optimization
44  * on the latest optimizer run
45  */
46  virtual bool justFullyOptimizedGraph() const { return false; }
47 
48  protected:
49  /**\brief method called for optimizing the underlying graph.
50  */
51  virtual void optimizeGraph() = 0;
52 };
53 } // namespace mrpt::graphslam::optimizers
typename GRAPH_T ::constraint_t::type_value pose_t
Interface for implementing node/edge registration deciders or optimizer classes.
virtual void optimizeGraph()=0
method called for optimizing the underlying graph.
Interface for implementing graphSLAM optimizer classes.
virtual bool justFullyOptimizedGraph() const
Used by the caller to query for possible full graph optimization on the latest optimizer run...



Page generated by Doxygen 1.8.14 for MRPT 2.0.4 Git: 33de1d0ad Sat Jun 20 11:02:42 2020 +0200 at sáb jun 20 17:35:17 CEST 2020