30 #include "mrob/matrix_base.hpp" 31 #include "mrob/node.hpp" 88 Factor(uint_t dim, uint_t allNodesDim,
robustFactorType factor_type = QUADRATIC, uint_t potNumberNodes = 5);
123 virtual MatRefConst
get_obs()
const = 0;
128 virtual MatRefConst get_information_matrix()
const = 0;
138 virtual MatRefConst
get_jacobian([[maybe_unused]] mrob::factor_id_t
id = 0)
const = 0;
141 factor_id_t get_id()
const {
return id_;}
142 void set_id(factor_id_t
id) {id_ = id;}
143 uint_t get_dim_obs()
const {
return dim_;}
144 void set_dim_obs(uint_t dim) {dim_ = dim;}
145 uint_t get_all_nodes_dim()
const{
return allNodesDim_;}
146 void set_all_nodes_dim(uint_t dim) {allNodesDim_ = dim;}
147 const std::vector<std::shared_ptr<Node> >*
178 matData_t robust_weight_;
226 virtual VectRefConst get_state()
const = 0;
227 virtual void add_point(
const Mat31& p, std::shared_ptr<Node> &node, mrob::matData_t &W) = 0;
228 virtual MatRefConst get_hessian(mrob::factor_id_t
id = 0)
const = 0;
229 virtual void add_points_array(
const MatX &P, std::shared_ptr<Node> &node, mrob::matData_t &W) = 0;
230 virtual void add_points_S_matrix(
const Mat4 &S, std::shared_ptr<Node> &node, mrob::matData_t &W) = 0;
virtual VectRefConst get_residual() const =0
virtual void print() const
Definition: factor.hpp:116
robustFactorType
Definition: factor.hpp:87
matData_t evaluate_robust_weight(matData_t u, matData_t params=0.0)
Definition: factor.cpp:42
Definition: factor.hpp:221
virtual void evaluate_jacobians()=0
virtual MatRefConst get_obs() const =0
virtual void evaluate_residuals()=0
matData_t get_chi2() const
Definition: factor.hpp:111
virtual MatRefConst get_jacobian([[maybe_unused]] mrob::factor_id_t id=0) const =0
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
std::vector< std::shared_ptr< Node > > neighbourNodes_
Definition: factor.hpp:171
virtual void evaluate_chi2()=0
Definition: factor.hpp:81