Skip to content
Snippets Groups Projects
Commit bfc499a7 authored by Joan Vallvé Navarro's avatar Joan Vallvé Navarro
Browse files

bugfix: covariance size for 3d case

parent a64eaf6d
No related branches found
No related tags found
2 merge requests!5After cmake and const refactor,!3new release
......@@ -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,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment