OdomF2M: fixed complexity null for first scan is not having normals already

This commit is contained in:
matlabbe
2020-08-21 14:32:08 -04:00
parent 729f96f467
commit f263d560b4

View File

@@ -1271,9 +1271,17 @@ Transform OdometryF2M::computeTransform(
Parameters::parse(parameters_, Parameters::kIcpPointToPlaneMinComplexity(), minComplexity); Parameters::parse(parameters_, Parameters::kIcpPointToPlaneMinComplexity(), minComplexity);
if(p2n && minComplexity>0.0f) if(p2n && minComplexity>0.0f)
{ {
complexity = util3d::computeNormalsComplexity(*mapCloudNormals, Transform::getIdentity(), lastFrame_->sensorData().laserScanRaw().is2d()); if(lastFrame_->sensorData().laserScanRaw().hasNormals())
if(complexity > minComplexity)
{ {
complexity = util3d::computeNormalsComplexity(*mapCloudNormals, Transform::getIdentity(), lastFrame_->sensorData().laserScanRaw().is2d());
if(complexity > minComplexity)
{
frameValid = true;
}
}
else
{
UWARN("Input raw scan doesn't have normals, complexity check on first frame is not done.");
frameValid = true; frameValid = true;
} }
} }