template class mrpt::graphslam::deciders::CIncrementalNodeRegistrationDecider
Overview
Incremental Node registration decider.
Decider adds new nodes in the graph in an incremental fashion (adding nodes at the end of the graph)
#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 mrpt::graphslam::CRegistrationDeciderOrOptimizer<GRAPH_T> parent_t; 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; // structs struct TMsg; // fields bool logging_enable_console_output {true}; bool logging_enable_keep_record {false}; // methods void logStr(const VerbosityLevel level, std::string_view msg_str) const; void logFmt(const VerbosityLevel level, const char* fmt, ...) const; void void logCond(const VerbosityLevel level, bool cond, const std::string& msg_str) const; void setLoggerName(const std::string& name); std::string getLoggerName() const; void setVerbosityLevel(const VerbosityLevel level); void setVerbosityLevelForCallbacks(const VerbosityLevel level); void setMinLoggingLevel(const VerbosityLevel level); VerbosityLevel getMinLoggingLevel() const; VerbosityLevel getMinLoggingLevelForCallbacks() const; bool isLoggingLevelVisible(VerbosityLevel level) const; void getLogAsString(std::string& log_contents) const; std::string getLogAsString() const; void writeLogToFile(const std::optional<std::string>& fname_in = std::nullopt) const; void dumpLogToConsole() const; std::string getLoggerLastMsg() const; void getLoggerLastMsg(std::string& msg_str) const; void loggerReset(); void logRegisterCallback(output_logger_callback_t userFunc); bool logDeregisterCallback(output_logger_callback_t userFunc); COutputLogger& operator = (const COutputLogger&); COutputLogger& operator = (COutputLogger&&); static std::array<mrpt::system::ConsoleForegroundColor, NUMBER_OF_VERBOSITY_LEVELS>& logging_levels_to_colors(); static const std::array<const char*, NUMBER_OF_VERBOSITY_LEVELS>& logging_levels_to_names(); virtual bool updateState(mrpt::obs::CActionCollection::Ptr action, mrpt::obs::CSensoryFrame::Ptr observations, mrpt::obs::CObservation::Ptr observation) = 0; virtual void setWindowManagerPtr(mrpt::graphslam::CWindowManager* win_manager); virtual void setCriticalSectionPtr(std::mutex* graph_section); virtual void initializeVisuals(); virtual void updateVisuals(); virtual void notifyOfWindowEvents(const std::map<std::string, bool>& events_occurred); virtual void loadParams(const std::string& source_fname); virtual void printParams() const; virtual void getDescriptiveReport(std::string* report_str) const; virtual void setGraphPtr(GRAPH_T* graph); virtual void initializeLoggers(const std::string& name); virtual void setClassName(const std::string& name); bool isMultiRobotSlamClass(); std::string getClassName() const; virtual global_pose_t getCurrentRobotPosEstimation() const; virtual void getDescriptiveReport(std::string* report_str) 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