Preferences: fixed map opacity limited to 0.75 min. Making sure that normalized variances are set to epsilon if result is 0.

This commit is contained in:
matlabbe
2017-01-05 18:08:20 -05:00
parent 4b12fb3a9a
commit f20cb6ff52
6 changed files with 21 additions and 6 deletions

View File

@@ -2240,6 +2240,8 @@ Transform Memory::computeTransform(
//normalize variance
info->varianceLin *= transform.getNorm();
info->varianceAng *= transform.getAngle();
info->varianceLin = info->varianceLin>0.0f?info->varianceLin:0.0001f; // epsilon if exact transform
info->varianceAng = info->varianceAng>0.0f?info->varianceAng:0.0001f; // epsilon if exact transform
}
}
}
@@ -2294,6 +2296,8 @@ Transform Memory::computeIcpTransform(
// normalize variance
info->varianceLin *= t.getNorm();
info->varianceAng *= t.getAngle();
info->varianceLin = info->varianceLin>0.0f?info->varianceLin:0.0001f; // epsilon if exact transform
info->varianceAng = info->varianceAng>0.0f?info->varianceAng:0.0001f; // epsilon if exact transform
}
}
else

View File

@@ -517,6 +517,8 @@ Transform Odometry::process(SensorData & data, const Transform & guessIn, Odomet
info->varianceLin *= t.getNorm();
info->varianceAng *= t.getAngle();
info->varianceLin = info->varianceLin>0.0f?info->varianceLin:0.0001f; // epsilon if exact transform
info->varianceAng = info->varianceAng>0.0f?info->varianceAng:0.0001f; // epsilon if exact transform
return _pose *= t; // update
}