Template Class CFixedIntervalsNRD

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

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

Fixed Intervals Odometry-based Node Registration.

Unnamed Group

using node_reg = mrpt::graphslam::deciders::CNodeRegistrationDecider<GRAPH_T>

Handy typedefs.

Node Registration Decider

using constraint_t = typename GRAPH_T::constraint_t

type of graph constraints

using pose_t = typename GRAPH_T::constraint_t::type_value

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

using global_pose_t = typename GRAPH_T::global_pose_t
using inf_mat_t = mrpt::math::CMatrixFixed<double, constraint_t::state_length, constraint_t::state_length>
using parent_t = mrpt::graphslam::deciders::CNodeRegistrationDecider<GRAPH_T>

Node Registration Decider.

Registration Conditions Specifiers

virtual bool checkRegistrationCondition() override

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.

bool checkRegistrationCondition(const mrpt::poses::CPose2D &p1, const mrpt::poses::CPose2D &p2) const
bool checkRegistrationCondition(const mrpt::poses::CPose3D &p1, const mrpt::poses::CPose3D &p2) const

Public Functions

CFixedIntervalsNRD()
~CFixedIntervalsNRD() override = default
virtual void loadParams(const std::string &source_fname) override

Load the necessary for the decider/optimizer configuration parameters.

virtual void printParams() const override

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 override

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) override

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

Public Members

TParams params

Protected Attributes

pose_t m_curr_odometry_only_pose

pose_t estimation using only odometry information. Handy for observation-only rawlogs.

pose_t m_last_odometry_only_pose

pose_t estimation using only odometry information. Handy for observation-only rawlogs.

bool m_observation_only_rawlog

Keep track of whether we are reading from an observation-only rawlog file or from an action-observation rawlog.

struct TParams : public mrpt::config::CLoadableOptions

Parameters structure for managing the relevant to the decider variables in a compact manner.

Public Functions

TParams() = default
~TParams() override = default
virtual void loadFromConfigFile(const mrpt::config::CConfigFileBase &source, const std::string &section) override
virtual void dumpToTextStream(std::ostream &out) const override
void getAsString(std::string *params_out) const

Return a string with the configuration parameters.

std::string getAsString() const

Public Members

double registration_max_distance
double registration_max_angle