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