23 #ifndef MROB_FACTOR2POSES2D_H 24 #define MROB_FACTOR2POSES2D_H 26 #include "mrob/matrix_base.hpp" 27 #include "mrob/factor.hpp" 55 Factor2Poses2d(
const Mat31 &observation, std::shared_ptr<Node> &nodeOrigin,
56 std::shared_ptr<Node> &nodeTarget,
const Mat3 &obsInf,
bool updateNodeTarget=
false,
64 MatRefConst
get_obs()
const override {
return obs_;};
66 MatRefConst get_information_matrix()
const override {
return W_;};
67 MatRefConst get_jacobian([[maybe_unused]]mrob::factor_id_t
id = 0)
const override {
return J_;};
68 void print()
const override;
79 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
102 std::shared_ptr<Node> &nodeTarget,
const Mat3 &obsInf,
bool updateNodeTarget=
true,
110 Mat31 get_odometry_prediction(Mat31 state, Mat31 motion);
116 #endif //MROB_FACTOR2POSES2D_H robustFactorType
Definition: factor.hpp:87
VectRefConst get_residual() const override
Definition: factor2Poses2d.hpp:65
void evaluate_chi2() override
Definition: factor2Poses2d.cpp:92
void print() const override
Definition: factor2Poses2d.cpp:97
void evaluate_jacobians() override
Definition: factor2Poses2d.cpp:75
Definition: factor2Poses2d.hpp:52
MatRefConst get_obs() const override
Definition: factor2Poses2d.hpp:64
Special Euclidean (group) in 3d Is the group representing rotations and translations, that is, rigid body transformations. SE3 = {T = [R t] | R SO3 , t Re^3 } [0 1] Associated to the groups of RBT, there is the Lie algebra se3 representing the same transformation in the tangent space around the identity. Particularly, xi =[w , v] Re^6, where w Re^3 represents the rotation and v the translation. We will preserve this order in this class.
Definition: matrix_base.hpp:36
Definition: factor2Poses2d.hpp:93
Definition: factor.hpp:81
void evaluate_residuals() override
Definition: factor2Poses2d.cpp:58