1 #ifndef __TINY_SCAN_MATCHER_H 2 #define __TINY_SCAN_MATCHER_H 6 #include "../core/monte_carlo_scan_matcher.h" 17 using ScePtr = std::shared_ptr<ScanCostEstimator>;
29 double sigma_coord,
double sigma_angle):
44 std::random_device rd;
45 std::mt19937 gen(rd());
49 base_pose.
x += d_coord(gen);
50 base_pose.
y += d_coord(gen);
51 base_pose.
theta += d_angle(gen);
55 unsigned sample_limit)
override {
56 if (sample_num <= sample_limit / 3) {
virtual void sample_pose(RobotState &base_pose) override
TinyScanMatcher(ScePtr cost_estimator, unsigned bad_iter, unsigned max_iter, double sigma_coord, double sigma_angle)
std::shared_ptr< ScanCostEstimator > cost_estimator()
Returns a pointer to the cost estimator.
virtual unsigned on_estimate_update(unsigned sample_num, unsigned sample_limit) override
virtual void reset_state() override
std::shared_ptr< ScanCostEstimator > ScePtr
double theta
The position of robot.
Defines a robot position in cartesian coordinates and an angle of rotation.
The scan matcher based on the Monte Carlo simulation.
Scan Matcher based on the Monte Carlo method. The focus of the scan matcher is to compare a scan and ...