class mrpt::hmtslam::CTopLCDetector_GridMatching

#include <mrpt/hmtslam/CTopLCDetector_GridMatching.h>

class CTopLCDetector_GridMatching: 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);
};

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, 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”.

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.