10 #ifndef CICPCRITERIAERD_H    11 #define CICPCRITERIAERD_H    45 namespace mrpt { 
namespace graphslam { 
namespace deciders {
   110 template<
class GRAPH_T=
typename mrpt::graphs::CNetworkOfPoses2DInf >
   120                 typedef typename GRAPH_T::constraint_t::type_value 
pose_t;
   133                                 mrpt::obs::CActionCollectionPtr action,
   134                                 mrpt::obs::CSensoryFramePtr observations,
   135                                 mrpt::obs::CObservationPtr observation );
   138                                 const std::map<std::string, bool>& events_occurred);
   140                                 std::map<std::string, int>* edge_types_to_num) 
const;
   183                                 const std::set<mrpt::utils::TNodeID>& nodes_set);
   185                                 const std::set<mrpt::utils::TNodeID>& nodes_set);
   191                                 mrpt::obs::CSensoryFramePtr observations,
   192                                 mrpt::obs::CObservationPtr observation );
   197                                 std::set<mrpt::utils::TNodeID> *nodes_set,
   204                                 int sleep_time=500 );
 
parent_t::range_ops_t range_ops_t
 
std::map< mrpt::utils::TNodeID, mrpt::obs::CObservation2DRangeScanPtr > m_nodes_to_laser_scans2D
 
std::map< mrpt::utils::TNodeID, mrpt::obs::CObservation2DRangeScanPtr > nodes_to_scans2D_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. 
 
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...
 
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. 
 
double ICP_goodness_thresh
 
mrpt::utils::TColor m_search_disk_color
see Constructor for initialization 
 
Edge Registration Decider Interface from which RangeScanner-based ERDs can inherit from...
 
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...
 
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
 
void checkIfInvalidDataset(mrpt::obs::CActionCollectionPtr action, mrpt::obs::CSensoryFramePtr observations, mrpt::obs::CObservationPtr observation)
 
size_t LC_min_nodeid_diff
 
int m_text_index_search_disk
 
uint64_t TNodeID
The type for node IDs in graphs of different types. 
 
mrpt::obs::CObservation2DRangeScanPtr m_last_laser_scan2D
 
mrpt::obs::CObservation2DRangeScanPtr m_fake_laser_scan2D
 
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
 
double m_offset_y_search_disk
 
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
 
parent_t::nodes_to_scans2D_t nodes_to_scans2D_t
 
std::map< mrpt::utils::TNodeID, mrpt::obs::CObservation3DRangeScanPtr > m_nodes_to_laser_scans3D
 
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...
 
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...
 
bool visualize_laser_scans
 
double BASE_IMPEXP 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...
 
mrpt::obs::CObservation3DRangeScanPtr m_last_laser_scan3D
 
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)