Skip to content

Removing getCovariance returning MatrixXs

Joan Vallvé Navarro requested to merge feature/getCovariance into devel

In wolf, by default the solver is not computing the whole covariance matrix of the estimation. It has to be called explicitly to the solver defining which blocks are desired to be computed. Then, they are stored in Problem in std::map<std::pair<StateBlockPtr, StateBlockPtr>, Eigen::MatrixXs> covariances_;

Then, eventually when asking for a specific covariance block, this information is not stored.

In Problem, LandmarkBase and FrameBase, there are 2 kind of covariance getters:

  • MatrixXs getXXXCovariance(const XXXPtr& xxx_ptr)
  • bool getXXXCovariance(const XXXPtr& xxx_ptr, MatrixXs& cov)

The first one, if the covariance block hasn't been computed returns an uninitialized matrix without returning any information about what happened. According to #145 (closed), we agreed on removing this first getters for covariance blocks implemented in the current MR.

Merge request reports