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
Copy file name to clipboardexpand all lines: planning/behavior_path_start_planner_module/README.md
+53-23
Original file line number
Diff line number
Diff line change
@@ -91,36 +91,66 @@ The `StartPlannerModule` is designed to initiate its execution based on specific
91
91
92
92
### **End Conditions**
93
93
94
-
The `StartPlannerModule` terminates if the pull out / freespace maneuver has been completed. The `canTransitSuccessState` function assesses these conditions to decide if the module should terminate its execution.
94
+
The `StartPlannerModule` terminates when specific conditions are met, depending on the type of planner being used. The `canTransitSuccessState` function determines whether the module should transition to the success state based on the following criteria:
95
95
96
-
```plantuml
97
-
@startuml
98
-
start
99
-
:Start hasFinishedPullOut();
96
+
#### When the Freespace Planner is active:
100
97
101
-
if (status_.driving_forward && status_.found_pull_out_path) then (yes)
98
+
- If the end point of the freespace path is reached, the module transitions to the success state.
102
99
103
-
if (status_.planner_type == FREESPACE) then (yes)
104
-
:Calculate distance\nto pull_out_path.end_pose;
105
-
if (distance < th_arrived_distance) then (yes)
106
-
:return true;\n(Terminate module);
107
-
else (no)
108
-
:return false;\n(Continue running);
109
-
endif
110
-
else (no)
111
-
:Calculate arclength for\ncurrent_pose and pull_out_path.end_pose;
112
-
if (arclength_current - arclength_pull_out_end > offset) then (yes)
113
-
:return true;\n(Terminate module);
114
-
else (no)
115
-
:return false;\n(Continue running);
116
-
endif
117
-
endif
100
+
#### When any other type of planner is active:
101
+
102
+
The transition to the success state is determined by the following conditions:
103
+
104
+
- If a reverse path is being generated or the search for a pull out path fails:
105
+
- The module does not transition to the success state.
106
+
- If the end point of the pull out path's shift section is reached:
107
+
- The module transitions to the success state.
108
+
109
+
The flowchart below illustrates the decision-making process in the `canTransitSuccessState` function:
0 commit comments