diff --git a/modules/prediction/common/prediction_gflags.cc b/modules/prediction/common/prediction_gflags.cc index d69d9e30348a065b8f6cb1d6aa11908c1d442f68..fd0ec5237263ae384b616df2057fa4e05757480c 100644 --- a/modules/prediction/common/prediction_gflags.cc +++ b/modules/prediction/common/prediction_gflags.cc @@ -62,6 +62,8 @@ DEFINE_bool(enable_all_junction, false, "If consider all junction with junction_mlp_model."); DEFINE_double(caution_search_distance_ahead, 50.0, "The distance ahead to search caution-level obstacles"); +DEFINE_double(caution_search_distance_backward, 50.0, + "The distance backward to search caution-level obstacles"); DEFINE_double(caution_search_distance_backward_for_merge, 60.0, "The distance backward to search caution-lebel obstacles " "in the case of merging"); diff --git a/modules/prediction/common/prediction_gflags.h b/modules/prediction/common/prediction_gflags.h index e4ea01340469af48dbfad55f787e1f39093ce937..ce846716d2103b6647cbf16fcf77001d940a7dbc 100644 --- a/modules/prediction/common/prediction_gflags.h +++ b/modules/prediction/common/prediction_gflags.h @@ -46,6 +46,7 @@ DECLARE_int32(road_graph_max_search_horizon); DECLARE_double(junction_distance_threshold); DECLARE_bool(enable_all_junction); DECLARE_double(caution_search_distance_ahead); +DECLARE_double(caution_search_distance_backward); DECLARE_double(caution_search_distance_backward_for_merge); DECLARE_double(caution_search_distance_backward_for_overlap); DECLARE_double(caution_pedestrian_approach_time); diff --git a/modules/prediction/scenario/prioritization/obstacles_prioritizer.cc b/modules/prediction/scenario/prioritization/obstacles_prioritizer.cc index 8da6cc8d099602268dbae3c938a57936bcbae837..79c4eba1cc0ada268fd8d45cc00c1d2864c7c09b 100644 --- a/modules/prediction/scenario/prioritization/obstacles_prioritizer.cc +++ b/modules/prediction/scenario/prioritization/obstacles_prioritizer.cc @@ -59,7 +59,8 @@ int NearestFrontObstacleIdOnLaneSequence(const LaneSequence& lane_sequence) { int nearest_front_obstacle_id = std::numeric_limits::min(); double smallest_relative_s = std::numeric_limits::max(); for (const auto& nearby_obs : lane_sequence.nearby_obstacle()) { - if (nearby_obs.s() < 0.0) { + if (nearby_obs.s() < 0.0 || + nearby_obs.s() > FLAGS_caution_search_distance_ahead) { continue; } if (nearby_obs.s() < smallest_relative_s) { @@ -74,7 +75,8 @@ int NearestBackwardObstacleIdOnLaneSequence(const LaneSequence& lane_sequence) { int nearest_backward_obstacle_id = std::numeric_limits::min(); double smallest_relative_s = std::numeric_limits::max(); for (const auto& nearby_obs : lane_sequence.nearby_obstacle()) { - if (nearby_obs.s() > 0.0) { + if (nearby_obs.s() > 0.0 || + nearby_obs.s() < -FLAGS_caution_search_distance_backward) { continue; } if (-nearby_obs.s() < smallest_relative_s) {