MRPT  2.0.0
List of all members | Public Types | Public Member Functions | Public Attributes | Static Protected Member Functions | Friends
mrpt::graphslam::TUncertaintyPath< GRAPH_T > Struct Template Reference

Detailed Description

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
struct mrpt::graphslam::TUncertaintyPath< GRAPH_T >

Holds the data of an information path.

Path comprises of nodes (TNodeID type) and constraints between them. Only consecutive nodes are connected by edges, thus path.

See also
mrpt::deciders::CLoopCloserERD

Definition at line 28 of file TUncertaintyPath.h.

#include <mrpt/graphslam/misc/TUncertaintyPath.h>

Inheritance diagram for mrpt::graphslam::TUncertaintyPath< GRAPH_T >:

Public Types

using constraint_t = typename GRAPH_T::constraint_t
 
using pose_t = typename constraint_t::type_value
 
using self_t = TUncertaintyPath< GRAPH_T >
 

Public Member Functions

 TUncertaintyPath ()
 
 TUncertaintyPath (const mrpt::graphs::TNodeID &starting_node)
 
 TUncertaintyPath (const mrpt::graphs::TNodeID &starting_node, const mrpt::graphs::TNodeID &ending_node, const constraint_t &edge)
 
 ~TUncertaintyPath () override=default
 
void clear ()
 
bool isEmpty () const
 
void assertIsBetweenNodeIDs (const mrpt::graphs::TNodeID &from, const mrpt::graphs::TNodeID &to) const
 Assert that the current path is between the given nodeIDs. More...
 
void loadFromConfigFile (const mrpt::config::CConfigFileBase &source, const std::string &section) override
 This method load the options from a ".ini"-like file or memory-stored string list. More...
 
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. More...
 
std::string getAsString () const
 
void getAsString (std::string *str) const
 
const mrpt::graphs::TNodeIDgetSource () const
 Return the source node of this path. More...
 
const mrpt::graphs::TNodeIDgetDestination () const
 Return the Destination node of this path. More...
 
double getDeterminant ()
 
bool hasLowerUncertaintyThan (const self_t &other) const
 Test if the current path has a lower uncertainty than the other path. More...
 
void addToPath (const mrpt::graphs::TNodeID &node, const constraint_t &edge)
 add a new link in the current path. More...
 
self_toperator+= (const self_t &other)
 
bool operator== (const self_t &other) const
 
bool operator!= (const self_t &other) const
 
void loadFromConfigFileName (const std::string &config_file, const std::string &section)
 Behaves like loadFromConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to load the file. More...
 
virtual void saveToConfigFile (mrpt::config::CConfigFileBase &target, const std::string &section) const
 This method saves the options to a ".ini"-like file or memory-stored string list. More...
 
void saveToConfigFileName (const std::string &config_file, const std::string &section) const
 Behaves like saveToConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to save the file. More...
 
void dumpToConsole () const
 Just like dumpToTextStream() but sending the text to the console (std::cout) More...
 

Public Attributes

std::vector< mrpt::graphs::TNodeIDnodes_traversed
 Nodes that the Path comprises of. More...
 
constraint_t curr_pose_pdf
 Current path position + corresponding covariance. More...
 
bool determinant_is_updated
 Determine whether the determinant of the Path is up-to-date and can be directly fetched or has to be computed again. More...
 
double determinant_cached
 

Static Protected Member Functions

static void dumpVar_int (std::ostream &out, const char *varName, int v)
 Used to print variable info from dumpToTextStream with the macro LOADABLEOPTS_DUMP_VAR. More...
 
static void dumpVar_float (std::ostream &out, const char *varName, float v)
 
static void dumpVar_double (std::ostream &out, const char *varName, double v)
 
static void dumpVar_bool (std::ostream &out, const char *varName, bool v)
 
static void dumpVar_string (std::ostream &out, const char *varName, const std::string &v)
 

Friends

std::ostream & operator<< (std::ostream &o, const self_t &obj)
 

Member Typedef Documentation

◆ constraint_t

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
using mrpt::graphslam::TUncertaintyPath< GRAPH_T >::constraint_t = typename GRAPH_T::constraint_t

Definition at line 30 of file TUncertaintyPath.h.

◆ pose_t

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
using mrpt::graphslam::TUncertaintyPath< GRAPH_T >::pose_t = typename constraint_t::type_value

Definition at line 31 of file TUncertaintyPath.h.

◆ self_t

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
using mrpt::graphslam::TUncertaintyPath< GRAPH_T >::self_t = TUncertaintyPath<GRAPH_T>

Definition at line 32 of file TUncertaintyPath.h.

Constructor & Destructor Documentation

◆ TUncertaintyPath() [1/3]

template<class GRAPH_T >
mrpt::graphslam::TUncertaintyPath< GRAPH_T >::TUncertaintyPath ( )

Definition at line 19 of file TUncertaintyPath_impl.h.

References mrpt::containers::clear().

Here is the call graph for this function:

◆ TUncertaintyPath() [2/3]

template<class GRAPH_T >
mrpt::graphslam::TUncertaintyPath< GRAPH_T >::TUncertaintyPath ( const mrpt::graphs::TNodeID starting_node)

Definition at line 24 of file TUncertaintyPath_impl.h.

References mrpt::containers::clear().

Here is the call graph for this function:

◆ TUncertaintyPath() [3/3]

template<class GRAPH_T >
mrpt::graphslam::TUncertaintyPath< GRAPH_T >::TUncertaintyPath ( const mrpt::graphs::TNodeID starting_node,
const mrpt::graphs::TNodeID ending_node,
const constraint_t edge 
)

Definition at line 31 of file TUncertaintyPath_impl.h.

References mrpt::containers::clear().

Here is the call graph for this function:

◆ ~TUncertaintyPath()

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
mrpt::graphslam::TUncertaintyPath< GRAPH_T >::~TUncertaintyPath ( )
overridedefault

Member Function Documentation

◆ addToPath()

template<class GRAPH_T >
void mrpt::graphslam::TUncertaintyPath< GRAPH_T >::addToPath ( const mrpt::graphs::TNodeID node,
const constraint_t edge 
)

add a new link in the current path.

Add the node that the path traverses and the information matrix of the extra link

Definition at line 155 of file TUncertaintyPath_impl.h.

Referenced by mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::getMinUncertaintyPath().

Here is the caller graph for this function:

◆ assertIsBetweenNodeIDs()

template<class GRAPH_T >
void mrpt::graphslam::TUncertaintyPath< GRAPH_T >::assertIsBetweenNodeIDs ( const mrpt::graphs::TNodeID from,
const mrpt::graphs::TNodeID to 
) const

Assert that the current path is between the given nodeIDs.

Call to this method practically checks if the give nodes match the source and destination nodeIDs.

Note
Assertions will be executed only in Debug builds
Exceptions
std::runtime_errorin case the conditions don't hold

Definition at line 72 of file TUncertaintyPath_impl.h.

References ASSERTDEBMSG_, and mrpt::format().

Referenced by mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::generatePWConsistencyElement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ clear()

template<class GRAPH_T >
void mrpt::graphslam::TUncertaintyPath< GRAPH_T >::clear ( )

Definition at line 41 of file TUncertaintyPath_impl.h.

Referenced by mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::getMinUncertaintyPath().

Here is the caller graph for this function:

◆ dumpToConsole()

void CLoadableOptions::dumpToConsole ( ) const
inherited

Just like dumpToTextStream() but sending the text to the console (std::cout)

Definition at line 43 of file CLoadableOptions.cpp.

References mrpt::config::CLoadableOptions::dumpToTextStream().

Referenced by mrpt::hmtslam::CTopLCDetector_GridMatching::computeTopologicalObservationModel(), mrpt::ros1bridge::MapHdl::loadMap(), mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::printParams(), and mrpt::apps::CGridMapAlignerApp::run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dumpToTextStream()

template<class GRAPH_T >
void mrpt::graphslam::TUncertaintyPath< GRAPH_T >::dumpToTextStream ( std::ostream &  out) const
overridevirtual

This method should clearly display all the contents of the structure in textual form, sending it to a std::ostream.

The default implementation in this base class relies on saveToConfigFile() to generate a plain text representation of all the parameters.

Reimplemented from mrpt::config::CLoadableOptions.

Definition at line 174 of file TUncertaintyPath_impl.h.

References mrpt::format(), and out.

Here is the call graph for this function:

◆ dumpVar_bool()

void CLoadableOptions::dumpVar_bool ( std::ostream &  out,
const char *  varName,
bool  v 
)
staticprotectedinherited

Definition at line 62 of file CLoadableOptions.cpp.

References mrpt::format(), LOADABLEOPTS_COLUMN_WIDTH, and out.

Here is the call graph for this function:

◆ dumpVar_double()

void CLoadableOptions::dumpVar_double ( std::ostream &  out,
const char *  varName,
double  v 
)
staticprotectedinherited

Definition at line 56 of file CLoadableOptions.cpp.

References mrpt::format(), LOADABLEOPTS_COLUMN_WIDTH, and out.

Here is the call graph for this function:

◆ dumpVar_float()

void CLoadableOptions::dumpVar_float ( std::ostream &  out,
const char *  varName,
float  v 
)
staticprotectedinherited

Definition at line 50 of file CLoadableOptions.cpp.

References mrpt::format(), LOADABLEOPTS_COLUMN_WIDTH, and out.

Here is the call graph for this function:

◆ dumpVar_int()

void CLoadableOptions::dumpVar_int ( std::ostream &  out,
const char *  varName,
int  v 
)
staticprotectedinherited

Used to print variable info from dumpToTextStream with the macro LOADABLEOPTS_DUMP_VAR.

Definition at line 44 of file CLoadableOptions.cpp.

References mrpt::format(), LOADABLEOPTS_COLUMN_WIDTH, and out.

Here is the call graph for this function:

◆ dumpVar_string()

void CLoadableOptions::dumpVar_string ( std::ostream &  out,
const char *  varName,
const std::string &  v 
)
staticprotectedinherited

Definition at line 69 of file CLoadableOptions.cpp.

References mrpt::format(), LOADABLEOPTS_COLUMN_WIDTH, and out.

Here is the call graph for this function:

◆ getAsString() [1/2]

template<class GRAPH_T >
std::string mrpt::graphslam::TUncertaintyPath< GRAPH_T >::getAsString ( ) const

Definition at line 217 of file TUncertaintyPath_impl.h.

◆ getAsString() [2/2]

template<class GRAPH_T >
void mrpt::graphslam::TUncertaintyPath< GRAPH_T >::getAsString ( std::string *  str) const

Definition at line 180 of file TUncertaintyPath_impl.h.

References mrpt::math::MatrixBase< Scalar, Derived >::det(), and mrpt::containers::getSTLContainerAsString().

Here is the call graph for this function:

◆ getDestination()

template<class GRAPH_T >
const mrpt::graphs::TNodeID & mrpt::graphslam::TUncertaintyPath< GRAPH_T >::getDestination ( ) const

Return the Destination node of this path.

Definition at line 230 of file TUncertaintyPath_impl.h.

Referenced by mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::addToPaths(), and mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::execDijkstraProjection().

Here is the caller graph for this function:

◆ getDeterminant()

template<class GRAPH_T >
double mrpt::graphslam::TUncertaintyPath< GRAPH_T >::getDeterminant ( )

Definition at line 236 of file TUncertaintyPath_impl.h.

References mrpt::math::MatrixBase< Scalar, Derived >::det().

Referenced by mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::getMinUncertaintyPath(), mrpt::graphslam::TUncertaintyPath< GRAPH_T >::hasLowerUncertaintyThan(), and mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::popMinUncertaintyPath().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getSource()

template<class GRAPH_T >
const mrpt::graphs::TNodeID & mrpt::graphslam::TUncertaintyPath< GRAPH_T >::getSource ( ) const

Return the source node of this path.

Definition at line 225 of file TUncertaintyPath_impl.h.

◆ hasLowerUncertaintyThan()

template<class GRAPH_T >
bool mrpt::graphslam::TUncertaintyPath< GRAPH_T >::hasLowerUncertaintyThan ( const self_t other) const

Test if the current path has a lower uncertainty than the other path.

Returns
True if the current path does have a lower uncertainty

Definition at line 265 of file TUncertaintyPath_impl.h.

References ASSERTDEBMSG_, mrpt::graphslam::TUncertaintyPath< GRAPH_T >::curr_pose_pdf, mrpt::format(), and mrpt::graphslam::TUncertaintyPath< GRAPH_T >::getDeterminant().

Here is the call graph for this function:

◆ isEmpty()

template<class GRAPH_T >
bool mrpt::graphslam::TUncertaintyPath< GRAPH_T >::isEmpty ( ) const

Definition at line 66 of file TUncertaintyPath_impl.h.

◆ loadFromConfigFile()

template<class GRAPH_T >
void mrpt::graphslam::TUncertaintyPath< GRAPH_T >::loadFromConfigFile ( const mrpt::config::CConfigFileBase source,
const std::string &  section 
)
overridevirtual

This method load the options from a ".ini"-like file or memory-stored string list.

Only those parameters found in the given "section" and having the same name that the variable are loaded. Those not found in the file will stay with their previous values (usually the default values loaded at initialization). An example of an ".ini" file:

[section]
resolution = 0.10 // blah blah...
modeSelection = 1 // 0=blah, 1=blah,...
See also
loadFromConfigFileName, saveToConfigFile

Implements mrpt::config::CLoadableOptions.

Definition at line 168 of file TUncertaintyPath_impl.h.

◆ loadFromConfigFileName()

void CLoadableOptions::loadFromConfigFileName ( const std::string &  config_file,
const std::string &  section 
)
inherited

Behaves like loadFromConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to load the file.

See also
loadFromConfigFile

Definition at line 22 of file CLoadableOptions.cpp.

References mrpt::config::CLoadableOptions::loadFromConfigFile().

Referenced by mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::loadParams().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator!=()

template<class GRAPH_T >
bool mrpt::graphslam::TUncertaintyPath< GRAPH_T >::operator!= ( const self_t other) const

Definition at line 149 of file TUncertaintyPath_impl.h.

◆ operator+=()

template<class GRAPH_T >
TUncertaintyPath< GRAPH_T > & mrpt::graphslam::TUncertaintyPath< GRAPH_T >::operator+= ( const self_t other)

◆ operator==()

template<class GRAPH_T >
bool mrpt::graphslam::TUncertaintyPath< GRAPH_T >::operator== ( const self_t other) const

◆ saveToConfigFile()

void CLoadableOptions::saveToConfigFile ( mrpt::config::CConfigFileBase target,
const std::string &  section 
) const
virtualinherited

This method saves the options to a ".ini"-like file or memory-stored string list.

See also
loadFromConfigFile, saveToConfigFileName

Reimplemented in mrpt::vision::TMultiResDescOptions, mrpt::nav::CPTG_RobotShape_Circular, mrpt::vision::TMultiResDescMatchOptions, mrpt::nav::CPTG_RobotShape_Polygonal, mrpt::nav::CParameterizedTrajectoryGenerator, mrpt::maps::TSetOfMetricMapInitializers, mrpt::maps::COccupancyGridMap3D::TLikelihoodOptions, mrpt::nav::CAbstractNavigator::TAbstractNavigatorParams, mrpt::nav::CAbstractPTGBasedReactive::TAbstractPTGNavigatorParams, mrpt::maps::COccupancyGridMap3D::TInsertionOptions, mrpt::nav::CPTG_DiffDrive_CollisionGridBased, mrpt::nav::CWaypointsNavigator::TWaypointsNavigatorParams, mrpt::nav::CHolonomicFullEval::TOptions, mrpt::bayes::CParticleFilter::TParticleFilterOptions, mrpt::nav::CHolonomicND::TOptions, mrpt::nav::CReactiveNavigationSystem::TReactiveNavigatorParams, mrpt::maps::TMapGenericParams, mrpt::nav::CMultiObjectiveMotionOptimizerBase::TParamsBase, mrpt::nav::CHolonomicVFF::TOptions, mrpt::slam::CICP::TConfigParams, mrpt::slam::CIncrementalMapPartitioner::TOptions, mrpt::maps::CPointCloudFilterByDistance::TOptions, mrpt::nav::CPTG_DiffDrive_C, mrpt::maps::TMetricMapInitializer, mrpt::nav::CPTG_DiffDrive_alpha, mrpt::nav::CMultiObjMotionOpt_Scalarization::TParams, mrpt::nav::CPTG_DiffDrive_CC, mrpt::nav::CPTG_DiffDrive_CCS, mrpt::nav::CPTG_DiffDrive_CS, and mrpt::nav::CPTG_Holo_Blend.

Definition at line 29 of file CLoadableOptions.cpp.

Referenced by mrpt::config::CLoadableOptions::dumpToTextStream(), and mrpt::config::CLoadableOptions::saveToConfigFileName().

Here is the caller graph for this function:

◆ saveToConfigFileName()

void CLoadableOptions::saveToConfigFileName ( const std::string &  config_file,
const std::string &  section 
) const
inherited

Behaves like saveToConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to save the file.

See also
saveToConfigFile, loadFromConfigFileName

Definition at line 36 of file CLoadableOptions.cpp.

References mrpt::config::CLoadableOptions::saveToConfigFile().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator<<

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
std::ostream& operator<< ( std::ostream &  o,
const self_t obj 
)
friend

Definition at line 85 of file TUncertaintyPath.h.

Member Data Documentation

◆ curr_pose_pdf

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
constraint_t mrpt::graphslam::TUncertaintyPath< GRAPH_T >::curr_pose_pdf

◆ determinant_cached

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
double mrpt::graphslam::TUncertaintyPath< GRAPH_T >::determinant_cached

Definition at line 103 of file TUncertaintyPath.h.

◆ determinant_is_updated

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
bool mrpt::graphslam::TUncertaintyPath< GRAPH_T >::determinant_is_updated

Determine whether the determinant of the Path is up-to-date and can be directly fetched or has to be computed again.

Definition at line 102 of file TUncertaintyPath.h.

◆ nodes_traversed

template<class GRAPH_T = typename mrpt::graphs::CNetworkOfPoses2DInf>
std::vector<mrpt::graphs::TNodeID> mrpt::graphslam::TUncertaintyPath< GRAPH_T >::nodes_traversed

Nodes that the Path comprises of.

Nodes in the path are added to the end of the vector.

Definition at line 95 of file TUncertaintyPath.h.

Referenced by mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::addToPaths(), mrpt::graphslam::TUncertaintyPath< GRAPH_T >::operator+=(), and mrpt::graphslam::TUncertaintyPath< GRAPH_T >::operator==().




Page generated by Doxygen 1.8.14 for MRPT 2.0.0 Git: b38439d21 Tue Mar 31 19:58:06 2020 +0200 at miƩ abr 1 00:50:30 CEST 2020