31 #include "mrob/matrix_base.hpp" 32 #include "mrob/factor.hpp" 63 enum nodeMode{STANDARD = 0, ANCHOR, SCHUR_MARGI};
65 Node(uint_t dim, nodeMode mode = STANDARD);
76 virtual void update(VectRefConst &dx) = 0;
85 virtual void set_state(MatRefConst &x) = 0;
96 virtual const MatRefConst
get_state()
const = 0;
102 virtual void print()
const {}
103 factor_id_t get_id()
const {
return id_;}
104 void set_id(factor_id_t
id) {id_ = id;}
105 factor_id_t get_dim(
void)
const {
return dim_;}
117 void set_node_mode(nodeMode mode){node_mode_ = mode;}
118 nodeMode get_node_mode(){
return node_mode_;}
virtual void set_state(MatRefConst &x)=0
virtual void update(VectRefConst &dx)=0
bool isConnected2EF_
Definition: node.hpp:137
double wrap_angle(double angle)
Definition: node.cpp:39
virtual MatRefConst get_auxiliary_state() const =0
bool is_connected_to_EF() const
Definition: node.hpp:113
virtual const MatRefConst get_state() const =0
virtual void update_from_auxiliary(VectRefConst &dx)=0
virtual void set_auxiliary_state(MatRefConst &x)=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