class mola::SmartFactorStereoProjectionPose

Overview

Smart factor for a set of stereo-camera observations of one point landmark. The ID of the factor is the ID of the landmark.

#include <SmartFactorStereoProjectionPose.h>

class SmartFactorStereoProjectionPose: public mola::FactorBase
{
public:
    // typedefs

    typedef std::deque<obs_tuple_t> obs_tuple_list_t;

    // structs

    struct StereoObservation;
    struct obs_tuple_t;

    // fields

    double sigma_xleft_;
    double sigma_xright_;
    double sigma_y_;
    mrpt::math::TPose3D cameraPoseOnRobot_;

    // construction

    SmartFactorStereoProjectionPose();

    SmartFactorStereoProjectionPose(
        double sigma_xleft,
        double sigma_xright,
        double sigma_y,
        BackEndBase* slam_backend,
        const mrpt::math::TPose3D& cameraPoseOnRobot = mrpt::math::TPose3D()
        );

    // methods

    virtual std::size_t edge_count() const;
    virtual mola::id_t edge_indices(const std::size_t i) const;

    void addObservation(
        const StereoObservation& st,
        const id_t observing_kf,
        const id_t camera_params
        );

    const obs_tuple_list_t& allObservations() const;
};

Inherited Members

public:
    // fields

    mola::fid_t my_id_ {mola::INVALID_FID};
    mola::Robust robust_type_ {mola::Robust::REGULAR_L2};
    double robust_param_ {1.0};

    // methods

    virtual std::size_t edge_count() const = 0;
    virtual mola::id_t edge_indices(const std::size_t i) const = 0;

Fields

double sigma_xleft_

Noise model

Methods

virtual std::size_t edge_count() const

Number of entities involved in this factor: 1 for unary factors, 2 for binary, etc.

virtual mola::id_t edge_indices(const std::size_t i) const

Access entity indices involved in this factor