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
CNetworkOfPoses.h
mrpt::graphslam::optimizers::CGraphSlamOptimizer< typename mrpt::graphs::CNetworkOfPoses2DInf >::pose_t
typename typename mrpt::graphs::CNetworkOfPoses2DInf ::constraint_t::type_value pose_t
Definition: CGraphSlamOptimizer.h:39
mrpt::graphslam::optimizers::CGraphSlamOptimizer
Interface for implementing graphSLAM optimizer classes.
Definition: CGraphSlamOptimizer.h:34
mrpt::graphslam::CRegistrationDeciderOrOptimizer
Interface for implementing node/edge registration deciders or optimizer classes.
Definition: CRegistrationDeciderOrOptimizer.h:41
CActionCollection.h
CRegistrationDeciderOrOptimizer.h
mrpt::graphslam::optimizers
Definition: CEmptyGSO.h:17
mrpt::graphslam::optimizers::CGraphSlamOptimizer::optimizeGraph
virtual void optimizeGraph()=0
method called for optimizing the underlying graph.
mrpt::graphslam::optimizers::CGraphSlamOptimizer::justFullyOptimizedGraph
virtual bool justFullyOptimizedGraph() const
Used by the caller to query for possible full graph optimization on the latest optimizer run.
Definition: CGraphSlamOptimizer.h:46
mrpt::graphslam::optimizers::CGraphSlamOptimizer::CGraphSlamOptimizer
CGraphSlamOptimizer()=default
CSensoryFrame.h
CObservation.h
mrpt::graphslam::optimizers::CGraphSlamOptimizer::~CGraphSlamOptimizer
~CGraphSlamOptimizer() override=default
mrpt::graphslam::optimizers::CGraphSlamOptimizer< typename mrpt::graphs::CNetworkOfPoses2DInf >::constraint_t
typename typename mrpt::graphs::CNetworkOfPoses2DInf ::constraint_t constraint_t
Definition: CGraphSlamOptimizer.h:38



Page generated by Doxygen 1.8.17 for MRPT 2.0.4 at Sun Jul 19 17:54:30 UTC 2020