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) if(localMap_.size() && newSignature)
{ {
Transform transform; Transform transform;
if((int)localMap_.size() >= regVis_->getMinInliers()) if((int)localMap_.size() >= regVis_->getMinInliers() &&
(int)newSignature->getWords().size()>=regVis_->getMinInliers())
{ {
Transform t; Transform t;
Signature tmpLocalMap(-1); Signature tmpLocalMap(-1);
@@ -253,6 +254,10 @@ Transform OdometryLocalMap::computeTransform(
UWARN("Unknown registration error"); 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 else
{ {
UWARN("Local map too small!? (%d < %d)", (int)localMap_.size(), regVis_->getMinInliers()); UWARN("Local map too small!? (%d < %d)", (int)localMap_.size(), regVis_->getMinInliers());