MROB
Public Member Functions | Protected Attributes | List of all members
mrob::NodePlane4d Class Reference
Inheritance diagram for mrob::NodePlane4d:
Inheritance graph
[legend]
Collaboration diagram for mrob::NodePlane4d:
Collaboration graph
[legend]

Public Member Functions

 NodePlane4d (const Mat41 &initial_x, Node::nodeMode mode=STANDARD)
 
void update (VectRefConst &dx) override
 
void update_from_auxiliary (VectRefConst &dx) override
 
void set_state (MatRefConst &x) override
 
void set_auxiliary_state (MatRefConst &x) override
 
MatRefConst get_state () const override
 
MatRefConst get_auxiliary_state () const override
 
void print () const override
 
- Public Member Functions inherited from mrob::Node
 Node (uint_t dim, nodeMode mode=STANDARD)
 
factor_id_t get_id () const
 
void set_id (factor_id_t id)
 
factor_id_t get_dim (void) const
 
bool is_connected_to_EF () const
 
void set_connected_to_EF (bool state=true)
 
void set_node_mode (nodeMode mode)
 
nodeMode get_node_mode ()
 

Protected Attributes

Mat41 state_
 
Mat41 auxiliaryState_
 
- Protected Attributes inherited from mrob::Node
factor_id_t id_
 
uint_t dim_
 
nodeMode node_mode_
 
bool isConnected2EF_
 

Additional Inherited Members

- Public Types inherited from mrob::Node
enum  nodeMode { STANDARD = 0, ANCHOR, SCHUR_MARGI }
 

Constructor & Destructor Documentation

◆ NodePlane4d()

NodePlane4d::NodePlane4d ( const Mat41 &  initial_x,
Node::nodeMode  mode = STANDARD 
)

Node Plane 4d stands for the representation of planes as 4x1 vectors: pi = [n', d] = [nx, ny, nz, d], s.t. ||n|| =1

For initialization, requires an initial estimation of the state in global coordinates. TODO: relative formulation of planes might be more convinient.

Note that the dimensionality of this node is 4, that is the DOF, althought we know that the normal lies in S^2, so that shrinks the DOF to 3 in total.

Member Function Documentation

◆ get_auxiliary_state()

MatRefConst mrob::NodePlane4d::get_auxiliary_state ( ) const
inlineoverridevirtual

Returns a matrix to the last auxiliary state. This data structure is for the incre- metal implementation, or for error evaluation

Implements mrob::Node.

◆ get_state()

MatRefConst mrob::NodePlane4d::get_state ( ) const
inlineoverridevirtual

Declared as a dynamic matrix reference to allow any size to be returned. At run time returns a Reference to a fixed size matrix and provide it as an argument for the getState function, no need to be dynamic, as long as the dimension is correctly set

Implements mrob::Node.

◆ set_auxiliary_state()

void mrob::NodePlane4d::set_auxiliary_state ( MatRefConst &  x)
inlineoverridevirtual

New auxiliary state set

Implements mrob::Node.

◆ set_state()

void mrob::NodePlane4d::set_state ( MatRefConst &  x)
inlineoverridevirtual

At run time sets the new value of the estate and auxiliary to be x

Implements mrob::Node.

◆ update()

void NodePlane4d::update ( VectRefConst &  dx)
overridevirtual

Update of 4d is simply addition and a clamping process to guarantee unit normal pi'= clamped(pi + dx)

Implements mrob::Node.

◆ update_from_auxiliary()

void NodePlane4d::update_from_auxiliary ( VectRefConst &  dx)
overridevirtual

Updates FROM the auxiliary state the principal state.

Implements mrob::Node.


The documentation for this class was generated from the following files: