Fixed OdometryLocalMap fatal error if new frame has no feature

This commit is contained in:
matlabbe
2016-01-12 17:52:54 -05:00
parent 90525b75a9
commit f6924ba48b

View File

@@ -232,7 +232,8 @@ Transform OdometryLocalMap::computeTransform(
if(localMap_.size() && newSignature)
{
Transform transform;
if((int)localMap_.size() >= regVis_->getMinInliers())
if((int)localMap_.size() >= regVis_->getMinInliers() &&
(int)newSignature->getWords().size()>=regVis_->getMinInliers())
{
Transform t;
Signature tmpLocalMap(-1);
@@ -253,6 +254,10 @@ Transform OdometryLocalMap::computeTransform(
UWARN("Unknown registration error");
}
}
else if((int)newSignature->getWords().size()<regVis_->getMinInliers())
{
UWARN("New signature has too low extracted features (%d < %d)", (int)newSignature->getWords().size(), regVis_->getMinInliers());
}
else
{
UWARN("Local map too small!? (%d < %d)", (int)localMap_.size(), regVis_->getMinInliers());