92 template <
class GRAPH_T =
typename mrpt::graphs::CNetworkOfPoses2DInf>
103 using pose_t =
typename GRAPH_T::constraint_t::type_value;
122 const std::map<std::string, bool>& events_occurred)
override;
124 std::map<std::string, int>* edge_types_to_num)
const override;
128 void loadParams(
const std::string& source_fname)
override;
139 const std::string& section)
override;
167 const std::set<mrpt::graphs::TNodeID>& nodes_set);
169 const std::set<mrpt::graphs::TNodeID>& nodes_set);
181 std::set<mrpt::graphs::TNodeID>* nodes_set,
187 std::string viz_flag,
int sleep_time = 500 );
199 std::map<mrpt::graphs::TNodeID, mrpt::obs::CObservation2DRangeScan::Ptr>
201 std::map<mrpt::graphs::TNodeID, mrpt::obs::CObservation3DRangeScan::Ptr>
mrpt::img::TColor m_search_disk_color
see Constructor for initialization
typename parent_t::range_ops_t range_ops_t
void checkRegistrationCondition2D(const std::set< mrpt::graphs::TNodeID > &nodes_set)
typename GRAPH_T::constraint_t::type_value pose_t
type of underlying poses (2D/3D).
ICP-based Edge Registration.
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
mrpt::img::TColor m_laser_scans_color
see Constructor for initialization
void dumpToTextStream(std::ostream &out) const override
This method should clearly display all the contents of the structure in textual form, sending it to a std::ostream.
void dumpVisibilityErrorMsg(std::string viz_flag, int sleep_time=500)
void loadParams(const std::string &source_fname) override
Load the necessary for the decider/optimizer configuration parameters.
double ICP_goodness_thresh
void updateVisuals() override
Update the relevant visual features in CDisplayWindow.
void printParams() const override
Print the problem parameters - relevant to the decider/optimizer to the screen in a unified/compact w...
mrpt::obs::CObservation2DRangeScan::Ptr m_last_laser_scan2D
Edge Registration Decider Interface from which RangeScanner-based ERDs can inherit from...
mrpt::obs::CObservation3DRangeScan::Ptr m_last_laser_scan3D
void notifyOfWindowEvents(const std::map< std::string, bool > &events_occurred) override
Get a list of the window events that happened since the last call.
~CICPCriteriaERD() override=default
void toggleLaserScansVisualization()
togle the LaserScans visualization on and off
void loadFromConfigFile(const mrpt::config::CConfigFileBase &source, const std::string §ion) override
This method load the options from a ".ini"-like file or memory-stored string list.
This class allows loading and storing values and vectors of different types from a configuration text...
size_t LC_min_nodeid_diff
int m_text_index_search_disk
std::map< mrpt::graphs::TNodeID, mrpt::obs::CObservation2DRangeScan::Ptr > m_nodes_to_laser_scans2D
std::string keystroke_laser_scans
void checkRegistrationCondition3D(const std::set< mrpt::graphs::TNodeID > &nodes_set)
double m_offset_y_search_disk
void checkIfInvalidDataset(mrpt::obs::CActionCollection::Ptr action, mrpt::obs::CSensoryFrame::Ptr observations, mrpt::obs::CObservation::Ptr observation)
void getEdgesStats(std::map< std::string, int > *edge_types_to_num) const override
Fill the given map with the type of registered edges as well as the corresponding number of registrat...
void getDescriptiveReport(std::string *report_str) const override
Fill the provided string with a detailed report of the decider/optimizer state.
bool updateState(mrpt::obs::CActionCollection::Ptr action, mrpt::obs::CSensoryFrame::Ptr observations, mrpt::obs::CObservation::Ptr observation) override
Generic method for fetching the incremental action-observations (or observation-only) measurements...
std::map< std::string, int > m_edge_types_to_nums
void registerNewEdge(const mrpt::graphs::TNodeID &from, const mrpt::graphs::TNodeID &to, const constraint_t &rel_edge) override
Register a new constraint/edge in the current graph.
mrpt::vision::TStereoCalibResults out
void initializeVisuals() override
Initialize visual objects in CDisplayWindow (e.g.
mrpt::obs::CObservation2DRangeScan::Ptr m_fake_laser_scan2D
uint64_t TNodeID
A generic numeric type for unique IDs of nodes or entities.
mrpt::graphslam::deciders::CRangeScanOps< GRAPH_T > range_ops_t
Typedef for accessing methods of the RangeScanRegistrationDecider_t parent class. ...
std::map< mrpt::graphs::TNodeID, mrpt::obs::CObservation3DRangeScan::Ptr > m_nodes_to_laser_scans3D
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...
bool visualize_laser_scans
double distance(const TPoint2D &p1, const TPoint2D &p2)
Gets the distance between two points in a 2D space.
typename parent_t::nodes_to_scans2D_t nodes_to_scans2D_t
std::map< mrpt::graphs::TNodeID, mrpt::obs::CObservation2DRangeScan::Ptr > nodes_to_scans2D_t
std::string scans_img_external_dir
typename GRAPH_T::constraint_t constraint_t
Handy typedefs.