MSCEqF 1.0
Multi State Constraint Equivariant Filter for visual inertial navigation
Loading...
Searching...
No Matches
msceqf::MSCEqFStateElement Class Referenceabstract

This class represent the base class for a general element of the MSCEqF state. This include the index of the variable (index in the residual, and in the covariance), and the degrees of freedom. More...

#include <state_elements.hpp>

Inheritance diagram for msceqf::MSCEqFStateElement:

Public Member Functions

const uint & getIndex ()
 Get the starting index of the state element in the residual, and in the covariance.
 
const uint & getDof ()
 Get the degrees of freedom of the state element (dimension of relative covariance and residual block)
 
void updateIndex (const uint &new_idx)
 Update index.
 
virtual void updateRight (const VectorX &delta)=0
 update function to update the value of the state element by right multiplication
 
virtual void updateLeft (const VectorX &delta)=0
 update function to update the value of the state element by left multiplication
 
virtual std::unique_ptr< MSCEqFStateElementclone () const =0
 Clone.
 

Protected Member Functions

 MSCEqFStateElement ()=delete
 Rule of Five.
 
 MSCEqFStateElement (const MSCEqFStateElement &)=default
 
 MSCEqFStateElement (MSCEqFStateElement &&)=default
 
MSCEqFStateElementoperator= (const MSCEqFStateElement &)=default
 
MSCEqFStateElementoperator= (MSCEqFStateElement &&)=default
 
 MSCEqFStateElement (const uint &idx, const uint &dof)
 Construct a MSCEqFStateElement object.
 

Protected Attributes

uint idx_
 Starting index of the element in the residual, and in the covariance.
 
uint dof_
 Degrees of freedom of the element (dimension of relative covariance and residual block)
 

Detailed Description

This class represent the base class for a general element of the MSCEqF state. This include the index of the variable (index in the residual, and in the covariance), and the degrees of freedom.

Note
Type-based index system inspired by: Geneva, Patrick, et al. "Openvins: A research platform for visual-inertial estimation." 2020 IEEE International Conference on Robotics and Automation (ICRA). IEEE,
  1. https://ieeexplore.ieee.org/document/9196524

Constructor & Destructor Documentation

◆ MSCEqFStateElement()

msceqf::MSCEqFStateElement::MSCEqFStateElement ( const uint & idx,
const uint & dof )
inlineprotected

Construct a MSCEqFStateElement object.

Parameters
idxStarting index of the element in the residual, and in the covariance
dofDegrees of freedom of the element (dimension of relative covariance and residual block)

Member Function Documentation

◆ clone()

virtual std::unique_ptr< MSCEqFStateElement > msceqf::MSCEqFStateElement::clone ( ) const
pure virtual

◆ getDof()

const uint & msceqf::MSCEqFStateElement::getDof ( )
inlinenodiscard

Get the degrees of freedom of the state element (dimension of relative covariance and residual block)

Returns
Degrees of freedom

◆ getIndex()

const uint & msceqf::MSCEqFStateElement::getIndex ( )
inlinenodiscard

Get the starting index of the state element in the residual, and in the covariance.

Returns
Starting index

◆ updateIndex()

void msceqf::MSCEqFStateElement::updateIndex ( const uint & new_idx)
inline

Update index.

Parameters
new_idxNew index

◆ updateLeft()

virtual void msceqf::MSCEqFStateElement::updateLeft ( const VectorX & delta)
pure virtual

update function to update the value of the state element by left multiplication

Parameters
deltaDelta value to update with

Implemented in msceqf::MSCEqFInState, msceqf::MSCEqFSDBState, msceqf::MSCEqFSE3State, and msceqf::MSCEqFSOT3State.

◆ updateRight()

virtual void msceqf::MSCEqFStateElement::updateRight ( const VectorX & delta)
pure virtual

update function to update the value of the state element by right multiplication

Parameters
deltaDelta value to update with

Implemented in msceqf::MSCEqFInState, msceqf::MSCEqFSDBState, msceqf::MSCEqFSE3State, and msceqf::MSCEqFSOT3State.


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