You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When an obstacle is in front of the ego vehicle, stop with keeping a distance for lane change.
546
-
The position to be stopped depends on the situation, such as when the lane change is blocked by the target lane obstacle, or when the lane change is not needed immediately.The following shows the division in that case.
545
+
The stopping behavior of the ego vehicle is determined based on various factors, such as the number of lane changes required, the presence of obstacles, and the position of blocking objects in relation to the lane change plan. The objective is to choose a suitable stopping point that allows for a safe and effective lane change while adapting to different traffic scenarios.
547
546
548
-
##### When the ego vehicle is near the end of the lane change
547
+
The following flowchart and subsections explain the conditions for deciding where to insert a stop point when an obstacle is ahead.
549
548
550
-
Regardless of the presence or absence of objects in the lane change target lane, stop by keeping the distance necessary for lane change to the object ahead.
549
+
```plantuml
550
+
@startuml
551
+
skinparam defaultTextAlignment center
552
+
skinparam backgroundColor #WHITE
553
+
554
+
title Inserting Stop Point
555
+
556
+
start
557
+
if (number of lane changes is zero?) then (<color:green><b>YES</b></color>)
558
+
stop
559
+
else (<color:red><b>NO</b></color>)
560
+
endif
561
+
562
+
if (do we want to insert stop point in current lanes?) then (<color:red><b>NO</b></color>)
563
+
#LightPink:Insert stop point at next lane change terminal start.;
564
+
stop
565
+
else (<color:green><b>YES</b></color>)
566
+
endif
567
+
568
+
if (Is there leading object in the current lanes that blocks ego's path?) then (<color:red><b>NO</b></color>)
569
+
#LightPink:Insert stop point at terminal stop.;
570
+
stop
571
+
else (<color:green><b>YES</b></color>)
572
+
endif
573
+
574
+
if (Blocking object's position is after target lane's start position?) then (<color:red><b>NO</b></color>)
575
+
#LightPink:Insert stop at the target lane's start position.;
576
+
stop
577
+
else (<color:green><b>YES</b></color>)
578
+
endif
579
+
580
+
if (Blocking object's position is before terminal stop position?) then (<color:red><b>NO</b></color>)
581
+
#LightPink:Insert stop at the terminal stop position;
582
+
stop
583
+
else (<color:green><b>YES</b></color>)
584
+
endif
585
+
586
+
if (Are there target lane objects between the ego and the blocking object?) then (<color:red><b>NO</b></color>)
587
+
#LightGreen:Insert stop behind the blocking object;
588
+
stop
589
+
else (<color:green><b>YES</b></color>)
590
+
#LightPink:Insert stop at terminal stop;
591
+
stop
592
+
@enduml
593
+
```
594
+
595
+
#### Ego vehicle's stopping position when an object exists ahead
596
+
597
+
When the ego vehicle encounters an obstacle ahead, it stops while maintaining a safe distance to prepare for a possible lane change. The exact stopping position depends on factors like whether the target lane is clear or if the lane change needs to be delayed. The following explains how different stopping scenarios are handled:
598
+
599
+
##### When the near the end of the lane change
600
+
601
+
Whether the target lane has obstacles or is clear, the ego vehicle stops while keeping a safe distance from the obstacle ahead, ensuring there is enough room for the lane change.
#### Ego vehicle's stopping position when an object exists in the lane changing section
614
+
615
+
If there are objects within the lane change section of the target lane, the ego vehicle stops closer to the obstacle ahead, without maintaining the usual distance for a lane change.
616
+
617
+
##### When near the end of the lane change
618
+
619
+
Regardless of whether there are obstacles in the target lane, the ego vehicle stops while keeping a safe distance from the obstacle ahead, allowing for the lane change.
If there are no obstacles in the lane change section of the target lane, the ego vehicle stops while keeping a safe distance from the obstacle ahead to accommodate the lane change.
If there are objects in the lane change section of the target lane, stop WITHOUT keeping the distance necessary for lane change to the object ahead.
631
+
If there are obstacles within the lane change section of the target lane, the ego vehicle stops closer to the obstacle ahead, without keeping the usual distance needed for a lane change.
When the target lane for lane change is far away and not next to the current lane, do not keep the distance necessary for lane change to the object ahead.
637
+
If the target lane for the lane change is far away and not next to the current lane, the ego vehicle stops closer to the obstacle ahead, as maintaining the usual distance for a lane change is not necessary.
Copy file name to clipboardexpand all lines: planning/behavior_path_planner/autoware_behavior_path_lane_change_module/include/autoware/behavior_path_lane_change_module/scene.hpp
+4-2
Original file line number
Diff line number
Diff line change
@@ -70,7 +70,9 @@ class NormalLaneChange : public LaneChangeBase
Copy file name to clipboardexpand all lines: planning/behavior_path_planner/autoware_behavior_path_lane_change_module/include/autoware/behavior_path_lane_change_module/utils/base_class.hpp
Copy file name to clipboardexpand all lines: planning/behavior_path_planner/autoware_behavior_path_lane_change_module/include/autoware/behavior_path_lane_change_module/utils/utils.hpp
0 commit comments