14 template <
class GRAPH_T>
    21     pose_t last_pose_inserted =
    23             ? this->m_graph->nodes.at(this->m_prev_registered_nodeID)
    27     bool registered = 
false;
    29     if (this->checkRegistrationConditionPose(
    30             last_pose_inserted, this->getCurrentRobotPosEstimation()))
    32         registered = this->registerNewNodeAtEnd();
    39 template <
class GRAPH_T>
    56 template <
class GRAPH_T>
    63     std::cout << 
"In checkRegistrationConditionPose:\np1: " << p1.
asString()
    64               << 
"\np2: " << p1.
asString() << std::endl;
    69          params.registration_max_angle) ||
    71          params.registration_max_angle) ||
    80 template <
class GRAPH_T>
    82     const std::string& source_fname)
    85     parent_t::loadParams(source_fname);
    87     params.loadFromConfigFileName(
    88         source_fname, 
"NodeRegistrationDeciderParameters");
    93 template <
class GRAPH_T>
    97     parent_t::printParams();
   103 template <
class GRAPH_T>
   105     std::string* report_str)
 const   110     *report_str += 
params.getAsString();
   111     *report_str += this->report_sep;
   116 template <
class GRAPH_T>
   118     std::ostream& 
out)
 const   125 template <
class GRAPH_T>
   133         section, 
"registration_max_distance", 0.5 , 
false);
   135         section, 
"registration_max_angle", 15 , 
false);
   136     registration_max_angle = 
DEG2RAD(registration_max_angle);
   141 template <
class GRAPH_T>
   143     std::string* params_out)
 const   148     double max_angle_deg = 
RAD2DEG(registration_max_angle);
   152         "------------------[ Fixed Intervals Incremental Node Registration "   153         "]------------------\n";
   155         "Max distance for registration = %.2f m\n", registration_max_distance);
   157         "Max angle for registration    = %.2f deg\n", max_angle_deg);
   162 template <
class GRAPH_T>
   169     this->getAsString(&str);
 
virtual void printParams() const
Print the problem parameters - relevant to the decider/optimizer to the screen in a unified/compact w...
 
std::string std::string format(std::string_view fmt, ARGS &&... args)
 
double pitch() const
Get the PITCH angle (in radians) 
 
virtual void getDescriptiveReport(std::string *report_str) const
Fill the provided string with a detailed report of the decider/optimizer state. 
 
double yaw() const
Get the YAW angle (in radians) 
 
mrpt::vision::TStereoCalibParams params
 
double distanceTo(const CPoseOrPoint< OTHERCLASS, DIM2 > &b) const
Returns the Euclidean distance to another pose/point: 
 
virtual bool checkRegistrationConditionPose(const mrpt::poses::CPose2D &p1, const mrpt::poses::CPose2D &p2) const
 
This class allows loading and storing values and vectors of different types from a configuration text...
 
This base provides a set of functions for maths stuff. 
 
double phi() const
Get the phi angle of the 2D pose (in radians) 
 
constexpr double DEG2RAD(const double x)
Degrees to radians. 
 
void dumpToTextStream(std::ostream &out) const
This method should clearly display all the contents of the structure in textual form, sending it to a std::ostream. 
 
double read_double(const std::string §ion, const std::string &name, double defaultValue, bool failIfNotFound=false) const
 
T wrapToPi(T a)
Modifies the given angle to translate it into the ]-pi,pi] range. 
 
double roll() const
Get the ROLL angle (in radians) 
 
void asString(std::string &s) const
Returns a human-readable textual representation of the object (eg: "[x y z yaw pitch roll]"...
 
A class used to store a 2D pose, including the 2D coordinate point and a heading (phi) angle...
 
typename GRAPH_T::constraint_t::type_value pose_t
 
A class used to store a 3D pose (a 3D translation + a rotation in 3D). 
 
mrpt::vision::TStereoCalibResults out
 
constexpr double RAD2DEG(const double x)
Radians to degrees. 
 
void loadFromConfigFile(const mrpt::config::CConfigFileBase &source, const std::string §ion)
This method load the options from a ".ini"-like file or memory-stored string list. 
 
virtual bool checkRegistrationCondition()
If estimated position surpasses the registration max values since the previous registered node...
 
std::string getAsString() const
 
virtual void loadParams(const std::string &source_fname)
Load the necessary for the decider/optimizer configuration parameters.