17 #ifndef CARTOGRAPHER_MAPPING_INTERNAL_2D_SCAN_MATCHING_CORRELATIVE_SCAN_MATCHER_2D_H_ 18 #define CARTOGRAPHER_MAPPING_INTERNAL_2D_SCAN_MATCHING_CORRELATIVE_SCAN_MATCHER_2D_H_ 30 namespace scan_matching {
52 void ShrinkToFit(
const std::vector<DiscreteScan2D>& scans,
70 const MapLimits& map_limits,
const std::vector<sensor::PointCloud>& scans,
71 const Eigen::Translation2f& initial_translation);
75 Candidate2D(
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_INTERNAL_2D_SCAN_MATCHING_CORRELATIVE_SCAN_MATCHER_2D_H_ std::vector< Eigen::Array2i > DiscreteScan2D
std::vector< DiscreteScan2D > DiscretizeScans(const MapLimits &map_limits, const std::vector< sensor::PointCloud > &scans, const Eigen::Translation2f &initial_translation)
std::vector< LinearBounds > linear_bounds
void ShrinkToFit(const std::vector< DiscreteScan2D > &scans, const CellLimits &cell_limits)
int num_angular_perturbations
Candidate2D(const int init_scan_index, const int init_x_index_offset, const int init_y_index_offset, const SearchParameters &search_parameters)
SearchParameters(double linear_search_window, double angular_search_window, const sensor::PointCloud &point_cloud, double resolution)
std::vector< sensor::PointCloud > GenerateRotatedScans(const sensor::PointCloud &point_cloud, const SearchParameters &search_parameters)
double angular_perturbation_step_size
std::vector< Eigen::Vector3f > PointCloud
bool operator<(const Candidate2D &other) const
bool operator>(const Candidate2D &other) const