Skip to content

Commit

Permalink
check heading difference in shouldProcessScan
Browse files Browse the repository at this point in the history
  • Loading branch information
981213 committed Nov 22, 2022
1 parent 67c1127 commit ff6479b
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/slam_toolbox_common.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -494,6 +494,7 @@ bool SlamToolbox::shouldProcessScan(
static double min_dist2 =
smapper_->getMapper()->getParamMinimumTravelDistance() *
smapper_->getMapper()->getParamMinimumTravelDistance();
static double min_heading = math::DegreesToRadians(smapper_->getMapper()->getParamMinimumTravelHeading());
static int scan_ctr = 0;
scan_ctr++;

Expand Down Expand Up @@ -522,7 +523,8 @@ bool SlamToolbox::shouldProcessScan(

// check moved enough, within 10% for correction error
const double dist2 = last_pose.SquaredDistance(pose);
if (dist2 < 0.8 * min_dist2 || scan_ctr < 5) {
double heading_diff = pose.GetHeading() - last_pose.GetHeading();
if ((dist2 < 0.8 * min_dist2 && fabs(heading_diff) < 0.9 * min_heading) || scan_ctr < 5) {
return false;
}

Expand Down

0 comments on commit ff6479b

Please sign in to comment.