1.0
This commit is contained in:
@@ -18,6 +18,14 @@ static bool process_side_laser(const SensorItem_t *item, float *out_m)
|
||||
if (dist_m > PREPROC_MAX_SIDE_RANGE_M || dist_m < PREPROC_MIN_SIDE_RANGE_M) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 靠墙过近退化:
|
||||
* 侧向 VL53 在最小量程附近(例如实际 3cm、模组最小可信 4cm)时,
|
||||
* 直接判无效会让系统退化成单边观测,反而更容易贴墙。
|
||||
* 这里改成“钳位到最小可信距离”,既保留该侧存在感,又避免把不可信的超近值直接送上去。 */
|
||||
if (dist_m < PREPROC_SAT_NEAR_SIDE_RANGE_M) {
|
||||
dist_m = PREPROC_SAT_NEAR_SIDE_RANGE_M;
|
||||
}
|
||||
|
||||
*out_m = dist_m;
|
||||
return true;
|
||||
@@ -116,4 +124,4 @@ void CorridorPreproc_ExtractObs(const RobotBlackboard_t *board, uint32_t now_ms,
|
||||
if (out_obs->d_back < 0.0f) out_obs->d_back = 0.0f;
|
||||
out_obs->valid_mask |= CORRIDOR_OBS_MASK_BACK;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user