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

ProjectionHelper interface. This class provides an interface to the implementation of the projection function as well as its differential. More...

#include <updater_helper.hpp>

Inheritance diagram for msceqf::ProjectionHelper:

Public Member Functions

virtual Vector3 pi (const Vector3 &f)=0
 Projection function. This function projects a 3D point.
 
virtual MatrixX dpi (const Vector3 &f)=0
 Projection differential function. This function computes the differential of the projection function.
 
virtual void residualJacobianBlock (const MSCEqFState &X, const SystemState &xi0, const FeatHelper &feat, MatrixXBlockRowRef C_block_row, VectorXBlockRowRef delta_block_row, MatrixXBlockRowRef Cf_block_row, const ColsMap &cols_map)=0
 Computes a block row of the C matrix and a block of the residual, corresponding to the given feature This method compute the Ct matrix, the Cf matrix and the residual for a given feature.
 
const size_t & block_rows () const
 Get the number of rows of a C matrix block and a residual block.
 
const size_t & dim_loss () const
 Get the dimension lost due to nullspace projection.
 

Protected Member Functions

 ProjectionHelper (const FeatureRepresentation &feature_representation)
 Rule of 5.
 
 ProjectionHelper (const ProjectionHelper &)=default
 
 ProjectionHelper (ProjectionHelper &&)=default
 
ProjectionHelperoperator= (const ProjectionHelper &)=default
 
ProjectionHelperoperator= (ProjectionHelper &&)=default
 

Protected Attributes

FeatureRepresentation feature_representation_
 Feature representation.
 
size_t block_rows_
 Number of rows of a C matrix block and a residual block.
 
size_t dim_loss_
 Dimension lost due to nullspace projection.
 

Detailed Description

ProjectionHelper interface. This class provides an interface to the implementation of the projection function as well as its differential.

Member Function Documentation

◆ block_rows()

const size_t & msceqf::ProjectionHelper::block_rows ( ) const
inlinenodiscard

Get the number of rows of a C matrix block and a residual block.

Returns
rows of a single block of the C matrix and the residual

◆ dim_loss()

const size_t & msceqf::ProjectionHelper::dim_loss ( ) const
inlinenodiscard

Get the dimension lost due to nullspace projection.

Returns
dimension lost due to nullspace projection

◆ dpi()

virtual MatrixX msceqf::ProjectionHelper::dpi ( const Vector3 & f)
nodiscardpure virtual

Projection differential function. This function computes the differential of the projection function.

Parameters
f
Returns
Differential of the projection function

Implemented in msceqf::ProjectionHelperS2, and msceqf::ProjectionHelperZ1.

◆ pi()

virtual Vector3 msceqf::ProjectionHelper::pi ( const Vector3 & f)
nodiscardpure virtual

Projection function. This function projects a 3D point.

Parameters
f
Returns
R3 vector representing a 3D point

Implemented in msceqf::ProjectionHelperS2, and msceqf::ProjectionHelperZ1.

◆ residualJacobianBlock()

virtual void msceqf::ProjectionHelper::residualJacobianBlock ( const MSCEqFState & X,
const SystemState & xi0,
const FeatHelper & feat,
MatrixXBlockRowRef C_block_row,
VectorXBlockRowRef delta_block_row,
MatrixXBlockRowRef Cf_block_row,
const ColsMap & cols_map )
pure virtual

Computes a block row of the C matrix and a block of the residual, corresponding to the given feature This method compute the Ct matrix, the Cf matrix and the residual for a given feature.

Parameters
XMSCEqF state
featFeature helper
C_block_rowBlock row of the C matrix
delta_block_rowBlock of the residual delta
Cf_block_rowBlock of the Cf matrix
cols_mapMap of indices for the C matrix and the residual delta

Implemented in msceqf::ProjectionHelperS2, and msceqf::ProjectionHelperZ1.


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