10 #ifndef CICPCRITERIAERD_H 11 #define CICPCRITERIAERD_H 112 template <
class GRAPH_T =
typename mrpt::graphs::CNetworkOfPoses2DInf>
123 typedef typename GRAPH_T::constraint_t::type_value
pose_t;
142 const std::map<std::string, bool>& events_occurred);
143 void getEdgesStats(std::map<std::string, int>* edge_types_to_num)
const;
186 const std::set<mrpt::utils::TNodeID>& nodes_set);
188 const std::set<mrpt::utils::TNodeID>& nodes_set);
200 std::set<mrpt::utils::TNodeID>* nodes_set,
218 std::map<mrpt::utils::TNodeID, mrpt::obs::CObservation2DRangeScan::Ptr>
220 std::map<mrpt::utils::TNodeID, mrpt::obs::CObservation3DRangeScan::Ptr>
parent_t::range_ops_t range_ops_t
ICP-based Edge Registration.
void notifyOfWindowEvents(const std::map< std::string, bool > &events_occurred)
Get a list of the window events that happened since the last call.
void dumpVisibilityErrorMsg(std::string viz_flag, int sleep_time=500)
void checkRegistrationCondition2D(const std::set< mrpt::utils::TNodeID > &nodes_set)
GRAPH_T::constraint_t constraint_t
Handy typedefs.
std::shared_ptr< CObservation3DRangeScan > Ptr
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...
double ICP_goodness_thresh
mrpt::obs::CObservation2DRangeScan::Ptr m_last_laser_scan2D
mrpt::utils::TColor m_search_disk_color
see Constructor for initialization
Edge Registration Decider Interface from which RangeScanner-based ERDs can inherit from...
std::shared_ptr< CObservation2DRangeScan > Ptr
mrpt::obs::CObservation3DRangeScan::Ptr m_last_laser_scan3D
void toggleLaserScansVisualization()
togle the LaserScans visualization on and off
This class allows loading and storing values and vectors of different types from a configuration text...
std::map< mrpt::utils::TNodeID, mrpt::obs::CObservation2DRangeScan::Ptr > nodes_to_scans2D_t
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
size_t LC_min_nodeid_diff
int m_text_index_search_disk
std::map< mrpt::utils::TNodeID, mrpt::obs::CObservation2DRangeScan::Ptr > m_nodes_to_laser_scans2D
uint64_t TNodeID
The type for node IDs in graphs of different types.
void getDescriptiveReport(std::string *report_str) const
Fill the provided string with a detailed report of the decider/optimizer state.
std::string keystroke_laser_scans
std::shared_ptr< CSensoryFrame > Ptr
double m_offset_y_search_disk
void checkIfInvalidDataset(mrpt::obs::CActionCollection::Ptr action, mrpt::obs::CSensoryFrame::Ptr observations, mrpt::obs::CObservation::Ptr observation)
std::shared_ptr< CObservation > Ptr
GLsizei const GLchar ** string
void dumpToTextStream(mrpt::utils::CStream &out) const
This method should clearly display all the contents of the structure in textual form, sending it to a CStream.
mrpt::utils::TColor m_laser_scans_color
see Constructor for initialization
Class for keeping together all the RangeScanner-related functions.
std::map< std::string, int > m_edge_types_to_nums
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
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.
void loadFromConfigFile(const mrpt::utils::CConfigFileBase &source, const std::string §ion)
This method load the options from a ".ini"-like file or memory-stored string list.
CRangeScanEdgeRegistrationDecider< GRAPH_T > parent_t
std::shared_ptr< CActionCollection > Ptr
parent_t::nodes_to_scans2D_t nodes_to_scans2D_t
void printParams() const
Print the problem parameters - relevant to the decider/optimizer to the screen in a unified/compact w...
GLsizei GLsizei GLchar * source
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...
mrpt::obs::CObservation2DRangeScan::Ptr m_fake_laser_scan2D
CICPCriteriaERD< GRAPH_T > decider_t
self type - Handy typedef
GRAPH_T::constraint_t::type_value pose_t
type of underlying poses (2D/3D).
void updateVisuals()
Update the relevant visual features in CDisplayWindow.
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 registrat...
std::map< mrpt::utils::TNodeID, mrpt::obs::CObservation3DRangeScan::Ptr > m_nodes_to_laser_scans3D
bool visualize_laser_scans
double distance(const TPoint2D &p1, const TPoint2D &p2)
Gets the distance between two points in a 2D space.
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
void loadParams(const std::string &source_fname)
Fetch the latest observation that the current instance received (most probably during a call to the u...
std::string scans_img_external_dir
void initializeVisuals()
Initialize visual objects in CDisplayWindow (e.g.
void checkRegistrationCondition3D(const std::set< mrpt::utils::TNodeID > &nodes_set)