Skip to content

Commit cac13ff

Browse files
Cancel explanations and limitations
Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
1 parent 9945090 commit cac13ff

File tree

1 file changed

+17
-18
lines changed
  • planning/behavior_path_planner/autoware_behavior_path_lane_change_module

1 file changed

+17
-18
lines changed

Diff for: planning/behavior_path_planner/autoware_behavior_path_lane_change_module/README.md

+17-18
Original file line numberDiff line numberDiff line change
@@ -787,13 +787,14 @@ Depending on the space configuration around the Ego vehicle, it is possible that
787787

788788
Additionally if terminal path feature is enabled and path is computed, stop point placement can be configured to be at the edge of the current lane instead of at the `terminal_start` position, as indicated by the dashed red line in the image above.
789789

790-
## Canceling/Aborting a Previously Approved Lane Change
790+
## Aborting a Previously Approved Lane Change
791791

792792
Once the lane change path is approved, there are several situations where we may need to abort the maneuver. The abort process is triggered if any one of the following conditions is met
793793

794794
1. The ego vehicle is near a traffic light, crosswalk, or intersection, and it is possible to complete the lane change after the ego vehicle passes these areas.
795-
2. The lane change is forcefully canceled via [RTC](https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/features/cooperation/).
796-
3. The path has become unsafe.
795+
2. The target object list is updated, requiring us to [delay lane change](#delay-lane-change-check)
796+
3. The lane change is forcefully canceled via [RTC](https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/ad-api/features/cooperation/).
797+
4. The path has become unsafe.
797798

798799
Furthermore, if the path has become unsafe, there are three possible outcomes for the maneuver:
799800

@@ -888,13 +889,7 @@ The edges of the ego vehicle’s footprint are compared against the boundary of
888889
The footprints checked against the lane boundary include:
889890

890891
1. Current Footprint: Based on the ego vehicle's current position.
891-
2. Future Footprint: Based on the ego vehicle's estimated position after traveling a distance, calculated as:
892-
893-
$$
894-
𝑑_{est}=𝑣_{ego} \cdot \Delta_{𝑡}
895-
$$
896-
897-
where
892+
2. Future Footprint: Based on the ego vehicle's estimated position after traveling a distance, calculated as $𝑑_{est}=𝑣_{ego} \cdot \Delta_{𝑡}$, where
898893

899894
- $v_{ego}$ is ego vehicle current velocity
900895
- $\Delta_{t}$ is parameterized time constant value, `cancel.delta_time`.
@@ -909,15 +904,21 @@ The footprints checked against the lane boundary include:
909904

910905
### Cancel
911906

912-
Suppose the lane change trajectory is evaluated as unsafe. In that case, if the ego vehicle has not departed from the current lane yet, the trajectory will be reset, and the ego vehicle will resume the lane following the maneuver.
907+
When lane change is canceled, the approved path is reset. After the reset, the ego vehicle will return to following the original reference path (the last approved path before the lane change started), as illustrated in the following image
913908

914-
The function can be enabled by setting `enable_on_prepare_phase` to `true`.
909+
![cancel](./images/lane_change-cancel.png)
915910

916-
The following image illustrates the cancel process.
911+
The following parameters can be configured to tune the behavior of the cancel process:
917912

918-
![cancel](./images/lane_change-cancel.png)
913+
1. [Safety constraints](#safety-constraints-to-cancel-lane-change-path) for cancel.
914+
2. [Safety constraints](#safety-constraints-specifically-for-stopped-or-parked-vehicles) for parked vehicle.
919915

920-
During a lane change, a safety check is made in consideration of the deceleration of the ego vehicle, and a safety check is made for `cancel.deceleration_sampling_num` deceleration patterns, and the lane change will be canceled if the abort condition is satisfied for all deceleration patterns.
916+
!!! note
917+
918+
To ensure feasible behavior, all safety constraint values must be equal to or less than their corresponding parameters in the [execution](#safety-constraints-during-lane-change-path-is-computed) settings.
919+
920+
- The closer the values, the more conservative the lane change behavior will be. This means it will be easier to cancel the lane change but harder for the ego vehicle to complete a lane change.
921+
- The larger the difference, the more aggressive the lane change behavior will be. This makes it harder to cancel the lane change but easier for the ego vehicle to change lanes.
921922

922923
### Abort
923924

@@ -933,9 +934,7 @@ The last behavior will also occur if the ego vehicle has departed from the curre
933934

934935
### Limitation
935936

936-
!!! warning
937-
938-
TBA
937+
1. When a lane change is canceled, the lane change module returns `ModuleStatus::FAILURE`. As the lane change module is removed from the approved module's stack (see [Failure modules](https://autowarefoundation.github.io/autoware.universe/main/planning/behavior_path_planner/autoware_behavior_path_planner/docs/behavior_path_planner_manager_design/#failure-modules) explanation), a new instance of the lane change module will start. Due to this reset, any information stored before the reset will be lost. For example, the `lane_change_prepare_duration` in the `TransientData` will be reset to its maximum value..
939938

940939
## Parameters
941940

0 commit comments

Comments
 (0)