MRPT
1.9.9
|
Levenberg-Marquardt non-linear graph slam optimization scheme.
Current decider optimizes the graph according to the graphslam::optimize_spa_levmarq method. Refer to the latter for more details on the implementation.
tau
http://reference.mrpt.org/devel/group__mrpt__graphslam__grp.html#ga022f4a70be5ec7c432f46374e4bb9d66
http://reference.mrpt.org/devel/group__mrpt__opengl__grp.html#ga30efc9f6fcb49801e989d174e0f65a61
Definition at line 118 of file CLevMarqGSO.h.
#include <mrpt/graphslam/GSO/CLevMarqGSO.h>
Classes | |
struct | GraphVisualizationParams |
struct for holding the graph visualization-related variables in a compact form More... | |
struct | OptimizationParams |
Struct for holding the optimization-related variables in a compact form. More... | |
Public Types | |
using | constraint_t = typename GRAPH_T::constraint_t |
Handy typedefs. More... | |
using | pose_t = typename GRAPH_T::constraint_t::type_value |
type of underlying poses (2D/3D) More... | |
using | InfMat = mrpt::math::CMatrixFixedNumeric< double, constraint_t::state_length, constraint_t::state_length > |
using | grandpa = mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T > |
using | parent = mrpt::graphslam::optimizers::CGraphSlamOptimizer< GRAPH_T > |
Public Member Functions | |
CLevMarqGSO () | |
~CLevMarqGSO () | |
bool | updateState (mrpt::obs::CActionCollection::Ptr action, mrpt::obs::CSensoryFrame::Ptr observations, mrpt::obs::CObservation::Ptr observation) |
Generic method for fetching the incremental action/observation readings from the calling function. More... | |
void | initializeVisuals () |
Initialize visual objects in CDisplayWindow (e.g. More... | |
void | updateVisuals () |
Update the relevant visual features in CDisplayWindow. More... | |
void | notifyOfWindowEvents (const std::map< std::string, bool > &events_occurred) |
Get a list of the window events that happened since the last call. More... | |
void | loadParams (const std::string &source_fname) |
Load the necessary for the decider/optimizer configuration parameters. More... | |
void | printParams () const |
Print the problem parameters - relevant to the decider/optimizer to the screen in a unified/compact way. More... | |
void | getDescriptiveReport (std::string *report_str) const |
Fill the provided string with a detailed report of the decider/optimizer state. More... | |
bool | justFullyOptimizedGraph () const |
Used by the caller to query for possible full graph optimization on the latest optimizer run. More... | |
virtual void | setWindowManagerPtr (mrpt::graphslam::CWindowManager *win_manager) |
Fetch a CWindowManager pointer. More... | |
virtual void | setCriticalSectionPtr (std::mutex *graph_section) |
Fetch a std::mutex for locking the GRAPH_T resource. More... | |
virtual void | setGraphPtr (GRAPH_T *graph) |
Fetch the graph on which the decider/optimizer will work on. More... | |
virtual void | initializeLoggers (const std::string &name) |
Initialize the COutputLogger, CTimeLogger instances given the name of the decider/optimizer at hand. More... | |
virtual void | setClassName (const std::string &name) |
bool | isMultiRobotSlamClass () |
std::string | getClassName () const |
Static Public Member Functions | |
static std::array< mrpt::system::TConsoleColor, NUMBER_OF_VERBOSITY_LEVELS > & | logging_levels_to_colors () |
Map from VerbosityLevels to their corresponding mrpt::system::TConsoleColor. More... | |
static std::array< std::string, NUMBER_OF_VERBOSITY_LEVELS > & | logging_levels_to_names () |
Map from VerbosityLevels to their corresponding names. More... | |
Public Attributes | |
OptimizationParams | opt_params |
Parameters relevant to the optimizatio nfo the graph. More... | |
GraphVisualizationParams | viz_params |
Parameters relevant to the visualization of the graph. More... | |
Protected Types | |
enum | FullOptimizationPolicy { FOP_IGNORE_LC = 0, FOP_USE_LC, FOP_TOTAL_NUM } |
Enumeration that defines the behaviors towards using or ignoring a newly added loop closure to fully optimize the graph. More... | |
Protected Member Functions | |
void | _optimizeGraph (bool is_full_update=false) |
Optimize the given graph. More... | |
void | optimizeGraph () |
Wrapper around _optimizeGraph which first locks the section and then calls the _optimizeGraph method. More... | |
bool | checkForLoopClosures () |
Check if a loop closure edge was added in the graph. More... | |
bool | checkForFullOptimization () |
Decide whether to issue a full graph optimization. More... | |
void | initGraphVisualization () |
Initialize objects relateed to the Graph Visualization. More... | |
void | updateGraphVisualization () |
Called internally for updating the visualization scene for the graph building procedure. More... | |
void | toggleGraphVisualization () |
Toggle the graph visualization on and off. More... | |
void | fitGraphInView () |
Set the camera parameters of the CDisplayWindow3D so that the whole graph is viewed in the window. More... | |
void | updateOptDistanceVisualization () |
Update the position of the disk indicating the distance in which Levenberg-Marquardt graph optimization is executed. More... | |
void | toggleOptDistanceVisualization () |
toggle the optimization distance object on and off More... | |
void | getNearbyNodesOf (std::set< mrpt::graphs::TNodeID > *nodes_set, const mrpt::graphs::TNodeID &cur_nodeID, double distance) |
Get a list of the nodeIDs whose position is within a certain distance to the specified nodeID. More... | |
virtual void | assertVisualsVars () |
Handy function for making all the visuals assertions in a compact manner. More... | |
void | initOptDistanceVisualization () |
Initialize the Disk/Sphere used for visualizing the optimization distance. More... | |
mrpt::opengl::CRenderizable::Ptr | initOptDistanceVisualizationInternal (const mrpt::poses::CPose2D &p_unused) |
Setup the corresponding Disk/Sphere instance. More... | |
mrpt::opengl::CRenderizable::Ptr | initOptDistanceVisualizationInternal (const mrpt::poses::CPose3D &p_unused) |
Static Protected Member Functions | |
static void | levMarqFeedback (const GRAPH_T &graph, const size_t iter, const size_t max_iter, const double cur_sq_error) |
Feedback of the Levenberg-Marquardt graph optimization procedure. More... | |
Protected Attributes | |
bool | m_first_time_call |
bool | m_has_read_config |
bool | registered_new_node |
bool | m_autozoom_active |
size_t | m_last_total_num_of_nodes |
std::thread | m_thread_optimize |
FullOptimizationPolicy | m_optimization_policy |
Should I fully optimize the graph on loop closure? More... | |
bool | m_just_fully_optimized_graph |
Indicates whether a full graph optimization was just issued. More... | |
size_t | m_min_nodes_for_optimization |
Minimum number of nodes before we try optimizing the graph. More... | |
GRAPH_T * | m_graph |
Pointer to the graph that is under construction. More... | |
std::mutex * | m_graph_section |
mrpt::system::CTimeLogger | m_time_logger |
Time logger instance. More... | |
std::string | m_class_name |
Name of the class instance. More... | |
bool | is_mr_slam_class |
Boolean indicating if the current class can be used in multi-robot SLAM operations. More... | |
VerbosityLevel | m_min_verbosity_level |
Provided messages with VerbosityLevel smaller than this value shall be ignored. More... | |
Smart Full-Optimization Command | |
Instead of issuing a full optimization every time a loop closure is detected, ignore current loop closure when enough consecutive loop closures have already been utilised. This avoids the added computational cost that is needed for optimizing the graph without reducing the accuracy of the overall operation | |
size_t | m_max_used_consec_lcs |
Number of maximum cosecutive loop closures that are allowed to be issued. More... | |
size_t | m_curr_used_consec_lcs |
Number of consecutive loop closures that are currently registered. More... | |
size_t | m_max_ignored_consec_lcs |
Number of consecutive loop closures to ignore after m_max_used_consec_lcs have already been issued. More... | |
size_t | m_curr_ignored_consec_lcs |
Consecutive Loop Closures that have currently been ignored. More... | |
Visuals-related variables methods | |
mrpt::graphslam::CWindowManager * | m_win_manager |
Pointer to the CWindowManager object used to store visuals-related instances. More... | |
mrpt::gui::CDisplayWindow3D * | m_win |
Window to use. More... | |
mrpt::graphslam::CWindowObserver * | m_win_observer |
CWindowObserver object for monitoring various visual-oriented events. More... | |
bool | m_initialized_visuals |
Static Protected Attributes | |
static const std::string | header_sep |
Separator string to be used in debugging messages. More... | |
static const std::string | report_sep |
Logging methods | |
bool | logging_enable_console_output |
[Default=true] Set it to false in case you don't want the logged messages to be dumped to the output automatically. More... | |
bool | logging_enable_keep_record |
[Default=false] Enables storing all messages into an internal list. More... | |
void | logStr (const VerbosityLevel level, const std::string &msg_str) const |
Main method to add the specified message string to the logger. More... | |
void | logFmt (const VerbosityLevel level, const char *fmt,...) const MRPT_printf_format_check(3 |
Alternative logging method, which mimics the printf behavior. More... | |
void void | logCond (const VerbosityLevel level, bool cond, const std::string &msg_str) const |
Log the given message only if the condition is satisfied. More... | |
void | setLoggerName (const std::string &name) |
Set the name of the COutputLogger instance. More... | |
std::string | getLoggerName () const |
Return the name of the COutputLogger instance. More... | |
void | setMinLoggingLevel (const VerbosityLevel level) |
Set the minimum logging level for which the incoming logs are going to be taken into account. More... | |
void | setVerbosityLevel (const VerbosityLevel level) |
alias of setMinLoggingLevel() More... | |
VerbosityLevel | getMinLoggingLevel () const |
bool | isLoggingLevelVisible (VerbosityLevel level) const |
void | getLogAsString (std::string &log_contents) const |
Fill the provided string with the contents of the logger's history in std::string representation. More... | |
std::string | getLogAsString () const |
Get the history of COutputLogger instance in a string representation. More... | |
void | writeLogToFile (const std::string *fname_in=NULL) const |
Write the contents of the COutputLogger instance to an external file. More... | |
void | dumpLogToConsole () const |
Dump the current contents of the COutputLogger instance in the terminal window. More... | |
std::string | getLoggerLastMsg () const |
Return the last Tmsg instance registered in the logger history. More... | |
void | getLoggerLastMsg (std::string &msg_str) const |
Fill inputtted string with the contents of the last message in history. More... | |
void | loggerReset () |
Reset the contents of the logger instance. More... | |
void | logRegisterCallback (output_logger_callback_t userFunc) |
bool | logDeregisterCallback (output_logger_callback_t userFunc) |
using mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::constraint_t = typename GRAPH_T::constraint_t |
Handy typedefs.
Definition at line 126 of file CLevMarqGSO.h.
using mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::grandpa = mrpt::graphslam::CRegistrationDeciderOrOptimizer<GRAPH_T> |
Definition at line 131 of file CLevMarqGSO.h.
using mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::InfMat = mrpt::math::CMatrixFixedNumeric< double, constraint_t::state_length, constraint_t::state_length> |
Definition at line 130 of file CLevMarqGSO.h.
using mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::parent = mrpt::graphslam::optimizers::CGraphSlamOptimizer<GRAPH_T> |
Definition at line 132 of file CLevMarqGSO.h.
using mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::pose_t = typename GRAPH_T::constraint_t::type_value |
type of underlying poses (2D/3D)
Definition at line 128 of file CLevMarqGSO.h.
|
protected |
Enumeration that defines the behaviors towards using or ignoring a newly added loop closure to fully optimize the graph.
Enumerator | |
---|---|
FOP_IGNORE_LC | |
FOP_USE_LC | |
FOP_TOTAL_NUM |
Definition at line 346 of file CLevMarqGSO.h.
mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::CLevMarqGSO | ( | ) |
Definition at line 19 of file CLevMarqGSO_impl.h.
References mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::initializeLoggers(), MRPT_END, and MRPT_START.
mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::~CLevMarqGSO | ( | ) |
Definition at line 36 of file CLevMarqGSO_impl.h.
|
protected |
Optimize the given graph.
Wrapper around the graphslam::optimize_spa_levmarq method
[in] | full_update | Impose that method optimizes the whole graph |
Definition at line 419 of file CLevMarqGSO_impl.h.
References mrpt::system::LVL_DEBUG, MRPT_END, MRPT_START, MRPT_UNUSED_PARAM, mrpt::graphslam::optimize_graph_spa_levmarq(), mrpt::system::CTicTac::Tac(), and mrpt::system::CTicTac::Tic().
|
protectedvirtualinherited |
Handy function for making all the visuals assertions in a compact manner.
Definition at line 95 of file CRegistrationDeciderOrOptimizer_impl.h.
|
protected |
Decide whether to issue a full graph optimization.
In case N consecutive full optimizations have been issued, skip some of the next as they slow down the overall execution and they don't reduce the overall error
Definition at line 535 of file CLevMarqGSO_impl.h.
References MRPT_LOG_DEBUG_STREAM, and MRPT_LOG_WARN_STREAM.
|
protected |
Check if a loop closure edge was added in the graph.
Match the previously registered edges in the graph with the current. If there is a node difference in any new edge greater than LC_min_nodeid_diff (see .ini parameter) then new constraint is considered a Loop Closure
Definition at line 490 of file CLevMarqGSO_impl.h.
References mrpt::system::LVL_DEBUG, MRPT_END, and MRPT_START.
|
inherited |
Dump the current contents of the COutputLogger instance in the terminal window.
Definition at line 190 of file COutputLogger.cpp.
|
inlineprotected |
Set the camera parameters of the CDisplayWindow3D so that the whole graph is viewed in the window.
Definition at line 249 of file CLevMarqGSO_impl.h.
References ASSERTDEBMSG_, MRPT_END, and MRPT_START.
|
inlineinherited |
Definition at line 137 of file CRegistrationDeciderOrOptimizer.h.
|
virtual |
Fill the provided string with a detailed report of the decider/optimizer state.
Report should include (part of) the following:
Reimplemented from mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >.
Definition at line 696 of file CLevMarqGSO_impl.h.
References MRPT_END, and MRPT_START.
|
inherited |
Fill the provided string with the contents of the logger's history in std::string representation.
Definition at line 154 of file COutputLogger.cpp.
|
inherited |
Get the history of COutputLogger instance in a string representation.
Definition at line 159 of file COutputLogger.cpp.
Referenced by mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::getDescriptiveReport().
|
inherited |
Return the last Tmsg instance registered in the logger history.
Definition at line 195 of file COutputLogger.cpp.
References mrpt::system::COutputLogger::TMsg::getAsString().
|
inherited |
Fill inputtted string with the contents of the last message in history.
Definition at line 201 of file COutputLogger.cpp.
|
inherited |
Return the name of the COutputLogger instance.
Definition at line 143 of file COutputLogger.cpp.
|
inlineinherited |
Definition at line 200 of file system/COutputLogger.h.
References mrpt::system::COutputLogger::m_min_verbosity_level.
Referenced by mrpt::maps::CRandomFieldGridMap2D::isEnabledVerbose(), and mrpt::slam::CMetricMapBuilderRBPF::processActionObservation().
|
protected |
Get a list of the nodeIDs whose position is within a certain distance to the specified nodeID.
Definition at line 628 of file CLevMarqGSO_impl.h.
References mrpt::math::distance(), MRPT_END, and MRPT_START.
|
inlineprotected |
Initialize objects relateed to the Graph Visualization.
Definition at line 161 of file CLevMarqGSO_impl.h.
References ASSERTDEBMSG_, MRPT_END, and MRPT_START.
|
virtualinherited |
Initialize the COutputLogger, CTimeLogger instances given the name of the decider/optimizer at hand.
Definition at line 41 of file CRegistrationDeciderOrOptimizer_impl.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::CICPCriteriaERD(), mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::CICPCriteriaNRD(), and mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::CLevMarqGSO().
|
virtual |
Initialize visual objects in CDisplayWindow (e.g.
add an object to scene).
std::exception | If the method is called without having first provided a CDisplayWindow3D* to the class instance |
Reimplemented from mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >.
Definition at line 84 of file CLevMarqGSO_impl.h.
References ASSERTDEB_, MRPT_END, and MRPT_START.
|
protected |
Initialize the Disk/Sphere used for visualizing the optimization distance.
Definition at line 288 of file CLevMarqGSO_impl.h.
References MRPT_END, and MRPT_START.
|
protected |
Setup the corresponding Disk/Sphere instance.
Method overloads are used to overcome the C++ specialization restrictions
Definition at line 330 of file CLevMarqGSO_impl.h.
|
protected |
Definition at line 345 of file CLevMarqGSO_impl.h.
|
inlineinherited |
Definition at line 201 of file system/COutputLogger.h.
References mrpt::system::COutputLogger::m_min_verbosity_level.
Referenced by mrpt::slam::CMetricMapBuilderRBPF::processActionObservation(), and mrpt::system::COutputLoggerStreamWrapper::~COutputLoggerStreamWrapper().
|
inherited |
Definition at line 144 of file CRegistrationDeciderOrOptimizer_impl.h.
|
virtual |
Used by the caller to query for possible full graph optimization on the latest optimizer run.
Reimplemented from mrpt::graphslam::optimizers::CGraphSlamOptimizer< GRAPH_T >.
Definition at line 615 of file CLevMarqGSO_impl.h.
|
staticprotected |
Feedback of the Levenberg-Marquardt graph optimization procedure.
Definition at line 621 of file CLevMarqGSO_impl.h.
|
virtual |
Load the necessary for the decider/optimizer configuration parameters.
Reimplemented from mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >.
Definition at line 665 of file CLevMarqGSO_impl.h.
References MRPT_END, MRPT_LOG_DEBUG, and MRPT_START.
|
inherited |
Log the given message only if the condition is satisfied.
Definition at line 131 of file COutputLogger.cpp.
|
inherited |
Definition at line 290 of file COutputLogger.cpp.
References getAddress(), and mrpt::system::COutputLogger::m_listCallbacks.
|
inherited |
Alternative logging method, which mimics the printf behavior.
Handy for not having to first use mrpt::format to pass a std::string message to logStr
Definition at line 91 of file COutputLogger.cpp.
Referenced by mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::CICPCriteriaNRD(), mrpt::hmtslam::CTopLCDetector_GridMatching::computeTopologicalObservationModel(), CGraphSlamHandler< GRAPH_T >::execute(), mrpt::math::CLevenbergMarquardtTempl< VECTORTYPE, USERPARAM >::execute(), CGraphSlamHandler< GRAPH_T >::initOutputDir(), CGraphSlamHandler< GRAPH_T >::initVisualization(), mrpt::nav::CNavigatorManualSequence::navigationStep(), mrpt::nav::CAbstractNavigator::performNavigationStepNavigating(), CGraphSlamHandler< GRAPH_T >::readConfigFname(), CGraphSlamHandler< GRAPH_T >::saveResults(), CGraphSlamHandler< GRAPH_T >::setResultsDirName(), mrpt::nav::CReactiveNavigationSystem::STEP1_InitPTGs(), and CGraphSlamHandler< GRAPH_T >::~CGraphSlamHandler().
|
inherited |
Reset the contents of the logger instance.
Called upon construction.
Definition at line 206 of file COutputLogger.cpp.
References mrpt::system::LVL_INFO.
|
staticinherited |
Map from VerbosityLevels to their corresponding mrpt::system::TConsoleColor.
Handy for coloring the input based on the verbosity of the message
Definition at line 47 of file COutputLogger.cpp.
References logging_levels_to_colors.
Referenced by mrpt::system::COutputLogger::TMsg::dumpToConsole().
|
staticinherited |
Map from VerbosityLevels to their corresponding names.
Handy for printing the current message VerbosityLevel along with the actual content
Definition at line 60 of file COutputLogger.cpp.
References logging_levels_to_names.
Referenced by mrpt::system::COutputLogger::TMsg::getAsString().
|
inherited |
Definition at line 277 of file COutputLogger.cpp.
References mrpt::system::COutputLogger::m_listCallbacks.
|
inherited |
Main method to add the specified message string to the logger.
Definition at line 72 of file COutputLogger.cpp.
References mrpt::system::COutputLogger::TMsg::body, mrpt::system::COutputLogger::TMsg::dumpToConsole(), mrpt::system::COutputLogger::TMsg::level, mrpt::system::COutputLogger::TMsg::name, and mrpt::system::COutputLogger::TMsg::timestamp.
Referenced by mrpt::slam::PF_implementation< mrpt::math::TPose3D, CMonteCarloLocalization3D, mrpt::bayes::particle_storage_mode::VALUE >::PF_SLAM_implementation_pfAuxiliaryPFStandardAndOptimal(), mrpt::nav::CReactiveNavigationSystem::STEP1_InitPTGs(), and mrpt::system::COutputLoggerStreamWrapper::~COutputLoggerStreamWrapper().
|
virtual |
Get a list of the window events that happened since the last call.
Reimplemented from mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >.
Definition at line 113 of file CLevMarqGSO_impl.h.
References MRPT_END, MRPT_LOG_DEBUG_STREAM, and MRPT_START.
|
protectedvirtual |
Wrapper around _optimizeGraph which first locks the section and then calls the _optimizeGraph method.
Used in multithreaded optimization
Implements mrpt::graphslam::optimizers::CGraphSlamOptimizer< GRAPH_T >.
Definition at line 398 of file CLevMarqGSO_impl.h.
References mrpt::system::LVL_DEBUG, MRPT_END, MRPT_LOG_DEBUG_STREAM, and MRPT_START.
Referenced by mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::updateState().
|
virtual |
Print the problem parameters - relevant to the decider/optimizer to the screen in a unified/compact way.
Reimplemented from mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >.
Definition at line 657 of file CLevMarqGSO_impl.h.
|
virtualinherited |
Definition at line 56 of file CRegistrationDeciderOrOptimizer_impl.h.
|
virtualinherited |
Fetch a std::mutex for locking the GRAPH_T resource.
Handy for realising multithreading in the derived classes.
Definition at line 79 of file CRegistrationDeciderOrOptimizer_impl.h.
|
virtualinherited |
Fetch the graph on which the decider/optimizer will work on.
Definition at line 137 of file CRegistrationDeciderOrOptimizer_impl.h.
|
inherited |
Set the name of the COutputLogger instance.
Definition at line 138 of file COutputLogger.cpp.
Referenced by mrpt::slam::CMetricMapBuilderICP::CMetricMapBuilderICP(), mrpt::slam::CMetricMapBuilderRBPF::CMetricMapBuilderRBPF(), mrpt::slam::CMonteCarloLocalization2D::CMonteCarloLocalization2D(), mrpt::slam::CMonteCarloLocalization3D::CMonteCarloLocalization3D(), and mrpt::graphslam::CWindowManager::initCWindowManager().
|
inherited |
Set the minimum logging level for which the incoming logs are going to be taken into account.
String messages with specified VerbosityLevel smaller than the min, will not be outputted to the screen and neither will a record of them be stored in by the COutputLogger instance
Definition at line 144 of file COutputLogger.cpp.
Referenced by mrpt::maps::CRandomFieldGridMap2D::enableVerbose(), mrpt::math::CLevenbergMarquardtTempl< VECTORTYPE, USERPARAM >::execute(), mrpt::hwdrivers::CHokuyoURG::initialize(), and mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::loadParams().
|
inherited |
alias of setMinLoggingLevel()
Definition at line 149 of file COutputLogger.cpp.
Referenced by mrpt::nav::CAbstractNavigator::CAbstractNavigator(), mrpt::slam::CMetricMapBuilderRBPF::CMetricMapBuilderRBPF(), mrpt::comms::CServerTCPSocket::CServerTCPSocket(), mrpt::slam::CMetricMapBuilderRBPF::processActionObservation(), and mrpt::math::ransac_detect_2D_lines().
|
virtualinherited |
Fetch a CWindowManager pointer.
CWindowManager instance should contain a CDisplayWindow3D* and, optionally, a CWindowObserver pointer so that interaction with the window is possible
Definition at line 65 of file CRegistrationDeciderOrOptimizer_impl.h.
|
protected |
Toggle the graph visualization on and off.
Definition at line 232 of file CLevMarqGSO_impl.h.
References MRPT_END, and MRPT_START.
|
protected |
toggle the optimization distance object on and off
Definition at line 381 of file CLevMarqGSO_impl.h.
References MRPT_END, and MRPT_START.
|
inlineprotected |
Called internally for updating the visualization scene for the graph building procedure.
Definition at line 181 of file CLevMarqGSO_impl.h.
References ASSERTDEBMSG_, mrpt::system::LVL_DEBUG, MRPT_END, and MRPT_START.
|
inlineprotected |
Update the position of the disk indicating the distance in which Levenberg-Marquardt graph optimization is executed.
Definition at line 362 of file CLevMarqGSO_impl.h.
References ASSERTDEBMSG_, MRPT_END, and MRPT_START.
|
virtual |
Generic method for fetching the incremental action/observation readings from the calling function.
Implementations of this interface should use (part of) the specified parameters and call the optimizeGraph function if the decision is to optimize the provided graph
Implements mrpt::graphslam::optimizers::CGraphSlamOptimizer< GRAPH_T >.
Definition at line 45 of file CLevMarqGSO_impl.h.
References MRPT_END, MRPT_LOG_DEBUG, MRPT_START, and mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::optimizeGraph().
|
virtual |
Update the relevant visual features in CDisplayWindow.
std::exception | If the method is called without having first provided a CDisplayWindow3D* to the class instance |
Reimplemented from mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >.
Definition at line 97 of file CLevMarqGSO_impl.h.
References MRPT_END, and MRPT_START.
|
inherited |
Write the contents of the COutputLogger instance to an external file.
Upon call to this method, COutputLogger dumps the contents of all the logged commands so far to the specified external file. By default the filename is set to ${LOGGERNAME}.log except if the fname parameter is provided
Definition at line 165 of file COutputLogger.cpp.
References ASSERTMSG_, and mrpt::format().
|
staticprotectedinherited |
Separator string to be used in debugging messages.
Definition at line 173 of file CRegistrationDeciderOrOptimizer.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::getDescriptiveReport().
|
protectedinherited |
Boolean indicating if the current class can be used in multi-robot SLAM operations.
Definition at line 169 of file CRegistrationDeciderOrOptimizer.h.
|
inherited |
[Default=true] Set it to false in case you don't want the logged messages to be dumped to the output automatically.
Definition at line 239 of file system/COutputLogger.h.
|
inherited |
[Default=false] Enables storing all messages into an internal list.
Definition at line 242 of file system/COutputLogger.h.
|
protected |
Definition at line 334 of file CLevMarqGSO.h.
|
protectedinherited |
Name of the class instance.
Definition at line 165 of file CRegistrationDeciderOrOptimizer.h.
Referenced by mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_t >::getClassName().
|
protected |
Consecutive Loop Closures that have currently been ignored.
Definition at line 386 of file CLevMarqGSO.h.
|
protected |
Number of consecutive loop closures that are currently registered.
Definition at line 375 of file CLevMarqGSO.h.
|
protected |
Definition at line 331 of file CLevMarqGSO.h.
|
protectedinherited |
Pointer to the graph that is under construction.
Definition at line 144 of file CRegistrationDeciderOrOptimizer.h.
|
protectedinherited |
Definition at line 145 of file CRegistrationDeciderOrOptimizer.h.
|
protected |
Definition at line 332 of file CLevMarqGSO.h.
|
protectedinherited |
Definition at line 159 of file CRegistrationDeciderOrOptimizer.h.
|
protected |
Indicates whether a full graph optimization was just issued.
Definition at line 392 of file CLevMarqGSO.h.
|
protected |
Definition at line 338 of file CLevMarqGSO.h.
|
protected |
Number of consecutive loop closures to ignore after m_max_used_consec_lcs have already been issued.
Definition at line 381 of file CLevMarqGSO.h.
|
protected |
Number of maximum cosecutive loop closures that are allowed to be issued.
Definition at line 370 of file CLevMarqGSO.h.
|
protected |
Minimum number of nodes before we try optimizing the graph.
Definition at line 395 of file CLevMarqGSO.h.
|
protectedinherited |
Provided messages with VerbosityLevel smaller than this value shall be ignored.
Definition at line 252 of file system/COutputLogger.h.
Referenced by mrpt::system::COutputLogger::getMinLoggingLevel(), and mrpt::system::COutputLogger::isLoggingLevelVisible().
|
protected |
Should I fully optimize the graph on loop closure?
Definition at line 354 of file CLevMarqGSO.h.
|
protected |
Definition at line 341 of file CLevMarqGSO.h.
|
protectedinherited |
Time logger instance.
Definition at line 163 of file CRegistrationDeciderOrOptimizer.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::getDescriptiveReport(), and mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::updateState().
|
protectedinherited |
Window to use.
Definition at line 155 of file CRegistrationDeciderOrOptimizer.h.
|
protectedinherited |
Pointer to the CWindowManager object used to store visuals-related instances.
Definition at line 153 of file CRegistrationDeciderOrOptimizer.h.
|
protectedinherited |
CWindowObserver object for monitoring various visual-oriented events.
Definition at line 158 of file CRegistrationDeciderOrOptimizer.h.
OptimizationParams mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::opt_params |
Parameters relevant to the optimizatio nfo the graph.
Definition at line 220 of file CLevMarqGSO.h.
|
protected |
Definition at line 333 of file CLevMarqGSO.h.
|
staticprotectedinherited |
Definition at line 174 of file CRegistrationDeciderOrOptimizer.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::getDescriptiveReport().
GraphVisualizationParams mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::viz_params |
Parameters relevant to the visualization of the graph.
Definition at line 222 of file CLevMarqGSO.h.
Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 7d5e6d718 Fri Aug 24 01:51:28 2018 +0200 at lun nov 2 08:35:50 CET 2020 |