|
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) |
|
| 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_t & | getCurrPartitions () 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 () |
|
| CRangeScanEdgeRegistrationDecider () |
|
| ~CRangeScanEdgeRegistrationDecider () |
|
| CEdgeRegistrationDecider () |
|
virtual bool | justInsertedLoopClosure () const |
|
virtual | ~CEdgeRegistrationDecider () |
|
| 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 () |
|
| CEdgeRegistrationDecider_MR () |
|
| ~CEdgeRegistrationDecider_MR () |
|
| CRegistrationDeciderOrOptimizer_MR () |
|
virtual void | setCConnectionManagerPtr (mrpt::graphslam::detail::CConnectionManager *conn_manager) |
|
void | setCGraphSlamEnginePtr (const engine_t *engine) |
|
| ~CRegistrationDeciderOrOptimizer_MR () |
|
| CRegistrationDeciderOrOptimizer_ROS () |
|
virtual void | setNodeHandle (ros::NodeHandle *nh) |
|
virtual | ~CRegistrationDeciderOrOptimizer_ROS () |
|
| CRangeScanEdgeRegistrationDecider () |
|
| ~CRangeScanEdgeRegistrationDecider () |
|
|
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 () |
|
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 > &) |
|
virtual void | assertVisualsVars () |
|
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) |
|
virtual void | loadParams (const std::string &source_fname) |
|
virtual void | printParams () const |
|
static hypot_t * | findHypotByEnds (const hypotsp_t &vec_hypots, const mrpt::utils::TNodeID &from, const mrpt::utils::TNodeID &to, bool throw_exc=true) |
|
static hypot_t * | findHypotByID (const hypotsp_t &vec_hypots, const size_t &id, bool throw_exc=true) |
|
static const path_t * | findPathByEnds (const paths_t &vec_paths, const mrpt::utils::TNodeID &src, const mrpt::utils::TNodeID &dst, bool throw_exc=true) |
|
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, int > | m_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_uint > | m_partitionID_to_prev_nodes_list |
|
bool | m_partitions_full_update |
|
int | m_text_index_curr_node_covariance |
|
bool | m_visualize_curr_node_covariance |
|
size_t | m_last_total_num_nodes |
|
nodes_to_scans2D_t | m_nodes_to_laser_scans2D |
|
bool | m_just_inserted_lc |
|
bool | m_override_registered_nodes_check |
|
bool | is_mr_slam_class |
|
std::string | m_class_name |
|
GRAPH_T * | m_graph |
|
mrpt::synch::CCriticalSection * | m_graph_section |
|
bool | m_initialized_visuals |
|
mrpt::utils::CTimeLogger | m_time_logger |
|
mrpt::gui::CDisplayWindow3D * | m_win |
|
mrpt::graphslam::CWindowManager * | m_win_manager |
|
mrpt::graphslam::CWindowObserver * | m_win_observer |
|
TParams | params |
|
mrpt::graphslam::detail::CConnectionManager * | m_conn_manager |
| Pointer to the CConnectionManager instance. More...
|
|
const engine_t * | m_engine |
| Constant pointer to the CGraphSlamEngine_MR instance. More...
|
|
std::string | own_ns |
|
ros::NodeHandle * | m_nh |
| NodeHandle instance. More...
|
|
size_t | m_last_total_num_nodes |
|
nodes_to_scans2D_t | m_nodes_to_laser_scans2D |
|
static const std::string | header_sep |
|
static const std::string | report_sep |
|
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.