Skip to content

Commit

Permalink
fixup! docs(avoidance): json schema
Browse files Browse the repository at this point in the history
  • Loading branch information
satoshi-ota committed Apr 11, 2024
1 parent 8591ea3 commit 1076e80
Show file tree
Hide file tree
Showing 5 changed files with 499 additions and 76 deletions.
59 changes: 3 additions & 56 deletions planning/behavior_path_avoidance_module/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -775,70 +775,17 @@ namespace: `avoidance.target_object.`

This module supports all object classes, and it can set following parameters independently.

```yaml
car:
is_target: true # [-]
moving_speed_threshold: 1.0 # [m/s]
moving_time_threshold: 1.0 # [s]
max_expand_ratio: 0.0 # [-]
envelope_buffer_margin: 0.3 # [m]
avoid_margin_lateral: 1.0 # [m]
safety_buffer_lateral: 0.7 # [m]
safety_buffer_longitudinal: 0.0 # [m]
```

| Name | Unit | Type | Description | Default value |
| :------------------------- | ----- | ------ | ------------------------------------------------------------------------------------------------------------------------- | ------------- |
| is_target | [-] | bool | By setting this flag `true`, this module avoid those class objects. | false |
| moving_speed_threshold | [m/s] | double | Objects with speed greater than this will be judged as moving ones. | 1.0 |
| moving_time_threshold | [s] | double | Objects keep moving longer duration than this will be excluded from avoidance target. | 1.0 |
| envelope_buffer_margin | [m] | double | The buffer between raw boundary box of detected objects and enveloped polygon that is used for avoidance path generation. | 0.3 |
| avoid_margin_lateral | [m] | double | The lateral distance between ego and avoidance targets. | 1.0 |
| safety_buffer_lateral | [m] | double | Creates an additional lateral gap that will prevent the vehicle from getting to near to the obstacle. | 0.5 |
| safety_buffer_longitudinal | [m] | double | Creates an additional longitudinal gap that will prevent the vehicle from getting to near to the obstacle. | 0.0 |

Parameters for the logic to compensate perception noise of the far objects.

| Name | Unit | Type | Description | Default value |
| :----------------------------------- | ---- | ------ | ------------------------------------------------------------------------------------------------------------ | ------------- |
| max_expand_ratio | [-] | double | This value will be applied `envelope_buffer_margin` according to the distance between the ego and object. | 0.0 |
| lower_distance_for_polygon_expansion | [-] | double | If the distance between the ego and object is less than this, the expand ratio will be zero. | 30.0 |
| upper_distance_for_polygon_expansion | [-] | double | If the distance between the ego and object is larger than this, the expand ratio will be `max_expand_ratio`. | 100.0 |
{{ json_to_markdown("planning/behavior_path_avoidance_module/schema/behavior_path_avoidance_module_target_objects.schema.json") }}

namespace: `avoidance.target_filtering.`

| Name | Unit | Type | Description | Default value |
| :---------------------------------------------------- | :--- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------ |
| threshold_distance_object_is_on_center | [m] | double | Vehicles around the center line within this distance will be excluded from avoidance target. | 1.0 |
| object_ignore_section_traffic_light_in_front_distance | [m] | double | If the distance between traffic light and vehicle is less than this parameter, this module will ignore it. | 30.0 |
| object_ignore_section_crosswalk_in_front_distance | [m] | double | If the front distance between crosswalk and vehicle is less than this parameter, this module will ignore it. | 30.0 |
| object_ignore_section_crosswalk_behind_distance | [m] | double | If the back distance between crosswalk and vehicle is less than this parameter, this module will ignore it. | 30.0 |
| object_check_forward_distance | [m] | double | Forward distance to search the avoidance target. | 150.0 |
| object_check_backward_distance | [m] | double | Backward distance to search the avoidance target. | 2.0 |
| object_check_goal_distance | [m] | double | If the distance between object and goal position is less than this parameter, the module do not return center line. | 20.0 |
| object_check_return_pose_distance | [m] | double | If the distance between object and return position is less than this parameter, the module do not return center line. | 20.0 |
| object_check_shiftable_ratio | [m] | double | Vehicles around the center line within this distance will be excluded from avoidance target. | 0.6 |
| object_check_min_road_shoulder_width | [m] | double | Width considered as a road shoulder if the lane does not have a road shoulder target. | 0.5 |
| object_last_seen_threshold | [s] | double | For the compensation of the detection lost. The object is registered once it is observed as an avoidance target. When the detection loses, the timer will start and the object will be un-registered when the time exceeds this limit. | 2.0 |
{{ json_to_markdown("planning/behavior_path_avoidance_module/schema/behavior_path_avoidance_module_target_filtering.schema.json") }}

### Safety check parameters

namespace: `avoidance.safety_check.`

| Name | Unit | Type | Description | Default value |
| :----------------------------- | ---- | ------ | ---------------------------------------------------------------------------------------------------------- | ------------- |
| enable | [-] | bool | Enable to use safety check feature. | true |
| check_current_lane | [-] | bool | Check objects on current driving lane. | false |
| check_shift_side_lane | [-] | bool | Check objects on shift side lane. | true |
| check_other_side_lane | [-] | bool | Check objects on other side lane. | false |
| check_unavoidable_object | [-] | bool | Check collision between ego and unavoidable objects. | false |
| check_other_object | [-] | bool | Check collision between ego and non avoidance target objects. | false |
| check_all_predicted_path | [-] | bool | Check all prediction path of safety check target objects. | false |
| time_horizon | [s] | double | Time horizon to check lateral/longitudinal margin is enough or not. | 10.0 |
| time_resolution | [s] | double | Time resolution to check lateral/longitudinal margin is enough or not. | 0.5 |
| safety_check_backward_distance | [m] | double | Backward distance to search the dynamic objects. | 50.0 |
| safety_check_hysteresis_factor | [-] | double | Hysteresis factor that be used for chattering prevention. | 2.0 |
| safety_check_ego_offset | [m] | double | Output new avoidance path **only when** the offset between ego and previous output path is less than this. | 1.0 |
{{ json_to_markdown("planning/behavior_path_avoidance_module/schema/behavior_path_avoidance_module_safety_check.schema.json") }}

### Avoidance maneuver parameters

Expand Down
Original file line number Diff line number Diff line change
@@ -1,62 +1,56 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Parameters for behavior_path_avoidance module",
"title": "Parameters for behavior_path_avoidance_module",
"type": "object",
"definitions": {
"behavior_path_avoidance_module": {
"type": "object",
"properties": {
"resample_interval_for_planning": {
"type": "number",
"description": "Timer callback period.",
"description": "Path resample interval for avoidance planning path.",
"default": 0.3
},
"resample_interval_for_output": {
"type": "number",
"description": "Timer callback period.",
"description": "Path resample interval for output path. Too short interval increases computational cost for latter modules.",
"default": 4.0
},
"enable_bound_clipping": {
"type": "boolean",
"description": "If this parameter is true, operate comfortable stop when latent faults occur.",
"default": "false"
},
"disable_path_update": {
"type": "boolean",
"description": "If this parameter is true, operate comfortable stop when latent faults occur.",
"description": "Enable clipping left and right bound of drivable area when obstacles are in the drivable area.",
"default": "false"
},
"use_adjacent_lane": {
"type": "boolean",
"description": "If this parameter is true, operate comfortable stop when latent faults occur.",
"default": "false"
"description": "Extend avoidance trajectory to adjacent lanes that has same direction. If false, avoidance only happen in current lane.",
"default": "true"
},
"use_opposite_lane": {
"type": "boolean",
"description": "If this parameter is true, operate comfortable stop when latent faults occur.",
"default": "false"
"description": "Extend avoidance trajectory to opposite direction lane. `use_adjacent_lane` must be `true` to take effects.",
"default": "true"
},
"use_hatched_road_markings": {
"type": "boolean",
"description": "If this parameter is true, operate comfortable stop when latent faults occur.",
"default": "false"
"description": "Extend drivable to hatched road marking area.",
"default": "true"
},
"use_intersection_areas": {
"type": "boolean",
"description": "If this parameter is true, operate comfortable stop when latent faults occur.",
"default": "false"
"description": "Extend drivable to intersection area.",
"default": "true"
},
"use_freespace_areas": {
"type": "boolean",
"description": "If this parameter is true, operate comfortable stop when latent faults occur.",
"default": "false"
"description": "Extend drivable to freespace area.",
"default": "true"
}
},
"required": [
"resample_interval_for_planning",
"resample_interval_for_output",
"enable_bound_clipping",
"disable_path_update",
"use_adjacent_lane",
"use_opposite_lane",
"use_hatched_road_markings",
Expand Down
Loading

0 comments on commit 1076e80

Please sign in to comment.