MRPT
2.0.3
mrpt
graphslam
interfaces
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
12
#include <
mrpt/graphs/CNetworkOfPoses.h
>
13
#include <
mrpt/obs/CActionCollection.h
>
14
#include <
mrpt/obs/CObservation.h
>
15
#include <
mrpt/obs/CSensoryFrame.h
>
16
17
#include "
CRegistrationDeciderOrOptimizer.h
"
18
19
namespace
mrpt::graphslam::optimizers
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>
34
class
CGraphSlamOptimizer
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.3 at Fri May 15 15:49:54 UTC 2020