Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(autoware_pointcloud_preprocessor): rework parameters #8297

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/**:
ros__parameters:
voxel_size_x: 0.3
voxel_size_y: 0.3
voxel_size_z: 0.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/**:
ros__parameters:
input_twist_topic_type: "twist"
output_frame: ""
input_topics: [""]
max_queue_size: 5
timeout_sec: 0.1
input_offset: {}
publish_synchronized_pointcloud: true
keep_input_frame_in_synchronized_pointcloud: true
synchronized_pointcloud_postfix: "pointcloud"
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/**:
ros__parameters:
output_frame: ""
input_topics: [""]
max_queue_size: 5
timeout_sec: 0.033
input_offset: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/**:
ros__parameters:
min_x: -1.0
min_y: -1.0
min_z: -1.0
max_x: 1.0
max_y: 1.0
max_z: 1.0
negative: false
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/**:
ros__parameters:
x_max: 18.0
x_min: -12.0
y_max: 2.0
y_min: -2.0
z_max: 10.0
z_min: 0.0
min_azimuth_deg: 135.0
max_azimuth_deg: 225.0
max_distance: 12.0
vertical_bins: 128
max_azimuth_diff: 50.0
weak_first_distance_ratio: 1.004
general_distance_ratio: 1.03
weak_first_local_noise_threshold: 2
roi_mode: "Fixed_xyz_ROI"
visibility_error_threshold: 0.5
visibility_warn_threshold: 0.7
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/**:
ros__parameters:
input_frame: ""
output_frame: ""
max_queue_size: 5
use_indices: false
latched_indices: false
approximate_sync: false
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/**:
ros__parameters:
voxel_size_x: 0.04
voxel_size_y: 0.04
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/**:
ros__parameters:
filter_limit_min: 0
filter_limit_max: 127
filter_field_name: "ring"
keep_organized: false
filter_limit_negative: false
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/**:
ros__parameters:
voxel_size_x: 1.0
voxel_size_y: 1.0
voxel_size_z: 1.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/**:
ros__parameters:
accumulation_time_sec: 2.0
pointcloud_buffer_size: 50
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/**:
ros__parameters:
min_neighbors: 5
search_radius: 0.2
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/**:
ros__parameters:
sample_num: 1500
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/**:
ros__parameters:
distance_ratio: 1.03
object_length_threshold: 0.1
num_points_threshold: 4
max_rings_num: 128
max_points_num_per_ring: 4000
publish_outlier_pointcloud: false
min_azimuth_deg: 0.0
max_azimuth_deg: 360.0
max_distance: 12.0
vertical_bins: 128
horizontal_bins: 36
noise_threshold: 2
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/**:
ros__parameters:
input_twist_topic_type: "twist"
output_frame: ""
keep_input_frame_in_synchronized_pointcloud: false
input_topics: [""]
synchronized_pointcloud_postfix: "pointcloud"
max_queue_size: 5
timeout_sec: 0.1
input_offset: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/**:
ros__parameters:
polygon_type: "no_obstacle_segmentation_area"
use_z_filter: false
z_threshold: 0.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/**:
ros__parameters:
voxel_size_x: 0.3
voxel_size_y: 0.3
voxel_size_z: 0.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/**:
ros__parameters:
voxel_size_x: 0.3
voxel_size_y: 0.3
voxel_size_z: 0.1
voxel_points_threshold: 2
19 changes: 1 addition & 18 deletions sensing/autoware_pointcloud_preprocessor/docs/blockage_diag.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,24 +51,7 @@ This implementation inherits `autoware::pointcloud_preprocessor::Filter` class,

## Parameters

| Name | Type | Description |
| ----------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------- |
| `blockage_ratio_threshold` | float | The threshold of blockage area ratio.If the blockage value exceeds this threshold, the diagnostic state will be set to ERROR. |
| `blockage_count_threshold` | float | The threshold of number continuous blockage frames |
| `horizontal_ring_id` | int | The id of horizontal ring of the LiDAR |
| `angle_range` | vector | The effective range of LiDAR |
| `vertical_bins` | int | The LiDAR channel number |
| `is_channel_order_top2down` | bool | If the lidar channels are indexed from top to down |
| `blockage_buffering_frames` | int | The number of buffering about blockage detection [range:1-200] |
| `blockage_buffering_interval` | int | The interval of buffering about blockage detection |
| `dust_ratio_threshold` | float | The threshold of dusty area ratio |
| `dust_count_threshold` | int | The threshold of number continuous frames include dusty area |
| `blockage_kernel` | int | The kernel size of morphology processing the detected blockage area |
| `dust_kernel_size` | int | The kernel size of morphology processing in dusty area detection |
| `dust_buffering_frames` | int | The number of buffering about dusty area detection [range:1-200] |
| `dust_buffering_interval` | int | The interval of buffering about dusty area detection |
| `max_distance_range` | double | Maximum view range for the LiDAR |
| `horizontal_resolution` | double | The horizontal resolution of depth map image [deg/pixel] |
{{ json_to_markdown("sensing/autoware_pointcloud_preprocessor/schema/blockage_diag.schema.json") }}

## Assumptions / Known limits

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,7 @@ This implementation inherit `autoware::pointcloud_preprocessor::Filter` class, p

### Core Parameters

| Name | Type | Default Value | Description |
| ------- | ------ | ------------- | ----------------------------------------- |
| `min_x` | double | -1.0 | x-coordinate minimum value for crop range |
| `max_x` | double | 1.0 | x-coordinate maximum value for crop range |
| `min_y` | double | -1.0 | y-coordinate minimum value for crop range |
| `max_y` | double | 1.0 | y-coordinate maximum value for crop range |
| `min_z` | double | -1.0 | z-coordinate minimum value for crop range |
| `max_z` | double | 1.0 | z-coordinate maximum value for crop range |
{{ json_to_markdown("sensing/autoware_pointcloud_preprocessor/schema/crop_box_filter.schema.json") }}

## Assumptions / Known limits

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,33 +36,19 @@ These implementations inherit `autoware::pointcloud_preprocessor::Filter` class,

#### Approximate Downsample Filter

| Name | Type | Default Value | Description |
| -------------- | ------ | ------------- | ---------------- |
| `voxel_size_x` | double | 0.3 | voxel size x [m] |
| `voxel_size_y` | double | 0.3 | voxel size y [m] |
| `voxel_size_z` | double | 0.1 | voxel size z [m] |
{{ json_to_markdown("sensing/autoware_pointcloud_preprocessor/schema/approximate_downsample_filter.schema.json") }}

### Random Downsample Filter

| Name | Type | Default Value | Description |
| ------------ | ---- | ------------- | ------------------------------- |
| `sample_num` | int | 1500 | number of indices to be sampled |
{{ json_to_markdown("sensing/autoware_pointcloud_preprocessor/schema/random_downsample_filter.schema.json") }}

### Voxel Grid Downsample Filter

| Name | Type | Default Value | Description |
| -------------- | ------ | ------------- | ---------------- |
| `voxel_size_x` | double | 0.3 | voxel size x [m] |
| `voxel_size_y` | double | 0.3 | voxel size y [m] |
| `voxel_size_z` | double | 0.1 | voxel size z [m] |
{{ json_to_markdown("sensing/autoware_pointcloud_preprocessor/schema/voxel_grid_downsample_filter.schema.json") }}

### Pickup Based Voxel Grid Downsample Filter

| Name | Type | Default Value | Description |
| -------------- | ------ | ------------- | ---------------- |
| `voxel_size_x` | double | 1.0 | voxel size x [m] |
| `voxel_size_y` | double | 1.0 | voxel size y [m] |
| `voxel_size_z` | double | 1.0 | voxel size z [m] |
{{ json_to_markdown("sensing/autoware_pointcloud_preprocessor/schema/pickup_based_voxel_grid_downsample_filter.schema.json") }}

## Assumptions / Known limits

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,25 +50,7 @@ This implementation inherits `autoware::pointcloud_preprocessor::Filter` class,

### Core Parameters

| Name | Type | Description |
| ---------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------- |
| `vertical_bins` | int | The number of vertical bin for visibility histogram |
| `max_azimuth_diff` | float | Threshold for ring_outlier_filter |
| `weak_first_distance_ratio` | double | Threshold for ring_outlier_filter |
| `general_distance_ratio` | double | Threshold for ring_outlier_filter |
| `weak_first_local_noise_threshold` | int | The parameter for determining whether it is noise |
| `visibility_error_threshold` | float | When the percentage of white pixels in the binary histogram falls below this parameter the diagnostic status becomes ERR |
| `visibility_warn_threshold` | float | When the percentage of white pixels in the binary histogram falls below this parameter the diagnostic status becomes WARN |
| `roi_mode` | string | The name of ROI mode for switching |
| `min_azimuth_deg` | float | The left limit of azimuth for `Fixed_azimuth_ROI` mode |
| `max_azimuth_deg` | float | The right limit of azimuth for `Fixed_azimuth_ROI` mode |
| `max_distance` | float | The limit distance for for `Fixed_azimuth_ROI` mode |
| `x_max` | float | Maximum of x for `Fixed_xyz_ROI` mode |
| `x_min` | float | Minimum of x for `Fixed_xyz_ROI` mode |
| `y_max` | float | Maximum of y for `Fixed_xyz_ROI` mode |
| `y_min` | float | Minimum of y for `Fixed_xyz_ROI` mode |
| `z_max` | float | Maximum of z for `Fixed_xyz_ROI` mode |
| `z_min` | float | Minimum of z for `Fixed_xyz_ROI` mode |
{{ json_to_markdown("sensing/autoware_pointcloud_preprocessor/schema/dual_return_outlier_filter.schema.json") }}

## Assumptions / Known limits

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,7 @@ The `passthrough_filter` is a node that removes points on the outside of a range

### Core Parameters

| Name | Type | Default Value | Description |
| ----------------------- | ------ | ------------- | ------------------------------------------------------ |
| `filter_limit_min` | int | 0 | minimum allowed field value |
| `filter_limit_max` | int | 127 | maximum allowed field value |
| `filter_field_name` | string | "ring" | filtering field name |
| `keep_organized` | bool | false | flag to keep indices structure |
| `filter_limit_negative` | bool | false | flag to return whether the data is inside limit or not |
{{ json_to_markdown("sensing/autoware_pointcloud_preprocessor/schema/passthrough_filter.schema.json") }}

## Assumptions / Known limits

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,7 @@ The `pointcloud_accumulator` is a node that accumulates pointclouds for a given

### Core Parameters

| Name | Type | Default Value | Description |
| ------------------------ | ------ | ------------- | ----------------------- |
| `accumulation_time_sec` | double | 2.0 | accumulation period [s] |
| `pointcloud_buffer_size` | int | 50 | buffer size |
{{ json_to_markdown("sensing/autoware_pointcloud_preprocessor/schema/pointcloud_accumulator.schema.json") }}

## Assumptions / Known limits

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,7 @@ This implementation inherits `autoware::pointcloud_preprocessor::Filter` class,

### Core Parameters

| Name | Type | Description |
| --------------- | ------ | ------------------------------------------------------------------------------------------------------------------------ |
| `min_neighbors` | int | If points in the circle centered on reference point is less than `min_neighbors`, a reference point is judged as outlier |
| `search_radius` | double | Searching number of points included in `search_radius` |
{{ json_to_markdown("sensing/autoware_pointcloud_preprocessor/schema/radius_search_2d_outlier_filter.schema.json") }}

## Assumptions / Known limits

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,20 +56,7 @@ This implementation inherits `autoware::pointcloud_preprocessor::Filter` class,

### Core Parameters

| Name | Type | Default Value | Description |
| ---------------------------- | ------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `distance_ratio` | double | 1.03 | |
| `object_length_threshold` | double | 0.1 | |
| `num_points_threshold` | int | 4 | |
| `max_rings_num` | uint_16 | 128 | |
| `max_points_num_per_ring` | size_t | 4000 | Set this value large enough such that `HFoV / resolution < max_points_num_per_ring` |
| `publish_outlier_pointcloud` | bool | false | Flag to publish outlier pointcloud and visibility score. Due to performance concerns, please set to false during experiments. |
| `min_azimuth_deg` | float | 0.0 | The left limit of azimuth for visibility score calculation |
| `max_azimuth_deg` | float | 360.0 | The right limit of azimuth for visibility score calculation |
| `max_distance` | float | 12.0 | The limit distance for visibility score calculation |
| `vertical_bins` | int | 128 | The number of vertical bin for visibility histogram |
| `horizontal_bins` | int | 36 | The number of horizontal bin for visibility histogram |
| `noise_threshold` | int | 2 | The threshold value for distinguishing noise from valid points in the frequency image |
{{ json_to_markdown("sensing/autoware_pointcloud_preprocessor/schema/ring_outlier_filter.schema.json") }}

## Assumptions / Known limits

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,7 @@ The `vector_map_filter` is a node that removes points on the outside of lane by

### Core Parameters

| Name | Type | Default Value | Description |
| -------------- | ------ | ------------- | ----------- |
| `voxel_size_x` | double | 0.04 | voxel size |
| `voxel_size_y` | double | 0.04 | voxel size |
{{ json_to_markdown("sensing/autoware_pointcloud_preprocessor/schema/lanelet2_map_filter.schema.json") }}

## Assumptions / Known limits

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,6 @@ This implementation inherits `autoware::pointcloud_preprocessor::Filter` class,

### Core Parameters

| Name | Type | Description |
| -------------- | ------ | --------------------------- |
| `polygon_type` | string | polygon type to be filtered |
| `use_z` | bool | use z value for filtering |
| `z_threshold` | float | z threshold for filtering |
{{ json_to_markdown("sensing/autoware_pointcloud_preprocessor/schema/vector_map_inside_area_filter.schema.json") }}

## Assumptions / Known limits
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,7 @@ This implementation inherits `autoware::pointcloud_preprocessor::Filter` class,

### Core Parameters

| Name | Type | Default Value | Description |
| ------------------------ | ------ | ------------- | ------------------------------------------ |
| `voxel_size_x` | double | 0.3 | the voxel size along x-axis [m] |
| `voxel_size_y` | double | 0.3 | the voxel size along y-axis [m] |
| `voxel_size_z` | double | 0.1 | the voxel size along z-axis [m] |
| `voxel_points_threshold` | int | 2 | the minimum number of points in each voxel |
{{ json_to_markdown("sensing/autoware_pointcloud_preprocessor/schema/voxel_grid_outlier_filter.schema.json") }}

## Assumptions / Known limits

Expand Down
Loading
Loading