ICP-based Edge Registration.
Register new edges in the graph with the last inserted node. Criterion for adding new edges should be the goodness of the candidate ICP edge. The nodes for ICP are picked based on the distance from the last inserted node.
Definition at line 111 of file CICPCriteriaERD.h.
#include <mrpt/graphslam/ERD/CICPCriteriaERD.h>
Classes | |
struct | TParams |
Public Types | |
typedef GRAPH_T::constraint_t | constraint_t |
Handy typedefs. More... | |
typedef GRAPH_T::constraint_t::type_value | pose_t |
type of underlying poses (2D/3D). More... | |
typedef CRangeScanEdgeRegistrationDecider< GRAPH_T > | parent_t |
typedef parent_t::range_ops_t | range_ops_t |
typedef CICPCriteriaERD< GRAPH_T > | decider_t |
self type - Handy typedef More... | |
typedef parent_t::nodes_to_scans2D_t | nodes_to_scans2D_t |
typedef mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T > | parent |
Handy typedefs. More... | |
Public Member Functions | |
CICPCriteriaERD () | |
~CICPCriteriaERD () | |
bool | updateState (mrpt::obs::CActionCollectionPtr action, mrpt::obs::CSensoryFramePtr observations, mrpt::obs::CObservationPtr observation) |
Generic method for fetching the incremental action/observation readings from the calling function. 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 | getEdgesStats (std::map< std::string, int > *edge_types_to_num) const |
Fill the given map with the type of registered edges as well as the corresponding number of registration of each edge. More... | |
void | initializeVisuals () |
Initialize visual objects in CDisplayWindow (e.g. More... | |
void | updateVisuals () |
Update the relevant visual features in CDisplayWindow. More... | |
void | loadParams (const std::string &source_fname) |
Fetch the latest observation that the current instance received (most probably during a call to the updateState method. 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... | |
virtual bool | justInsertedLoopClosure () const |
Used by the caller to query for possible loop closures in the last edge registration procedure. More... | |
virtual void | setWindowManagerPtr (mrpt::graphslam::CWindowManager *win_manager) |
Fetch a CWindowManager pointer. More... | |
virtual void | setCriticalSectionPtr (mrpt::synch::CCriticalSection *graph_section) |
Fetch a mrpt::synch::CCriticalSection 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 |
Public Attributes | |
TParams | params |
Protected Member Functions | |
void | checkRegistrationCondition2D (const std::set< mrpt::utils::TNodeID > &nodes_set) |
void | checkRegistrationCondition3D (const std::set< mrpt::utils::TNodeID > &nodes_set) |
void | registerNewEdge (const mrpt::utils::TNodeID &from, const mrpt::utils::TNodeID &to, const constraint_t &rel_edge) |
Register a new constraint/edge in the current graph. More... | |
void | checkIfInvalidDataset (mrpt::obs::CActionCollectionPtr action, mrpt::obs::CSensoryFramePtr observations, mrpt::obs::CObservationPtr observation) |
void | getNearbyNodesOf (std::set< mrpt::utils::TNodeID > *nodes_set, const mrpt::utils::TNodeID &cur_nodeID, double distance) |
Get a list of the nodeIDs whose position is within a certain distance to the specified nodeID. More... | |
void | toggleLaserScansVisualization () |
togle the LaserScans visualization on and off More... | |
void | dumpVisibilityErrorMsg (std::string viz_flag, int sleep_time=500) |
virtual void | assertVisualsVars () |
Handy function for making all the visuals assertions in a compact manner. More... | |
void | getICPEdge (const mrpt::obs::CObservation2DRangeScan &from, const mrpt::obs::CObservation2DRangeScan &to, constraint_t *rel_edge, const mrpt::poses::CPose2D *initial_pose=NULL, mrpt::slam::CICP::TReturnInfo *icp_info=NULL) |
Align the 2D range scans provided and fill the potential edge that can transform the one into the other. More... | |
void | getICPEdge (const mrpt::obs::CObservation3DRangeScan &from, const mrpt::obs::CObservation3DRangeScan &to, constraint_t *rel_edge, const mrpt::poses::CPose2D *initial_pose=NULL, mrpt::slam::CICP::TReturnInfo *icp_info=NULL) |
Align the 3D range scans provided and find the potential edge that can transform the one into the other. More... | |
void | decimatePointsMap (mrpt::maps::CPointsMap *m, size_t keep_point_every=4, size_t low_lim=0) |
Reduce the size of the given CPointsMap by keeping one out of "keep_point_every" points. More... | |
bool | convert3DTo2DRangeScan (mrpt::obs::CObservation3DRangeScanPtr &scan3D_in, mrpt::obs::CObservation2DRangeScanPtr *scan2D_out=NULL) |
Wrapper around the CObservation3DRangeScan::convertTo2DScan corresponding method. More... | |
Registration criteria checks | |
Check whether a new edge should be registered in the graph. If condition(s) for edge registration is satisfied, method should call the registerNewEdge method. | |
virtual void | checkRegistrationCondition (mrpt::utils::TNodeID from, mrpt::utils::TNodeID to) |
virtual void | checkRegistrationCondition (const std::set< mrpt::utils::TNodeID > &) |
Protected Attributes | |
mrpt::utils::TColor | m_search_disk_color |
see Constructor for initialization More... | |
mrpt::utils::TColor | m_laser_scans_color |
see Constructor for initialization More... | |
double | m_offset_y_search_disk |
int | m_text_index_search_disk |
std::map< mrpt::utils::TNodeID, mrpt::obs::CObservation2DRangeScanPtr > | m_nodes_to_laser_scans2D |
std::map< mrpt::utils::TNodeID, mrpt::obs::CObservation3DRangeScanPtr > | m_nodes_to_laser_scans3D |
std::map< std::string, int > | m_edge_types_to_nums |
bool | m_is_using_3DScan |
mrpt::obs::CObservation2DRangeScanPtr | m_last_laser_scan2D |
mrpt::obs::CObservation3DRangeScanPtr | m_last_laser_scan3D |
mrpt::obs::CObservation2DRangeScanPtr | m_fake_laser_scan2D |
size_t | m_last_total_num_nodes |
Keep track of the total number of registered nodes since the last time class method was called. More... | |
bool | m_just_inserted_lc |
bool | m_override_registered_nodes_check |
Indicates whether the ERD implementation expects, at most one single node to be registered, between successive calls to the updateState method. More... | |
GRAPH_T * | m_graph |
Pointer to the graph that is under construction. More... | |
mrpt::synch::CCriticalSection * | m_graph_section |
mrpt::utils::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... | |
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 = std::string(80, '-') |
Separator string to be used in debugging messages. More... | |
static const std::string | report_sep = std::string(2, '\n') |
typedef GRAPH_T::constraint_t mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::constraint_t |
typedef CICPCriteriaERD<GRAPH_T> mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::decider_t |
self type - Handy typedef
Definition at line 123 of file CICPCriteriaERD.h.
typedef parent_t::nodes_to_scans2D_t mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::nodes_to_scans2D_t |
Definition at line 124 of file CICPCriteriaERD.h.
|
inherited |
typedef CRangeScanEdgeRegistrationDecider<GRAPH_T> mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::parent_t |
Definition at line 121 of file CICPCriteriaERD.h.
typedef GRAPH_T::constraint_t::type_value mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::pose_t |
type of underlying poses (2D/3D).
Definition at line 120 of file CICPCriteriaERD.h.
typedef parent_t::range_ops_t mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::range_ops_t |
Definition at line 122 of file CICPCriteriaERD.h.
mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::CICPCriteriaERD | ( | ) |
Definition at line 19 of file CICPCriteriaERD_impl.h.
References mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::initializeLoggers(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_edge_types_to_nums, mrpt::graphslam::deciders::CRangeScanEdgeRegistrationDecider< GRAPH_T >::m_last_total_num_nodes, MRPT_END, and MRPT_START.
mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::~CICPCriteriaERD | ( | ) |
Definition at line 42 of file CICPCriteriaERD_impl.h.
|
protectedvirtualinherited |
Handy function for making all the visuals assertions in a compact manner.
Definition at line 87 of file CRegistrationDeciderOrOptimizer_impl.h.
|
protected |
|
inlineprotectedvirtualinherited |
Definition at line 92 of file CEdgeRegistrationDecider.h.
|
inlineprotectedvirtualinherited |
Definition at line 95 of file CEdgeRegistrationDecider.h.
|
protected |
Definition at line 145 of file CICPCriteriaERD_impl.h.
References mrpt::math::absDiff(), mrpt::utils::CTimeLogger::enter(), mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T >::getICPEdge(), mrpt::slam::CICP::TReturnInfo::goodness, mrpt::utils::CTimeLogger::leave(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_edge_types_to_nums, mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::m_graph, mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_T >::m_just_inserted_lc, mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_nodes_to_laser_scans2D, mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::m_time_logger, MRPT_END, MRPT_LOG_DEBUG_STREAM, MRPT_START, mrpt::slam::CICP::TReturnInfo::nIterations, and mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::registerNewEdge().
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateState().
|
protected |
Definition at line 222 of file CICPCriteriaERD_impl.h.
References mrpt::math::absDiff(), mrpt::utils::CTimeLogger::enter(), mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T >::getICPEdge(), mrpt::slam::CICP::TReturnInfo::goodness, mrpt::utils::CTimeLogger::leave(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_edge_types_to_nums, mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::m_graph, mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_T >::m_just_inserted_lc, mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_nodes_to_laser_scans3D, mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::m_time_logger, MRPT_END, MRPT_START, and mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::registerNewEdge().
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateState().
|
protectedinherited |
Wrapper around the CObservation3DRangeScan::convertTo2DScan corresponding method.
Definition at line 139 of file CRangeScanOps_impl.h.
References mrpt::obs::CObservation2DRangeScan::Create(), MRPT_END, and MRPT_START.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateState().
|
protectedinherited |
Reduce the size of the given CPointsMap by keeping one out of "keep_point_every" points.
Definition at line 110 of file CRangeScanOps_impl.h.
References mrpt::maps::CPointsMap::applyDeletionMask(), min, MRPT_END, MRPT_START, and mrpt::maps::CPointsMap::size().
|
protected |
Definition at line 504 of file CICPCriteriaERD_impl.h.
References MRPT_END, MRPT_START, and mrpt::system::sleep().
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::toggleLaserScansVisualization().
|
inlineinherited |
Definition at line 138 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::deciders::CEdgeRegistrationDecider< GRAPH_T >.
Definition at line 551 of file CICPCriteriaERD_impl.h.
References mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_T >::getDescriptiveReport(), mrpt::utils::CTimeLogger::getStatsAsText(), mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::header_sep, mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::m_time_logger, MRPT_END, MRPT_START, and mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::report_sep.
|
virtual |
Fill the given map with the type of registered edges as well as the corresponding number of registration of each edge.
Reimplemented from mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_T >.
Definition at line 364 of file CICPCriteriaERD_impl.h.
References mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_edge_types_to_nums, MRPT_END, and MRPT_START.
|
protectedinherited |
Align the 2D range scans provided and fill the potential edge that can transform the one into the other.
User can optionally ask that additional information be returned in a TReturnInfo struct
Definition at line 16 of file CRangeScanOps_impl.h.
References info, mrpt::maps::CMetricMap::insertObservation(), MRPT_END, and MRPT_START.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition2D(), mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::checkRegistrationCondition2D(), and mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition3D().
|
protectedinherited |
Align the 3D range scans provided and find the potential edge that can transform the one into the other.
Fills the 2D part (rel_edge) of the 3D constraint between the scans, since we are interested in computing the 2D alignment. User can optionally ask that additional information be returned in a TReturnInfo struct
Definition at line 54 of file CRangeScanOps_impl.h.
References ASSERTMSG_, mrpt::mrpt::format(), mrpt::obs::CObservation3DRangeScan::hasRangeImage, info, mrpt::maps::CMetricMap::insertObservation(), MRPT_END, and MRPT_START.
|
protected |
Get a list of the nodeIDs whose position is within a certain distance to the specified nodeID.
Definition at line 296 of file CICPCriteriaERD_impl.h.
References mrpt::math::distance(), mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::m_graph, MRPT_END, and MRPT_START.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateState().
|
virtualinherited |
Initialize the COutputLogger, CTimeLogger instances given the name of the decider/optimizer at hand.
Definition at line 38 of file CRegistrationDeciderOrOptimizer_impl.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::CICPCriteriaERD(), mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::CICPCriteriaNRD(), mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::CLevMarqGSO(), and mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::CLoopCloserERD().
|
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 374 of file CICPCriteriaERD_impl.h.
References mrpt::utils::TColor::A, mrpt::graphslam::CWindowManager::addTextMessage(), ASSERTMSG_, mrpt::graphslam::CWindowManager::assignTextMessageParameters(), mrpt::utils::TColor::B, mrpt::opengl::CPlanarLaserScan::Create(), mrpt::utils::CTimeLogger::enter(), mrpt::gui::CDisplayWindow3D::forceRepaint(), mrpt::mrpt::format(), mrpt::utils::TColor::G, mrpt::gui::CDisplayWindow3D::get3DSceneAndLock(), mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::initializeVisuals(), mrpt::utils::CTimeLogger::leave(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_laser_scans_color, mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_offset_y_search_disk, mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_search_disk_color, mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_text_index_search_disk, mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::m_time_logger, mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::m_win, mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::m_win_manager, mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::m_win_observer, MRPT_END, MRPT_START, mrpt::utils::TColor::R, mrpt::graphslam::CWindowObserver::registerKeystroke(), and mrpt::gui::CDisplayWindow3D::unlockAccess3DScene().
|
inherited |
Definition at line 132 of file CRegistrationDeciderOrOptimizer_impl.h.
|
inlinevirtualinherited |
Used by the caller to query for possible loop closures in the last edge registration procedure.
Definition at line 79 of file CEdgeRegistrationDecider.h.
|
virtual |
Fetch the latest observation that the current instance received (most probably during a call to the updateState method.
Reimplemented from mrpt::graphslam::deciders::CRangeScanEdgeRegistrationDecider< GRAPH_T >.
Definition at line 522 of file CICPCriteriaERD_impl.h.
References mrpt::graphslam::deciders::CRangeScanEdgeRegistrationDecider< GRAPH_T >::loadParams(), MRPT_END, and MRPT_START.
|
virtual |
Get a list of the window events that happened since the last call.
Method in derived classes is automatically called from the CGraphSlamEngine_t instance. After that, decider/optimizer should just fetch the parameters that it is interested in.
Reimplemented from mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >.
Definition at line 323 of file CICPCriteriaERD_impl.h.
References MRPT_END, MRPT_START, mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::notifyOfWindowEvents(), and mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::toggleLaserScansVisualization().
|
virtual |
Print the problem parameters - relevant to the decider/optimizer to the screen in a unified/compact way.
Reimplemented from mrpt::graphslam::deciders::CRangeScanEdgeRegistrationDecider< GRAPH_T >.
Definition at line 542 of file CICPCriteriaERD_impl.h.
References MRPT_END, MRPT_START, and mrpt::graphslam::deciders::CRangeScanEdgeRegistrationDecider< GRAPH_T >::printParams().
|
protectedvirtual |
Register a new constraint/edge in the current graph.
Implementations of this class should provide a wrapper around GRAPH_T::insertEdge method.
Reimplemented from mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_T >.
Definition at line 284 of file CICPCriteriaERD_impl.h.
References mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::m_graph, and mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_T >::registerNewEdge().
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition2D(), and mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition3D().
|
virtualinherited |
Definition at line 52 of file CRegistrationDeciderOrOptimizer_impl.h.
|
virtualinherited |
Fetch a mrpt::synch::CCriticalSection for locking the GRAPH_T resource.
Handy for realising multithreading in the derived classes.
Definition at line 73 of file CRegistrationDeciderOrOptimizer_impl.h.
|
virtualinherited |
Fetch the graph on which the decider/optimizer will work on.
Definition at line 124 of file CRegistrationDeciderOrOptimizer_impl.h.
|
virtualinherited |
Fetch a CWindowManager pointer.
CWindowManager instance should contain a CDisplayWindow3D* and, optionally, a CWindowObserver pointer so that interaction with the window is possible
Reimplemented in mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >.
Definition at line 61 of file CRegistrationDeciderOrOptimizer_impl.h.
|
protected |
togle the LaserScans visualization on and off
Definition at line 337 of file CICPCriteriaERD_impl.h.
References ASSERTMSG_, mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::dumpVisibilityErrorMsg(), mrpt::gui::CDisplayWindow3D::forceRepaint(), mrpt::gui::CDisplayWindow3D::get3DSceneAndLock(), mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::m_win, mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::m_win_manager, MRPT_END, MRPT_START, and mrpt::gui::CDisplayWindow3D::unlockAccess3DScene().
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::notifyOfWindowEvents().
|
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 checkRegistrationCondition to check for potential Edge registration
Implements mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_T >.
Definition at line 47 of file CICPCriteriaERD_impl.h.
References mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition2D(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition3D(), mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T >::convert3DTo2DRangeScan(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::getNearbyNodesOf(), IS_CLASS, mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_fake_laser_scan2D, mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::m_graph, mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_is_using_3DScan, mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_T >::m_just_inserted_lc, mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_last_laser_scan2D, mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_last_laser_scan3D, mrpt::graphslam::deciders::CRangeScanEdgeRegistrationDecider< GRAPH_T >::m_last_total_num_nodes, mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_nodes_to_laser_scans2D, mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_nodes_to_laser_scans3D, MRPT_END, MRPT_START, and MRPT_UNUSED_PARAM.
|
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 440 of file CICPCriteriaERD_impl.h.
References DEG2RAD, mrpt::utils::CTimeLogger::enter(), mrpt::gui::CDisplayWindow3D::forceRepaint(), mrpt::gui::CDisplayWindow3D::get3DSceneAndLock(), mrpt::utils::CTimeLogger::leave(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_fake_laser_scan2D, mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::m_graph, mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::m_last_laser_scan2D, mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::m_time_logger, mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::m_win, MRPT_END, MRPT_START, mrpt::gui::CDisplayWindow3D::unlockAccess3DScene(), and mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >::updateVisuals().
|
staticprotectedinherited |
Separator string to be used in debugging messages.
Definition at line 175 of file CRegistrationDeciderOrOptimizer.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::getDescriptiveReport(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::getDescriptiveReport(), and mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::getDescriptiveReport().
|
protectedinherited |
Boolean indicating if the current class can be used in multi-robot SLAM operations.
Definition at line 171 of file CRegistrationDeciderOrOptimizer.h.
|
protectedinherited |
Name of the class instance.
Definition at line 167 of file CRegistrationDeciderOrOptimizer.h.
Referenced by mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_t >::getClassName().
|
protected |
Definition at line 220 of file CICPCriteriaERD.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition2D(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition3D(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::CICPCriteriaERD(), and mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::getEdgesStats().
|
protected |
Definition at line 227 of file CICPCriteriaERD.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateState(), and mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateVisuals().
|
protectedinherited |
Pointer to the graph that is under construction.
Definition at line 146 of file CRegistrationDeciderOrOptimizer.h.
Referenced by mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::_optimizeGraph(), mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::checkForLoopClosures(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition2D(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition3D(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::getNearbyNodesOf(), mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::getNearbyNodesOf(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::registerNewEdge(), mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::updateGraphVisualization(), mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::updateOptDistanceVisualization(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateState(), mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::updateState(), and mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateVisuals().
|
protectedinherited |
Definition at line 147 of file CRegistrationDeciderOrOptimizer.h.
Referenced by mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::optimizeGraph().
|
protectedinherited |
Definition at line 161 of file CRegistrationDeciderOrOptimizer.h.
|
protected |
Definition at line 221 of file CICPCriteriaERD.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateState().
|
protectedinherited |
Definition at line 108 of file CEdgeRegistrationDecider.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition2D(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition3D(), mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_t >::justInsertedLoopClosure(), and mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateState().
|
protected |
see Constructor for initialization
Definition at line 211 of file CICPCriteriaERD.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::initializeVisuals().
|
protected |
Definition at line 223 of file CICPCriteriaERD.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateState(), and mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateVisuals().
|
protected |
Definition at line 224 of file CICPCriteriaERD.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateState().
|
protectedinherited |
Keep track of the total number of registered nodes since the last time class method was called.
Definition at line 65 of file CRangeScanEdgeRegistrationDecider.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::CICPCriteriaERD(), and mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateState().
|
protected |
Definition at line 217 of file CICPCriteriaERD.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition2D(), and mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateState().
|
protected |
Definition at line 219 of file CICPCriteriaERD.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition3D(), and mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateState().
|
protected |
Definition at line 212 of file CICPCriteriaERD.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::initializeVisuals().
|
protectedinherited |
Indicates whether the ERD implementation expects, at most one single node to be registered, between successive calls to the updateState method.
By default set to false.
Definition at line 115 of file CEdgeRegistrationDecider.h.
|
protected |
see Constructor for initialization
Definition at line 210 of file CICPCriteriaERD.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::initializeVisuals().
|
protected |
Definition at line 213 of file CICPCriteriaERD.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::initializeVisuals().
|
protectedinherited |
Time logger instance.
Definition at line 165 of file CRegistrationDeciderOrOptimizer.h.
Referenced by mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::_optimizeGraph(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition2D(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::checkRegistrationCondition3D(), mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::getDescriptiveReport(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::getDescriptiveReport(), mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::getDescriptiveReport(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::initializeVisuals(), mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::updateState(), and mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateVisuals().
|
protectedinherited |
Window to use.
Definition at line 157 of file CRegistrationDeciderOrOptimizer.h.
Referenced by mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::fitGraphInView(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::initializeVisuals(), mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::initOptDistanceVisualization(), mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::toggleGraphVisualization(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::toggleLaserScansVisualization(), mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::toggleOptDistanceVisualization(), mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::updateGraphVisualization(), mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::updateOptDistanceVisualization(), and mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::updateVisuals().
|
protectedinherited |
Pointer to the CWindowManager object used to store visuals-related instances.
Definition at line 155 of file CRegistrationDeciderOrOptimizer.h.
Referenced by mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::initGraphVisualization(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::initializeVisuals(), mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::initOptDistanceVisualization(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::toggleLaserScansVisualization(), mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::updateGraphVisualization(), and mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::updateOptDistanceVisualization().
|
protectedinherited |
CWindowObserver object for monitoring various visual-oriented events.
Definition at line 160 of file CRegistrationDeciderOrOptimizer.h.
Referenced by mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::initGraphVisualization(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::initializeVisuals(), and mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::initOptDistanceVisualization().
TParams mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::params |
Definition at line 177 of file CICPCriteriaERD.h.
|
staticprotectedinherited |
Definition at line 176 of file CRegistrationDeciderOrOptimizer.h.
Referenced by mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::getDescriptiveReport(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::getDescriptiveReport(), and mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::getDescriptiveReport().
Page generated by Doxygen 1.8.14 for MRPT 1.5.6 Git: 4c65e8431 Tue Apr 24 08:18:17 2018 +0200 at lun oct 28 01:35:26 CET 2019 |