class mola::FactorRelativePose3

Overview

#include <FactorRelativePose3.h>

class FactorRelativePose3: public mola::FactorBase
{
public:
    // fields

    id_t from_kf_ {INVALID_ID};
    id_t to_kf_ {INVALID_ID};
    mrpt::math::TPose3D rel_pose_;
    std::optional<mrpt::math::CMatrixDouble66> noise_model_;
    double noise_model_diag_xyz_ {0.01};
    double noise_model_diag_rot_ {mrpt::DEG2RAD(0.5)};

    // construction

    FactorRelativePose3();
    FactorRelativePose3(id_t kf_from, id_t kf_to, const mrpt::math::TPose3D& rel_pose);

    // methods

    virtual std::size_t edge_count() const;
    virtual mola::id_t edge_indices(const std::size_t i) 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

std::optional<mrpt::math::CMatrixDouble66> noise_model_

If provided, it models the covariance of the observation. Order of variables is: rotx roty rotz tx ty tz

double noise_model_diag_xyz_ {0.01}

Standard deviation of the measurement, in X Y Z. Ignored if noise_model_ is provided.

double noise_model_diag_rot_ {mrpt::DEG2RAD(0.5)}

Standard deviation of the measurement, in each rotation angle. Ignored if noise_model_ is provided.

Construction

FactorRelativePose3(id_t kf_from, id_t kf_to, const mrpt::math::TPose3D& rel_pose)

Creates relative pose constraint of KF to as seem from from.

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