Public Member Functions | List of all members
mrpt::graphslam::deciders::CLoopCloserERD_MR< GRAPH_T > Class Template Reference

#include <CLoopCloserERD_MR.h>

Inheritance diagram for mrpt::graphslam::deciders::CLoopCloserERD_MR< GRAPH_T >:
Inheritance graph
[legend]

Public Types

typedef CLoopCloserERD< GRAPH_T > lc_parent_t
 Handy typedefs. More...
 
typedef CEdgeRegistrationDecider_MR< GRAPH_T > mr_parent_t
 
typedef CLoopCloserERD_MR< GRAPH_T > decider_t
 
typedef lc_parent_t::constraint_t constraint_t
 
typedef lc_parent_t::pose_t pose_t
 
typedef lc_parent_t::range_ops_t range_ops_t
 
typedef lc_parent_t::partitions_t partitions_t
 
typedef lc_parent_t::nodes_to_scans2D_t nodes_to_scans2D_t
 
typedef mrpt::graphslam::CGraphSlamEngine_MR< GRAPH_T > engine_t
 
typedef GRAPH_T::global_pose_t global_pose_t
 
- Public Types inherited from mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >
typedef GRAPH_T::constraint_t constraint_t
 
typedef GRAPH_T::constraint_t constraint_t
 
typedef CLoopCloserERD< GRAPH_T > decider_t
 
typedef CLoopCloserERD< GRAPH_T > decider_t
 
typedef GRAPH_T::edges_map_t::const_iterator edges_citerator
 
typedef GRAPH_T::edges_map_t::const_iterator edges_citerator
 
typedef GRAPH_T::edges_map_t::iterator edges_iterator
 
typedef GRAPH_T::edges_map_t::iterator edges_iterator
 
typedef GRAPH_T::global_pose_t global_pose_t
 
typedef GRAPH_T::global_pose_t global_pose_t
 
typedef mrpt::graphs::detail::THypothesis< GRAPH_T > hypot_t
 
typedef mrpt::graphs::detail::THypothesis< GRAPH_T > hypot_t
 
typedef std::vector< hypot_thypots_t
 
typedef std::vector< hypot_thypots_t
 
typedef std::vector< hypot_t * > hypotsp_t
 
typedef std::vector< hypot_t * > hypotsp_t
 
typedef std::map< std::pair< hypot_t *, hypot_t * >, double > hypotsp_to_consist_t
 
typedef std::map< std::pair< hypot_t *, hypot_t * >, double > hypotsp_to_consist_t
 
typedef mrpt::graphslam::detail::TNodeProps< GRAPH_T > node_props_t
 
typedef mrpt::graphslam::detail::TNodeProps< GRAPH_T > node_props_t
 
typedef parent_t::nodes_to_scans2D_t nodes_to_scans2D_t
 
typedef parent_t::nodes_to_scans2D_t nodes_to_scans2D_t
 
typedef CRangeScanEdgeRegistrationDecider< GRAPH_T > parent_t
 
typedef std::vector< mrpt::vector_uintpartitions_t
 
typedef std::vector< mrpt::vector_uintpartitions_t
 
typedef mrpt::graphslam::TUncertaintyPath< GRAPH_T > path_t
 
typedef mrpt::graphslam::TUncertaintyPath< GRAPH_T > path_t
 
typedef std::vector< path_tpaths_t
 
typedef std::vector< path_tpaths_t
 
typedef GRAPH_T::constraint_t::type_value pose_t
 
typedef GRAPH_T::constraint_t::type_value pose_t
 
typedef parent_t::range_ops_t range_ops_t
 
typedef parent_t::range_ops_t range_ops_t
 
- Public Types inherited from mrpt::graphslam::deciders::CRangeScanEdgeRegistrationDecider< class >
typedef std::map< mrpt::utils::TNodeID, mrpt::obs::CObservation2DRangeScanPtr > nodes_to_scans2D_t
 
typedef mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_T > parent_t
 
typedef mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T > range_ops_t
 
- Public Types inherited from mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_T >
typedef GRAPH_T::constraint_t constraint_t
 
typedef GRAPH_T::constraint_t constraint_t
 
typedef mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T > parent
 
typedef mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T > parent
 
typedef GRAPH_T::constraint_t::type_value pose_t
 
typedef GRAPH_T::constraint_t::type_value pose_t
 
- Public Types inherited from mrpt::graphslam::CRegistrationDeciderOrOptimizer_MR< GRAPH_T >
typedef CGraphSlamEngine_MR< GRAPH_T > engine_t
 
- Public Types inherited from mrpt::graphslam::deciders::CRangeScanEdgeRegistrationDecider< GRAPH_T >
typedef std::map< mrpt::utils::TNodeID, mrpt::obs::CObservation2DRangeScanPtr > nodes_to_scans2D_t
 
typedef mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_T > parent_t
 
typedef mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T > range_ops_t
 

Public Member Functions

void addBatchOfNodeIDsAndScans (const std::map< TNodeID, mrpt::obs::CObservation2DRangeScan::Ptr > &nodeIDs_to_scans2D)
 
void addScanMatchingEdges (TNodeID curr_nodeID)
 
 CLoopCloserERD_MR ()
 
void fetchNodeIDsForScanMatching (const TNodeID &curr_nodeID, std::set< TNodeID > *nodes_set)
 
bool updateState (mrpt::obs::CActionCollection::Ptr action, mrpt::obs::CSensoryFrame::Ptr observations, mrpt::obs::CObservation::Ptr observation)
 
- Public Member Functions inherited from mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >
 CLoopCloserERD ()
 
void evalPWConsistenciesMatrix (const mrpt::math::CMatrixDouble &consist_matrix, const hypotsp_t &hypots_pool, hypotsp_t *valid_hypots)
 
void generateHypotsPool (const vector_uint &groupA, const vector_uint &groupB, hypotsp_t *generated_hypots, const TGenerateHypotsPoolAdParams *ad_params=NULL)
 
void generatePWConsistenciesMatrix (const vector_uint &groupA, const vector_uint &groupB, const hypotsp_t &hypots_pool, mrpt::math::CMatrixDouble *consist_matrix, const paths_t *groupA_opt_paths=NULL, const paths_t *groupB_opt_paths=NULL)
 
void getCurrPartitions (partitions_t *partitions_out) const
 
const partitions_tgetCurrPartitions () const
 
void getDescriptiveReport (std::string *report_str) const
 
size_t getDijkstraExecutionThresh () const
 
void getEdgesStats (std::map< std::string, int > *edge_types_to_num) const
 
void initializeVisuals ()
 
void loadParams (const std::string &source_fname)
 
void notifyOfWindowEvents (const std::map< std::string, bool > &events_occurred)
 
void printParams () const
 
void setDijkstraExecutionThresh (size_t new_thresh)
 
void setWindowManagerPtr (mrpt::graphslam::CWindowManager *win_manager)
 
virtual bool updateState (mrpt::obs::CActionCollectionPtr action, mrpt::obs::CSensoryFramePtr observations, mrpt::obs::CObservationPtr observation)
 
void updateVisuals ()
 
virtual ~CLoopCloserERD ()
 
- Public Member Functions inherited from mrpt::graphslam::deciders::CRangeScanEdgeRegistrationDecider< class >
 CRangeScanEdgeRegistrationDecider ()
 
 ~CRangeScanEdgeRegistrationDecider ()
 
- Public Member Functions inherited from mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_T >
 CEdgeRegistrationDecider ()
 
virtual bool justInsertedLoopClosure () const
 
virtual ~CEdgeRegistrationDecider ()
 
- Public Member Functions inherited from mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >
 CRegistrationDeciderOrOptimizer ()
 
std::string getClassName () const
 
virtual void initializeLoggers (const std::string &name)
 
bool isMultiRobotSlamClass ()
 
virtual void setClassName (const std::string &name)
 
virtual void setCriticalSectionPtr (mrpt::synch::CCriticalSection *graph_section)
 
virtual void setGraphPtr (GRAPH_T *graph)
 
virtual ~CRegistrationDeciderOrOptimizer ()
 
- Public Member Functions inherited from mrpt::graphslam::deciders::CEdgeRegistrationDecider_MR< GRAPH_T >
 CEdgeRegistrationDecider_MR ()
 
 ~CEdgeRegistrationDecider_MR ()
 
- Public Member Functions inherited from mrpt::graphslam::CRegistrationDeciderOrOptimizer_MR< GRAPH_T >
 CRegistrationDeciderOrOptimizer_MR ()
 
virtual void setCConnectionManagerPtr (mrpt::graphslam::detail::CConnectionManager *conn_manager)
 
void setCGraphSlamEnginePtr (const engine_t *engine)
 
 ~CRegistrationDeciderOrOptimizer_MR ()
 
- Public Member Functions inherited from mrpt::graphslam::CRegistrationDeciderOrOptimizer_ROS< GRAPH_T >
 CRegistrationDeciderOrOptimizer_ROS ()
 
virtual void setNodeHandle (ros::NodeHandle *nh)
 
virtual ~CRegistrationDeciderOrOptimizer_ROS ()
 
- Public Member Functions inherited from mrpt::graphslam::deciders::CRangeScanEdgeRegistrationDecider< GRAPH_T >
 CRangeScanEdgeRegistrationDecider ()
 
 ~CRangeScanEdgeRegistrationDecider ()
 

Additional Inherited Members

- Protected Member Functions inherited from mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >
virtual void addScanMatchingEdges (const mrpt::utils::TNodeID &curr_nodeID)
 
void addToPaths (std::set< path_t * > *pool_of_paths, const path_t &curr_path, const std::set< mrpt::utils::TNodeID > &neibors) const
 
void checkPartitionsForLC (partitions_t *partitions_for_LC)
 
void computeCentroidOfNodesVector (const vector_uint &nodes_list, std::pair< double, double > *centroid_coords) const
 
bool computeDominantEigenVector (const mrpt::math::CMatrixDouble &consist_matrix, mrpt::math::dynamic_vector< double > *eigvec, bool use_power_method=false)
 
void dumpVisibilityErrorMsg (std::string viz_flag, int sleep_time=500)
 
void evaluatePartitionsForLC (const partitions_t &partitions)
 
void execDijkstraProjection (mrpt::utils::TNodeID starting_node=0, mrpt::utils::TNodeID ending_node=INVALID_NODEID)
 
virtual void fetchNodeIDsForScanMatching (const mrpt::utils::TNodeID &curr_nodeID, std::set< mrpt::utils::TNodeID > *nodes_set)
 
bool fillNodePropsFromGroupParams (const mrpt::utils::TNodeID &nodeID, const std::map< mrpt::utils::TNodeID, node_props_t > &group_params, node_props_t *node_props)
 
double generatePWConsistencyElement (const mrpt::utils::TNodeID &a1, const mrpt::utils::TNodeID &a2, const mrpt::utils::TNodeID &b1, const mrpt::utils::TNodeID &b2, const hypotsp_t &hypots, const paths_t *opt_paths=NULL)
 
virtual bool getICPEdge (const mrpt::utils::TNodeID &from, const mrpt::utils::TNodeID &to, constraint_t *rel_edge, mrpt::slam::CICP::TReturnInfo *icp_info=NULL, const TGetICPEdgeAdParams *ad_params=NULL)
 
void getMinUncertaintyPath (const mrpt::utils::TNodeID from, const mrpt::utils::TNodeID to, path_t *path) const
 
bool getPropsOfNodeID (const mrpt::utils::TNodeID &nodeID, global_pose_t *pose, mrpt::obs::CObservation2DRangeScanPtr &scan, const node_props_t *node_props=NULL) const
 
void initCurrCovarianceVisualization ()
 
void initLaserScansVisualization ()
 
void initMapPartitionsVisualization ()
 
bool mahalanobisDistanceOdometryToICPEdge (const mrpt::utils::TNodeID &from, const mrpt::utils::TNodeID &to, const constraint_t &rel_edge)
 
mrpt::graphslam::TUncertaintyPath< GRAPH_T > * popMinUncertaintyPath (std::set< path_t * > *pool_of_paths) const
 
mrpt::graphslam::TUncertaintyPath< GRAPH_T > * queryOptimalPath (const mrpt::utils::TNodeID node) const
 
void registerHypothesis (const hypot_t &h)
 
void registerNewEdge (const mrpt::utils::TNodeID &from, const mrpt::utils::TNodeID &to, const constraint_t &rel_edge)
 
void setLastLaserScan2D (mrpt::obs::CObservation2DRangeScanPtr scan)
 
void splitPartitionToGroups (vector_uint &partition, vector_uint *groupA, vector_uint *groupB, int max_nodes_in_group=5)
 
void toggleLaserScansVisualization ()
 
void toggleMapPartitionsVisualization ()
 
void updateCurrCovarianceVisualization ()
 
void updateLaserScansVisualization ()
 
void updateMapPartitions (bool full_update=false, bool is_first_time_node_reg=false)
 
void updateMapPartitionsVisualization ()
 
- Protected Member Functions inherited from mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_T >
virtual void checkRegistrationCondition (mrpt::utils::TNodeID from, mrpt::utils::TNodeID to)
 
virtual void checkRegistrationCondition (const std::set< mrpt::utils::TNodeID > &)
 
virtual void checkRegistrationCondition (mrpt::utils::TNodeID from, mrpt::utils::TNodeID to)
 
virtual void checkRegistrationCondition (const std::set< mrpt::utils::TNodeID > &)
 
- Protected Member Functions inherited from mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >
virtual void assertVisualsVars ()
 
- Protected Member Functions inherited from mrpt::graphslam::deciders::CRangeScanOps< class >
bool convert3DTo2DRangeScan (mrpt::obs::CObservation3DRangeScanPtr &scan3D_in, mrpt::obs::CObservation2DRangeScanPtr *scan2D_out=NULL)
 
void decimatePointsMap (mrpt::maps::CPointsMap *m, size_t keep_point_every=4, size_t low_lim=0)
 
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)
 
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)
 
- Protected Member Functions inherited from mrpt::graphslam::deciders::CRangeScanEdgeRegistrationDecider< GRAPH_T >
virtual void loadParams (const std::string &source_fname)
 
virtual void printParams () const
 
- Static Protected Member Functions inherited from mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >
static hypot_tfindHypotByEnds (const hypotsp_t &vec_hypots, const mrpt::utils::TNodeID &from, const mrpt::utils::TNodeID &to, bool throw_exc=true)
 
static hypot_tfindHypotByID (const hypotsp_t &vec_hypots, const size_t &id, bool throw_exc=true)
 
static const path_tfindPathByEnds (const paths_t &vec_paths, const mrpt::utils::TNodeID &src, const mrpt::utils::TNodeID &dst, bool throw_exc=true)
 
- Protected Attributes inherited from mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >
double m_consec_icp_constraint_factor
 
const mrpt::utils::TColor m_curr_node_covariance_color
 
partitions_t m_curr_partitions
 
size_t m_dijkstra_node_count_thresh
 
std::map< std::string, intm_edge_types_to_nums
 
mrpt::obs::CObservation2DRangeScanPtr m_first_laser_scan
 
bool m_is_first_time_node_reg
 
TLaserParams m_laser_params
 
mrpt::obs::CObservation2DRangeScanPtr m_last_laser_scan2D
 
partitions_t m_last_partitions
 
double m_lc_icp_constraint_factor
 
TLoopClosureParams m_lc_params
 
std::map< mrpt::utils::TNodeID, path_t * > m_node_optimal_paths
 
double m_offset_y_curr_node_covariance
 
mrpt::slam::CIncrementalMapPartitioner m_partitioner
 
std::map< int, vector_uintm_partitionID_to_prev_nodes_list
 
bool m_partitions_full_update
 
int m_text_index_curr_node_covariance
 
bool m_visualize_curr_node_covariance
 
- Protected Attributes inherited from mrpt::graphslam::deciders::CRangeScanEdgeRegistrationDecider< class >
size_t m_last_total_num_nodes
 
nodes_to_scans2D_t m_nodes_to_laser_scans2D
 
- Protected Attributes inherited from mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_T >
bool m_just_inserted_lc
 
bool m_override_registered_nodes_check
 
- Protected Attributes inherited from mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >
bool is_mr_slam_class
 
std::string m_class_name
 
GRAPH_T * m_graph
 
mrpt::synch::CCriticalSectionm_graph_section
 
bool m_initialized_visuals
 
mrpt::utils::CTimeLogger m_time_logger
 
mrpt::gui::CDisplayWindow3Dm_win
 
mrpt::graphslam::CWindowManagerm_win_manager
 
mrpt::graphslam::CWindowObserverm_win_observer
 
- Protected Attributes inherited from mrpt::graphslam::deciders::CRangeScanOps< class >
TParams params
 
- Protected Attributes inherited from mrpt::graphslam::CRegistrationDeciderOrOptimizer_MR< GRAPH_T >
mrpt::graphslam::detail::CConnectionManagerm_conn_manager
 Pointer to the CConnectionManager instance. More...
 
const engine_tm_engine
 Constant pointer to the CGraphSlamEngine_MR instance. More...
 
std::string own_ns
 
- Protected Attributes inherited from mrpt::graphslam::CRegistrationDeciderOrOptimizer_ROS< GRAPH_T >
ros::NodeHandlem_nh
 NodeHandle instance. More...
 
- Protected Attributes inherited from mrpt::graphslam::deciders::CRangeScanEdgeRegistrationDecider< GRAPH_T >
size_t m_last_total_num_nodes
 
nodes_to_scans2D_t m_nodes_to_laser_scans2D
 
- Static Protected Attributes inherited from mrpt::graphslam::CRegistrationDeciderOrOptimizer< GRAPH_T >
static const std::string header_sep
 
static const std::string report_sep
 

Detailed Description

template<class GRAPH_T>
class mrpt::graphslam::deciders::CLoopCloserERD_MR< GRAPH_T >

Loop Closer Edge Registration Decider class that can also be used in multi-robot SLAM operations since it can utilize information from other robot agents and correct own graph according to the strategy described in [1].

Note
Multi-robot-related classes are suffixed with _MR.

Definition at line 26 of file CLoopCloserERD_MR.h.

Member Typedef Documentation

Definition at line 37 of file CLoopCloserERD_MR.h.

template<class GRAPH_T >
typedef CLoopCloserERD_MR<GRAPH_T> mrpt::graphslam::deciders::CLoopCloserERD_MR< GRAPH_T >::decider_t

handy self type

Definition at line 36 of file CLoopCloserERD_MR.h.

Definition at line 42 of file CLoopCloserERD_MR.h.

template<class GRAPH_T >
typedef GRAPH_T::global_pose_t mrpt::graphslam::deciders::CLoopCloserERD_MR< GRAPH_T >::global_pose_t

Definition at line 43 of file CLoopCloserERD_MR.h.

template<class GRAPH_T >
typedef CLoopCloserERD<GRAPH_T> mrpt::graphslam::deciders::CLoopCloserERD_MR< GRAPH_T >::lc_parent_t

Handy typedefs.

type of graph constraints parent class

Definition at line 34 of file CLoopCloserERD_MR.h.

template<class GRAPH_T >
typedef CEdgeRegistrationDecider_MR<GRAPH_T> mrpt::graphslam::deciders::CLoopCloserERD_MR< GRAPH_T >::mr_parent_t

parent class

Definition at line 35 of file CLoopCloserERD_MR.h.

Definition at line 41 of file CLoopCloserERD_MR.h.

Definition at line 40 of file CLoopCloserERD_MR.h.

template<class GRAPH_T >
typedef lc_parent_t::pose_t mrpt::graphslam::deciders::CLoopCloserERD_MR< GRAPH_T >::pose_t

Definition at line 38 of file CLoopCloserERD_MR.h.

Definition at line 39 of file CLoopCloserERD_MR.h.

Constructor & Destructor Documentation

template<class GRAPH_T >
mrpt::graphslam::deciders::CLoopCloserERD_MR< GRAPH_T >::CLoopCloserERD_MR ( )

Definition at line 16 of file CLoopCloserERD_MR_impl.h.

Member Function Documentation

template<class GRAPH_T >
void mrpt::graphslam::deciders::CLoopCloserERD_MR< GRAPH_T >::addBatchOfNodeIDsAndScans ( const std::map< TNodeID, mrpt::obs::CObservation2DRangeScan::Ptr > &  nodeIDs_to_scans2D)
virtual
template<class GRAPH_T >
void mrpt::graphslam::deciders::CLoopCloserERD_MR< GRAPH_T >::addScanMatchingEdges ( TNodeID  curr_nodeID)

Definition at line 39 of file CLoopCloserERD_MR_impl.h.

template<class GRAPH_T >
void mrpt::graphslam::deciders::CLoopCloserERD_MR< GRAPH_T >::fetchNodeIDsForScanMatching ( const TNodeID curr_nodeID,
std::set< TNodeID > *  nodes_set 
)

Definition at line 54 of file CLoopCloserERD_MR_impl.h.

template<class GRAPH_T >
bool mrpt::graphslam::deciders::CLoopCloserERD_MR< GRAPH_T >::updateState ( mrpt::obs::CActionCollection::Ptr  action,
mrpt::obs::CSensoryFrame::Ptr  observations,
mrpt::obs::CObservation::Ptr  observation 
)

Definition at line 73 of file CLoopCloserERD_MR_impl.h.


The documentation for this class was generated from the following files:


mrpt_graphslam_2d
Author(s): Nikos Koukis
autogenerated on Sat May 2 2020 03:44:18