namespace mrpt::graphslam

Overview

SLAM methods related to graphs of pose constraints.

See also:

mrpt::graphs::CNetworkOfPoses

namespace graphslam {

// namespaces

namespace mrpt::graphslam::apps;
namespace mrpt::graphslam::deciders;
namespace mrpt::graphslam::detail;
namespace mrpt::graphslam::optimizers;

// structs

struct TResultInfoSpaLevMarq;
struct TSlidingWindow;

template <class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
struct TUncertaintyPath;

template <class GRAPH_T>
struct graphslam_traits;

// classes

template <class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
class CGraphSlamEngine;

template <class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
class CRegistrationDeciderOrOptimizer;

class CWindowManager;
class CWindowObserver;

// global functions

template <
    class GRAPH_T,
    class FEEDBACK_CALLABLE = typename graphslam_traits<GRAPH_T>::TFunctorFeedback
    >
void optimize_graph_spa_levmarq(
    GRAPH_T& graph,
    TResultInfoSpaLevMarq& out_info,
    const std::set<mrpt::graphs::TNodeID>* in_nodes_to_optimize = nullptr,
    const mrpt::containers::yaml& extra_params = {},
    FEEDBACK_CALLABLE functor_feedback = FEEDBACK_CALLABLE()
    );

template <class GRAPH_T>
double computeJacobiansAndErrors(
    ] const GRAPH_T& graph,
    const std::vector<typename graphslam_traits<GRAPH_T>::observation_info_t>& lstObservationData,
    typename graphslam_traits<GRAPH_T>::map_pairIDs_pairJacobs_t& lstJacobians,
    std::vector<typename graphslam_traits<GRAPH_T>::Array_O>& errs
    );

void registerAllClasses_mrpt_graphslam();

} // namespace graphslam