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_planner_common/include/behavior_path_planner_common/utils/parking_departure/common_module_data.hpp
Copy file name to clipboardexpand all lines: planning/behavior_path_start_planner_module/README.md
+72-19
Original file line number
Diff line number
Diff line change
@@ -2,17 +2,23 @@
2
2
3
3
## Purpose / Role
4
4
5
-
The Start Planner module is designed to generate a path from the current ego position to the driving lane, avoiding static obstacles and implementing safety checks against dynamic obstacles. (Note: The feature of safety checks against dynamic obstacles is currently a work in progress.)
6
-
This module is activated when a new route is received.
5
+
The Start Planner module is designed to generate a path from the current ego position to the driving lane, avoiding static obstacles and stopping in response to dynamic obstacles when a collision is detected.
7
6
8
-
Use cases are as follows
7
+
Use cases include:
9
8
10
-
- start smoothly from the current ego position to centerline.
| collision_check_distance_from_end |[m]| double | collision check distance from end shift end pose | 1.0 |
79
+
| collision_check_margin_from_front_object |[m]| double | collision check margin from front object | 5.0 |
80
+
| center_line_path_interval |[m]| double | reference center line path point interval | 1.0 |
74
81
75
82
## Safety check with static obstacles
76
83
@@ -243,6 +250,52 @@ If a safe path cannot be generated from the current position, search backwards f
243
250
244
251
[pull out after backward driving video](https://user-images.githubusercontent.com/39142679/181025149-8fb9fb51-9b8f-45c4-af75-27572f4fba78.mp4)
245
252
253
+
### **search priority**
254
+
255
+
If a safe path with sufficient clearance for static obstacles cannot be generated forward, a backward search from the vehicle's current position is conducted to locate a suitable start point for a pull out path generation.
256
+
257
+
During this backward search, different policies can be applied based on `search_priority` parameters:
258
+
259
+
Selecting `efficient_path` focuses on creating a shift pull out path, regardless of how far back the vehicle needs to move.
260
+
Opting for `short_back_distance` aims to find a location with the least possible backward movement.
`PriorityOrder` is defined as a vector of pairs, where each element consists of a `size_t` index representing a start pose candidate index, and the planner type. The PriorityOrder vector is processed sequentially from the beginning, meaning that the pairs listed at the top of the vector are given priority in the selection process for pull out path generation.
265
+
266
+
#### `efficient_path`
267
+
268
+
When `search_priority` is set to `efficient_path` and the preference is for prioritizing `shift_pull_out`, the `PriorityOrder` array is populated in such a way that `shift_pull_out` is grouped together for all start pose candidates before moving on to the next planner type. This prioritization is reflected in the order of the array, with `shift_pull_out` being listed before geometric_pull_out.
269
+
270
+
| Index | Planner Type |
271
+
| ----- | ------------------ |
272
+
| 0 | shift_pull_out |
273
+
| 1 | shift_pull_out |
274
+
| ... | ... |
275
+
| N | shift_pull_out |
276
+
| 0 | geometric_pull_out |
277
+
| 1 | geometric_pull_out |
278
+
| ... | ... |
279
+
| N | geometric_pull_out |
280
+
281
+
This approach prioritizes trying all candidates with `shift_pull_out` before proceeding to `geometric_pull_out`, which may be efficient in situations where `shift_pull_out` is likely to be appropriate.
282
+
283
+
#### `short_back_distance`
284
+
285
+
For `search_priority` set to `short_back_distance`, the array alternates between planner types for each start pose candidate, which can minimize the distance the vehicle needs to move backward if the earlier candidates are successful.
286
+
287
+
| Index | Planner Type |
288
+
| ----- | ------------------ |
289
+
| 0 | shift_pull_out |
290
+
| 0 | geometric_pull_out |
291
+
| 1 | shift_pull_out |
292
+
| 1 | geometric_pull_out |
293
+
| ... | ... |
294
+
| N | shift_pull_out |
295
+
| N | geometric_pull_out |
296
+
297
+
This ordering is beneficial when the priority is to minimize the backward distance traveled, giving an equal chance for each planner to succeed at the closest possible starting position.
298
+
246
299
### **parameters for backward pull out start point search**
247
300
248
301
| Name | Unit | Type | Description | Default value |
Copy file name to clipboardexpand all lines: planning/behavior_path_start_planner_module/include/behavior_path_start_planner_module/start_planner_module.hpp
+2-2
Original file line number
Diff line number
Diff line change
@@ -172,9 +172,9 @@ class StartPlannerModule : public SceneModuleInterface
Copy file name to clipboardexpand all lines: planning/behavior_path_start_planner_module/include/behavior_path_start_planner_module/start_planner_parameters.hpp
0 commit comments