Covariance Index Internals
Type System
The type system that the ov_
class Type { protected: // Current best estimate Eigen::MatrixXd _value; // Location of error state in covariance int _id = -1; // Dimension of error state int _size = -1; };
A type is defined by its location in its covariance, its current estimate and its error state size. The current value does not have to be a vector, but could be a matrix in the case of an SO(3) rotation group type object. The error state needs to be a vector and thus a type will need to define the mapping between this error state and its manifold representation.
Type-based EKF Update
To show the power of this type-based indexing system, we will go through how we compute the EKF update. The specific method we will be looking at is the ov_msckf::
For example, if we have a global 3D SLAM feature update (implemented in ov_msckf::