17 #ifndef CARTOGRAPHER_MAPPING_2D_SCAN_MATCHING_CORRELATIVE_SCAN_MATCHER_H_ 18 #define CARTOGRAPHER_MAPPING_2D_SCAN_MATCHING_CORRELATIVE_SCAN_MATCHER_H_ 29 namespace mapping_2d {
30 namespace scan_matching {
52 void ShrinkToFit(
const std::vector<DiscreteScan>& scans,
70 const MapLimits& map_limits,
const std::vector<sensor::PointCloud>& scans,
71 const Eigen::Translation2f& initial_translation);
75 Candidate(
const int init_scan_index,
const int init_x_index_offset,
76 const int init_y_index_offset,
78 : scan_index(init_scan_index),
79 x_index_offset(init_x_index_offset),
80 y_index_offset(init_y_index_offset),
81 x(-y_index_offset * search_parameters.
resolution),
82 y(-x_index_offset * search_parameters.
resolution),
90 int x_index_offset = 0;
91 int y_index_offset = 0;
96 double orientation = 0.;
109 #endif // CARTOGRAPHER_MAPPING_2D_SCAN_MATCHING_CORRELATIVE_SCAN_MATCHER_H_
std::vector< DiscreteScan > DiscretizeScans(const MapLimits &map_limits, const std::vector< sensor::PointCloud > &scans, const Eigen::Translation2f &initial_translation)
bool operator>(const Candidate &other) const
std::vector< LinearBounds > linear_bounds
Candidate(const int init_scan_index, const int init_x_index_offset, const int init_y_index_offset, const SearchParameters &search_parameters)
int num_angular_perturbations
std::vector< Eigen::Vector3f > PointCloud
bool operator<(const Candidate &other) const
void ShrinkToFit(const std::vector< DiscreteScan > &scans, const CellLimits &cell_limits)
std::vector< Eigen::Array2i > DiscreteScan
SearchParameters(double linear_search_window, double angular_search_window, const sensor::PointCloud &point_cloud, double resolution)
double angular_perturbation_step_size
std::vector< sensor::PointCloud > GenerateRotatedScans(const sensor::PointCloud &point_cloud, const SearchParameters &search_parameters)