template class mrpt::graphslam::deciders::CFixedIntervalsNRD

Overview

Fixed Intervals Odometry-based Node Registration.

#include <mrpt/graphslam/NRD/CFixedIntervalsNRD.h>

template <class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
class CFixedIntervalsNRD: public mrpt::graphslam::deciders::CNodeRegistrationDecider
{
public:
    // typedefs

    typedef mrpt::graphslam::deciders::CNodeRegistrationDecider<GRAPH_T> node_reg;
    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 mrpt::math::CMatrixFixed<double, constraint_t::state_length, constraint_t::state_length> inf_mat_t;
    typedef mrpt::graphslam::deciders::CNodeRegistrationDecider<GRAPH_T> parent_t;

    // structs

    struct TParams;

    // fields

    TParams params;

    // construction

    CFixedIntervalsNRD();

    // methods

    virtual void loadParams(const std::string& source_fname);
    virtual void printParams() const;
    virtual void getDescriptiveReport(std::string* report_str) const;
    virtual bool updateState(mrpt::obs::CActionCollection::Ptr action, mrpt::obs::CSensoryFrame::Ptr observations, mrpt::obs::CObservation::Ptr observation);
    virtual global_pose_t getCurrentRobotPosEstimation() 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;

Typedefs

typedef mrpt::graphslam::deciders::CNodeRegistrationDecider<GRAPH_T> node_reg

Handy typedefs.

Node Registration Decider

typedef typename GRAPH_T::constraint_t constraint_t

type of graph constraints

typedef typename GRAPH_T::constraint_t::type_value pose_t

type of underlying poses (2D/3D).

typedef mrpt::graphslam::deciders::CNodeRegistrationDecider<GRAPH_T> parent_t

Node Registration Decider.

Methods

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

virtual bool updateState(mrpt::obs::CActionCollection::Ptr action, mrpt::obs::CSensoryFrame::Ptr observations, mrpt::obs::CObservation::Ptr observation)

Method makes use of the CActionCollection/CObservation to update the odometry estimation from the last inserted pose.

Returns:

True upon successful node registration in the graph

virtual global_pose_t getCurrentRobotPosEstimation() const

Getter method for fetching the currently estimated robot position.

In single-robot situations this is most likely going to be the last registered node position + an position/uncertainty increment from that position