MRPT  2.0.0
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
mrpt::hmtslam::CTopLCDetector_GridMatching Class Reference

Detailed Description

Definition at line 18 of file CTopLCDetector_GridMatching.h.

#include <mrpt/hmtslam/CTopLCDetector_GridMatching.h>

Inheritance diagram for mrpt::hmtslam::CTopLCDetector_GridMatching:

Classes

struct  TOptions
 Options for a TLC-detector of type gridmap-matching, used from CHMTSLAM. More...
 

Public Types

using Ptr = std::shared_ptr< CTopLCDetectorBase >
 

Public Member Functions

 ~CTopLCDetector_GridMatching () override
 Destructor. More...
 
mrpt::poses::CPose3DPDF::Ptr computeTopologicalObservationModel (const THypothesisID &hypID, const CHMHMapNode::Ptr &currentArea, const CHMHMapNode::Ptr &refArea, double &out_log_lik) override
 This method must compute the topological observation model. More...
 
void OnNewPose (const TPoseID &poseID, const mrpt::obs::CSensoryFrame *SF) override
 Hook method for being warned about the insertion of a new poses into the maps. More...
 
virtual void reset ()
 Reset the internal state of the TLCD, if any. More...
 
virtual bool computeSSOBetweenObservations ([[maybe_unused]] const THypothesisID &hypID, [[maybe_unused]] const TPoseID &poseID1, [[maybe_unused]] const TPoseID &poseID2, [[maybe_unused]] double &out_SSO)
 If implemented, this method provides the evaluation of an additional term to be added to the SSO between each pair of observations. More...
 
virtual void OnNewPose ([[maybe_unused]] const TPoseID &poseID, [[maybe_unused]] const mrpt::obs::CSensoryFrame *SF)
 Hook method for being warned about the insertion of a new poses into the maps. More...
 

Static Public Member Functions

static CTopLCDetectorBasecreateNewInstance (CHMTSLAM *hmtslam)
 A class factory, to be implemented in derived classes. More...
 

Protected Member Functions

 CTopLCDetector_GridMatching (CHMTSLAM *hmtslam)
 

Protected Attributes

CHMTSLAMm_hmtslam
 

Member Typedef Documentation

◆ Ptr

Definition at line 79 of file CTopLCDetectorBase.h.

Constructor & Destructor Documentation

◆ CTopLCDetector_GridMatching()

CTopLCDetector_GridMatching::CTopLCDetector_GridMatching ( CHMTSLAM hmtslam)
protected

Definition at line 25 of file CTopLCDetector_GridMatching.cpp.

Referenced by createNewInstance().

Here is the caller graph for this function:

◆ ~CTopLCDetector_GridMatching()

CTopLCDetector_GridMatching::~CTopLCDetector_GridMatching ( )
overridedefault

Destructor.

Member Function Documentation

◆ computeSSOBetweenObservations()

virtual bool mrpt::hmtslam::CTopLCDetectorBase::computeSSOBetweenObservations ( [[maybe_unused] ] const THypothesisID hypID,
[[maybe_unused] ] const TPoseID poseID1,
[[maybe_unused] ] const TPoseID poseID2,
[[maybe_unused] ] double &  out_SSO 
)
inlinevirtualinherited

If implemented, this method provides the evaluation of an additional term to be added to the SSO between each pair of observations.

Parameters
out_SSOThe output, in the range [0,1].
Returns
true if computed SSO is meaningful. The default virtual method returns false.

Definition at line 61 of file CTopLCDetectorBase.h.

◆ computeTopologicalObservationModel()

CPose3DPDF::Ptr CTopLCDetector_GridMatching::computeTopologicalObservationModel ( const THypothesisID hypID,
const CHMHMapNode::Ptr currentArea,
const CHMHMapNode::Ptr refArea,
double &  out_log_lik 
)
overridevirtual

This method must compute the topological observation model.

Parameters
out_log_likThe output, a log-likelihood.
Returns
nullptr, or a PDF of the estimated translation between the two areas (should be a SOG PDF): it's the pose of "refArea", relative to "currentArea".
Parameters
out_log_likThe output, a log-likelihood.
Returns
nullptr, or a PDF of the estimated translation between the two areas (can be a multi-modal PDF).

Implements mrpt::hmtslam::CTopLCDetectorBase.

Definition at line 36 of file CTopLCDetector_GridMatching.cpp.

References mrpt::slam::CMetricMapsAlignmentAlgorithm::Align(), mrpt::serialization::archiveFrom(), ASSERT_, mrpt::system::createDirectory(), mrpt::config::CLoadableOptions::dumpToConsole(), mrpt::format(), mrpt::slam::CGridMapAligner::TReturnInfo::icp_goodness_all_sog_modes, mrpt::slam::CGridMapAligner::TReturnInfo::landmarks_map1, mrpt::slam::CGridMapAligner::TReturnInfo::landmarks_map2, mrpt::hmtslam::CHMTSLAM::TOptions::LOG_OUTPUT_DIR, mrpt::system::COutputLogger::logFmt(), mrpt::system::LVL_DEBUG, mrpt::hmtslam::CTopLCDetectorBase::m_hmtslam, mrpt::hmtslam::CHMTSLAM::m_options, mrpt::hmtslam::CTopLCDetector_GridMatching::TOptions::matchingOptions, NODE_ANNOTATION_METRIC_MAPS, mrpt::slam::CGridMapAligner::options, mrpt::io::CStream::printf(), mrpt::io::CStream::printf_vector(), mrpt::hmtslam::CHMTSLAM::saveState(), mrpt::math::size(), and mrpt::hmtslam::CHMTSLAM::TOptions::TLC_grid_options.

Here is the call graph for this function:

◆ createNewInstance()

static CTopLCDetectorBase* mrpt::hmtslam::CTopLCDetector_GridMatching::createNewInstance ( CHMTSLAM hmtslam)
inlinestatic

A class factory, to be implemented in derived classes.

Definition at line 26 of file CTopLCDetector_GridMatching.h.

References CTopLCDetector_GridMatching().

Here is the call graph for this function:

◆ OnNewPose() [1/2]

void CTopLCDetector_GridMatching::OnNewPose ( const TPoseID poseID,
const mrpt::obs::CSensoryFrame SF 
)
override

Hook method for being warned about the insertion of a new poses into the maps.

This should be independent of hypothesis IDs.

Definition at line 132 of file CTopLCDetector_GridMatching.cpp.

◆ OnNewPose() [2/2]

virtual void mrpt::hmtslam::CTopLCDetectorBase::OnNewPose ( [[maybe_unused] ] const TPoseID poseID,
[[maybe_unused] ] const mrpt::obs::CSensoryFrame SF 
)
inlinevirtualinherited

Hook method for being warned about the insertion of a new poses into the maps.

This should be independent of hypothesis IDs.

Definition at line 74 of file CTopLCDetectorBase.h.

◆ reset()

virtual void mrpt::hmtslam::CTopLCDetectorBase::reset ( )
inlinevirtualinherited

Reset the internal state of the TLCD, if any.

This is needed since the objects are created while loading HMT-SLAM options, but the algorithm may be re-started after that at any time.

Definition at line 41 of file CTopLCDetectorBase.h.

Member Data Documentation

◆ m_hmtslam

CHMTSLAM* mrpt::hmtslam::CTopLCDetectorBase::m_hmtslam
protectedinherited



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