simplify outlier detection

This commit is contained in:
Robot 2025-07-04 10:23:53 +08:00
parent 1eaa5278f8
commit 21bf8f57be

View File

@ -112,17 +112,7 @@ void CLidarFilter::lidarCallback(const sensor_msgs::LaserScan::ConstPtr& scan)
continue; // 当前点本身无效,跳过
}
// 检查前后邻居点是否有效
bool prev_valid = std::isfinite(prev_range) &&
prev_range >= new_scan.range_min &&
prev_range <= new_scan.range_max;
bool next_valid = std::isfinite(next_range) &&
next_range >= new_scan.range_min &&
next_range <= new_scan.range_max;
// 只有当当前点和其前后两个邻居点都有效时,才进行离群判断
if (prev_valid && next_valid) {
// 离群点判定
if (std::abs(current_range - prev_range) > outlier_threshold_ &&
std::abs(current_range - next_range) > outlier_threshold_)
{
@ -135,7 +125,6 @@ void CLidarFilter::lidarCallback(const sensor_msgs::LaserScan::ConstPtr& scan)
}
}
}
}
scan_pub_.publish(new_scan);
}