From 0bc5a9a1b36cea39bd2eefd8611e6c03a7f4d30a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joan=20Sol=C3=A0?= <jsola@iri.upc.edu>
Date: Fri, 14 Jul 2017 23:03:13 +0200
Subject: [PATCH] Improve assert with determinant > EPS instead of 0

---
 src/feature_base.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/feature_base.cpp b/src/feature_base.cpp
index b7bea1fd6..027897a10 100644
--- a/src/feature_base.cpp
+++ b/src/feature_base.cpp
@@ -16,7 +16,6 @@ FeatureBase::FeatureBase(const std::string& _type, const Eigen::VectorXs& _measu
 	measurement_(_measurement),
 	measurement_covariance_(_meas_covariance)
 {
-    assert(_meas_covariance.determinant() > 0 && "Not positive definite measurement covariance");
     measurement_sqrt_information_upper_ = computeSqrtInformationUpper(measurement_covariance_);
 
 //    std::cout << "constructed      +f" << id() << std::endl;
@@ -90,7 +89,7 @@ void FeatureBase::setMeasurementCovariance(const Eigen::MatrixXs & _meas_cov)
 
 Eigen::MatrixXs FeatureBase::computeSqrtInformationUpper(const Eigen::MatrixXs & _covariance) const
 {
-    assert(_covariance.determinant() > 0 && "Covariance is not positive definite!");
+    assert(_covariance.determinant() > Constants::EPS_SMALL && "Covariance is not positive definite!");
     Eigen::LLT<Eigen::MatrixXs> llt_of_info(_covariance.inverse());
     return llt_of_info.matrixU();
 }
-- 
GitLab