class mrpt::hmtslam::CTopLCDetector_FabMap
#include <mrpt/hmtslam/CTopLCDetector_FabMap.h> class CTopLCDetector_FabMap: public mrpt::hmtslam::CTopLCDetectorBase { public: // structs struct TOptions; // methods static CTopLCDetectorBase* createNewInstance(CHMTSLAM* hmtslam); virtual mrpt::poses::CPose3DPDF::Ptr computeTopologicalObservationModel( const THypothesisID& hypID, const CHMHMapNode::Ptr& currentArea, const CHMHMapNode::Ptr& refArea, double& out_log_lik ); void OnNewPose(const TPoseID& poseID, const mrpt::obs::CSensoryFrame* SF); virtual void reset(); virtual bool computeSSOBetweenObservations( ] const THypothesisID& hypID, ] const TPoseID& poseID1, ] const TPoseID& poseID2, ] double& out_SSO ); virtual void OnNewPose(] const TPoseID& poseID, ] const mrpt::obs::CSensoryFrame* SF); };
Inherited Members
public: // typedefs typedef std::shared_ptr<CTopLCDetectorBase> Ptr; // methods virtual mrpt::poses::CPose3DPDF::Ptr computeTopologicalObservationModel( const THypothesisID& hypID, const CHMHMapNode::Ptr& currentArea, const CHMHMapNode::Ptr& refArea, double& out_log_lik ) = 0;
Methods
static CTopLCDetectorBase* createNewInstance(CHMTSLAM* hmtslam)
A class factory, to be implemented in derived classes.
virtual mrpt::poses::CPose3DPDF::Ptr computeTopologicalObservationModel( const THypothesisID& hypID, const CHMHMapNode::Ptr& currentArea, const CHMHMapNode::Ptr& refArea, double& out_log_lik )
This method must compute the topological observation model.
Parameters:
out_log_lik |
The output, a log-likelihood. |
out_log_lik |
The output, a log-likelihood. |
Returns:
nullptr (empty smart pointer), or a PDF of the estimated translation between the two areas (can be a multi-modal PDF).
nullptr, or a PDF of the estimated translation between the two areas (can be a multi-modal PDF).
void OnNewPose(const TPoseID& poseID, const mrpt::obs::CSensoryFrame* SF)
Hook method for being warned about the insertion of a new poses into the maps.
This should be independent of hypothesis IDs.
virtual void reset()
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.
virtual bool computeSSOBetweenObservations( ] const THypothesisID& hypID, ] const TPoseID& poseID1, ] const TPoseID& poseID2, ] 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.
Parameters:
out_SSO |
The output, in the range [0,1]. |
Returns:
true if computed SSO is meaningful. The default virtual method returns false.
virtual void OnNewPose(] const TPoseID& poseID, ] const mrpt::obs::CSensoryFrame* SF)
Hook method for being warned about the insertion of a new poses into the maps.
This should be independent of hypothesis IDs.