Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "cartographer/mapping/internal/3d/scan_matching/low_resolution_matcher.h"
00018
00019 namespace cartographer {
00020 namespace mapping {
00021 namespace scan_matching {
00022
00023 std::function<float(const transform::Rigid3f&)> CreateLowResolutionMatcher(
00024 const HybridGrid* low_resolution_grid, const sensor::PointCloud* points) {
00025 return [=](const transform::Rigid3f& pose) {
00026 float score = 0.f;
00027 for (const sensor::RangefinderPoint& point :
00028 sensor::TransformPointCloud(*points, pose)) {
00029
00030 score += low_resolution_grid->GetProbability(
00031 low_resolution_grid->GetCellIndex(point.position));
00032 }
00033 return score / points->size();
00034 };
00035 }
00036
00037 }
00038 }
00039 }