From bfc499a733c93508b665919d57d06fb2f00433e3 Mon Sep 17 00:00:00 2001
From: joanvallve <jvallve@iri.upc.edu>
Date: Fri, 10 Sep 2021 12:32:36 +0200
Subject: [PATCH] bugfix: covariance size for 3d case

---
 src/subscriber_imu_enableable.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/subscriber_imu_enableable.cpp b/src/subscriber_imu_enableable.cpp
index 2cfb082..15edd1b 100644
--- a/src/subscriber_imu_enableable.cpp
+++ b/src/subscriber_imu_enableable.cpp
@@ -132,6 +132,7 @@ void SubscriberImuEnableable::callback(const sensor_msgs::Imu::ConstPtr& msg)
                         // add zero displacement and rotation capture & feature & factor with all previous frames
                         assert(sensor_ptr_->getProblem());
                         auto size = sensor_ptr_->getProblem()->getDim() == 3 ? 7:3;
+                        auto cov_size = sensor_ptr_->getProblem()->getDim() == 3 ? 6:3;
                         Eigen::VectorXd zero_motion = Eigen::VectorXd::Zero(size);
                         if(sensor_ptr_->getProblem()->getDim() == 3) 
                           zero_motion.tail<4>() = Eigen::Quaterniond::Identity().coeffs();
@@ -145,7 +146,7 @@ void SubscriberImuEnableable::callback(const sensor_msgs::Imu::ConstPtr& msg)
                             auto feature_zero = FeatureBase::emplace<FeatureBase>(capture_zero,
                                                                                   "FeatureZeroOdom",
                                                                                   zero_motion,
-                                                                                  Eigen::MatrixXd::Identity(size,size) * 0.01);
+                                                                                  Eigen::MatrixXd::Identity(cov_size,cov_size) * 0.01);
                             if(sensor_ptr_->getProblem()->getDim() == 3) 
                               FactorBase::emplace<FactorRelativePose3d>(feature_zero,
                                                                         feature_zero,
-- 
GitLab