File tree 1 file changed +16
-0
lines changed
planning/behavior_path_avoidance_module/src
1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -276,6 +276,22 @@ AvoidOutlines ShiftLineGenerator::generateAvoidOutline(
276
276
277
277
// calculate feasible shift length based on behavior policy
278
278
const auto feasible_shift_profile = get_shift_profile (o, desire_shift_length);
279
+
280
+ if (o.is_ambiguous ) {
281
+ const auto prepare_distance = helper_->getMinimumPrepareDistance ();
282
+ const auto constant_distance = helper_->getFrontConstantDistance (o);
283
+ const auto avoidance_distance = helper_->getMinAvoidanceDistance (desire_shift_length);
284
+ const auto decelaration_distance =
285
+ std::max (10.0 , helper_->getFeasibleDecelDistance (0.0 , false ));
286
+ if (
287
+ o.longitudinal >
288
+ prepare_distance + constant_distance + avoidance_distance + decelaration_distance) {
289
+ o.reason = " AmbiguousStoppedVehicle(wait-and-see)" ;
290
+ o.is_avoidable = feasible_shift_profile.has_value ();
291
+ continue ;
292
+ }
293
+ }
294
+
279
295
if (!feasible_shift_profile.has_value ()) {
280
296
if (o.avoid_required && is_forward_object (o)) {
281
297
break ;
You can’t perform that action at this time.
0 commit comments