template class mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider

Incremental Node registration decider.

Decider adds new nodes in the graph in an incremental fashion (adding nodes at the end of the graph)

  • class_verbosity

  • registration_max_distance

    • Section : NodeRegistrationDeciderParameters

    • Default value : 0.5 // meters

    • Required : FALSE

  • registration_max_angle

    • Section : NodeRegistrationDeciderParameters

    • Default value : 10 // degrees

    • Required : FALSE

#include <mrpt/graphslam/interfaces/CIncrementalNodeRegistrationDecider.h>

template <class GRAPH_T>
class CIncrementalNodeRegistrationDecider: public mrpt::graphslam::deciders::CNodeRegistrationDecider
{
public:
    // typedefs

    typedef typename GRAPH_T::constraint_t constraint_t;
    typedef typename GRAPH_T::constraint_t::type_value pose_t;
    typedef typename GRAPH_T::global_pose_t global_pose_t;
    typedef CIncrementalNodeRegistrationDecider<GRAPH_T> decider_t;
    typedef mrpt::graphslam::deciders::CNodeRegistrationDecider<GRAPH_T> parent_t;

    // structs

    struct TParams;

    // construction

    CIncrementalNodeRegistrationDecider();

    //
methods

    virtual bool checkRegistrationCondition();

    virtual bool checkRegistrationConditionPose(
        const mrpt::poses::CPose2D& p1,
        const mrpt::poses::CPose2D& p2
        ) const;

    virtual bool checkRegistrationConditionPose(
        const mrpt::poses::CPose3D& p1,
        const mrpt::poses::CPose3D& p2
        ) const;

    virtual void loadParams(const std::string& source_fname);
    virtual void printParams() const;
    virtual void getDescriptiveReport(std::string* report_str) const;
};

Inherited Members

public:
    // typedefs

    typedef typename GRAPH_T::constraint_t::type_value pose_t;
    typedef typename GRAPH_T::global_pose_t global_pose_t;
    typedef mrpt::math::CMatrixFixed<double, constraint_t::state_length, constraint_t::state_length> inf_mat_t;

    // structs

    struct TMsg;

    //
methods

    virtual void setClassName(const std::string& name);
    bool isMultiRobotSlamClass();
    std::string getClassName() const;

Methods

virtual bool checkRegistrationCondition()

If estimated position surpasses the registration max values since the previous registered node, register a new node in the graph.

Returns:

True on successful registration.

virtual void loadParams(const std::string& source_fname)

Load the necessary for the decider/optimizer configuration parameters.

virtual void printParams() const

Print the problem parameters - relevant to the decider/optimizer to the screen in a unified/compact way.

virtual void getDescriptiveReport(std::string* report_str) const

Fill the provided string with a detailed report of the decider/optimizer state.

Report should include (part of) the following:

  • Timing of important methods

  • Properties fo class at the current time

  • Logging of commands until current time