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
feat(behavior_path_planner_common): modify drivable area expansion to be able to avoid static objects (#10220)
* modify drivable area expansion to avoid static objects
Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp>
* rename parameters and update drivable area design md
Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp>
* Update planning/behavior_path_planner/autoware_behavior_path_planner_common/docs/behavior_path_planner_drivable_area_design.md
Co-authored-by: Maxime CLEMENT <78338830+maxime-clem@users.noreply.github.com>
* correct parameters description
Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp>
---------
Signed-off-by: mohammad alqudah <alqudah.mohammad@tier4.jp>
Co-authored-by: Maxime CLEMENT <78338830+maxime-clem@users.noreply.github.com>
Copy file name to clipboardexpand all lines: planning/behavior_path_planner/autoware_behavior_path_planner_common/docs/behavior_path_planner_drivable_area_design.md
+30-23
Original file line number
Diff line number
Diff line change
@@ -32,27 +32,29 @@ Currently, when clipping left bound or right bound, it can clip the bound more t
32
32
33
33
### Dynamic expansion
34
34
35
-
| Name | Unit | Type | Description | Default value |
| dynamic_objects.avoid |[-]| boolean | if true, the drivable area is not expanded in the predicted path of dynamic objects | true |
47
-
| dynamic_objects.extra_footprint_offset.front |[m]| double | extra length to add to the front of the ego footprint | 0.5 |
48
-
| dynamic_objects.extra_footprint_offset.rear |[m]| double | extra length to add to the rear of the ego footprint | 0.5 |
49
-
| dynamic_objects.extra_footprint_offset.left |[m]| double | extra length to add to the left of the ego footprint | 0.5 |
50
-
| dynamic_objects.extra_footprint_offset.right |[m]| double | extra length to add to the rear of the ego footprint | 0.5 |
51
-
| path_preprocessing.max_arc_length |[m]| double | maximum arc length along the path where the ego footprint is projected (0.0 means no limit) | 100.0 |
52
-
| path_preprocessing.resample_interval |[m]| double | fixed interval between resampled path points (0.0 means path points are directly used) | 2.0 |
53
-
| path_preprocessing.reuse_max_deviation |[m]| double | if the path changes by more than this value, the curvatures are recalculated. Otherwise they are reused | 0.5 |
54
-
| avoid_linestring.types |[-]| string array | linestring types in the lanelet maps that will not be crossed when expanding the drivable area |["road_border", "curbstone"]|
55
-
| avoid_linestring.distance |[m]| double | distance to keep between the drivable area and the linestrings to avoid | 0.0 |
35
+
| Name | Unit | Type | Description | Default value |
| object_exclusion.safety_margin.front |[m]| double | extra length to add to the front of the object footprint | 0.75 |
50
+
| object_exclusion.safety_margin.rear |[m]| double | extra length to add to the rear of the object footprint | 0.75 |
51
+
| object_exclusion.safety_margin.left |[m]| double | extra length to add to the left of the object footprint | 0.75 |
52
+
| object_exclusion.safety_margin.right |[m]| double | extra length to add to the right of the object footprint | 0.75 |
53
+
| path_preprocessing.max_arc_length |[m]| double | maximum arc length along the path where the ego footprint is projected (0.0 means no limit) | 100.0 |
54
+
| path_preprocessing.resample_interval |[m]| double | fixed interval between resampled path points (0.0 means path points are directly used) | 2.0 |
55
+
| path_preprocessing.reuse_max_deviation |[m]| double | if the path changes by more than this value, the curvatures are recalculated. Otherwise they are reused | 0.5 |
56
+
| avoid_linestring.types |[-]| string array | linestring types in the lanelet maps that will not be crossed when expanding the drivable area |["road_border", "curbstone"]|
57
+
| avoid_linestring.distance |[m]| double | distance to keep between the drivable area and the linestrings to avoid | 0.0 |
56
58
57
59
## Inner-workings / Algorithms
58
60
@@ -133,9 +135,14 @@ This equation was derived from the work of [Lim, H., Kim, C., and Jo, A., "Model
##### 3 Calculate maximum expansion distances of each bound point based on dynamic objects and linestring of the vector map (optional)
138
+
##### 3 Calculate maximum expansion distances of each bound point based on detected objects and linestring of the vector map (optional)
139
+
140
+
For each drivable area bound point, we calculate its maximum expansion distance as its distance to the closest "obstacle" which could be:
141
+
142
+
1. Map linestring with type `avoid_linestrings.type`.
143
+
2. Static object footprint (if `object_exclusion.exclude_static` is set to `true`).
144
+
3. Dynamic object path footprint (if `object_exclusion.exclude_dynamic` is set to `true`).
137
145
138
-
For each drivable area bound point, we calculate its maximum expansion distance as its distance to the closest "obstacle" (either a map linestring with type `avoid_linestrings.type`, or a dynamic object footprint if `dynamic_objects.avoid` is set to `true`).
139
146
If `max_expansion_distance` is not `0.0`, it is use here if smaller than the distance to the closest obstacle.
0 commit comments