GTSAM: return empty optimized poses in case of exception or error. g2o: don't assert on marginal not computed, log error and reutn empty optimized poses.

This commit is contained in:
matlabbe
2022-11-22 12:26:02 -08:00
parent 05676d1577
commit 85bc1ee27f
2 changed files with 13 additions and 7 deletions
+6 -3
View File
@@ -714,16 +714,19 @@ std::map<int, Transform> OptimizerGTSAM::optimize(
}
else
{
UWARN("GTSAM: Could not compute marginal covariance!");
UERROR("GTSAM: Could not compute marginal covariance!");
optimizedPoses.clear(); // Failed optimization
}
}
catch(gtsam::IndeterminantLinearSystemException & e)
{
UWARN("GTSAM exception caught: %s", e.what());
UERROR("GTSAM exception caught: %s", e.what());
optimizedPoses.clear(); // Failed optimization
}
catch(std::exception& e)
{
UWARN("GTSAM exception caught: %s", e.what());
UERROR("GTSAM exception caught: %s", e.what());
optimizedPoses.clear(); // Failed optimization
}
delete optimizer;