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

feat(autoware_radar_object_tracker): Add schema files and update readme file for autoware_radar_object_tracker #10038

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
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
35 changes: 4 additions & 31 deletions perception/autoware_radar_object_tracker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,40 +39,13 @@ See more details in the [models.md](models.md).

## Parameters

### Node Parameters

| Name | Type | Default Value | Description |
| ------------------------------------ | ------ | --------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `publish_rate` | double | 10.0 | The rate at which to publish the output messages |
| `world_frame_id` | string | "map" | The frame ID of the world coordinate system |
| `enable_delay_compensation` | bool | false | Whether to enable delay compensation. If set to `true`, output topic is published by timer with `publish_rate`. |
| `tracking_config_directory` | string | "./config/tracking/" | The directory containing the tracking configuration files |
| `enable_logging` | bool | false | Whether to enable logging |
| `logging_file_path` | string | "/tmp/association_log.json" | The path to the file where logs should be written |
| `tracker_lifetime` | double | 1.0 | The lifetime of the tracker in seconds |
| `use_distance_based_noise_filtering` | bool | true | Whether to use distance based filtering |
| `minimum_range_threshold` | double | 70.0 | Minimum distance threshold for filtering in meters |
| `use_map_based_noise_filtering` | bool | true | Whether to use map based filtering |
| `max_distance_from_lane` | double | 5.0 | Maximum distance from lane for filtering in meters |
| `max_angle_diff_from_lane` | double | 0.785398 | Maximum angle difference from lane for filtering in radians |
| `max_lateral_velocity` | double | 5.0 | Maximum lateral velocity for filtering in m/s |
| `can_assign_matrix` | array | | An array of integers used in the data association algorithm |
| `max_dist_matrix` | array | | An array of doubles used in the data association algorithm |
| `max_area_matrix` | array | | An array of doubles used in the data association algorithm |
| `min_area_matrix` | array | | An array of doubles used in the data association algorithm |
| `max_rad_matrix` | array | | An array of doubles used in the data association algorithm |
| `min_iou_matrix` | array | | An array of doubles used in the data association algorithm |
{{ json_to_markdown("perception/autoware_radar_object_tracker/schema/data_association_matrix.schema.json") }}

See more details in the [models.md](models.md).

### Tracker parameters

Currently, this package supports the following trackers:
{{ json_to_markdown("perception/autoware_radar_object_tracker/schema/default_tracker.schema.json") }}

- `linear_motion_tracker`
- `constant_turn_rate_motion_tracker`
{{ json_to_markdown("perception/autoware_radar_object_tracker/schema/radar_object_tracker.schema.json") }}

Default settings for each tracker are defined in the [./config/tracking/](./config/tracking/), and described in [models.md](models.md).
{{ json_to_markdown("perception/autoware_radar_object_tracker/schema/simulation_tracker.schema.json") }}

## Assumptions / Known limits

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "autoware_radar_object_tracker parameter",
"type": "object",
"definitions": {
"autoware_radar_object_tracker": {
"type": "object",
"properties": {
"can_assign_matrix": {
"type": "array",
"description": "8x8 assignment matrix (Tracker x Measurement) with 0/1 values",
"items": {
"type": "integer",
"enum": [0, 1]
},
"minItems": 64,
"maxItems": 64,
"default": [
1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1,
0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
0, 0, 0, 1, 1, 1
]
},
"max_dist_matrix": {
"type": "array",
"description": "8x8 maximum distance matrix",
"items": {
"type": "number",
"minimum": 0
},
"minItems": 64,
"maxItems": 64,
"default": [
4.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 4.0, 8.0, 8.0, 8.0, 8.0, 1.0, 1.0, 1.0, 4.0,
6.0, 8.0, 8.0, 8.0, 1.0, 1.0, 1.0, 4.0, 6.0, 8.0, 8.0, 8.0, 1.0, 1.0, 1.0, 4.0, 6.0,
8.0, 8.0, 8.0, 1.0, 1.0, 1.0, 3.0, 1.0, 1.0, 1.0, 1.0, 3.0, 3.0, 2.0, 3.0, 1.0, 1.0,
1.0, 1.0, 3.0, 3.0, 2.0, 2.0, 1.0, 1.0, 1.0, 1.0, 3.0, 3.0, 2.0
]
},
"max_area_matrix": {
"type": "array",
"description": "8x8 maximum area matrix",
"items": {
"type": "number",
"minimum": 0
},
"minItems": 64,
"maxItems": 64,
"default": [
100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 12.1, 12.1, 36.0, 60.0, 60.0,
10000.0, 10000.0, 10000.0, 36.0, 12.1, 36.0, 60.0, 60.0, 10000.0, 10000.0, 10000.0,
60.0, 12.1, 36.0, 60.0, 60.0, 10000.0, 10000.0, 10000.0, 60.0, 12.1, 36.0, 60.0, 60.0,
10000.0, 10000.0, 10000.0, 2.5, 10000.0, 10000.0, 10000.0, 10000.0, 2.5, 2.5, 1.0, 2.5,
10000.0, 10000.0, 10000.0, 10000.0, 2.5, 2.5, 1.0, 2.0, 10000.0, 10000.0, 10000.0,
10000.0, 1.5, 1.5, 1.0
]
},
"min_area_matrix": {
"type": "array",
"description": "8x8 minimum area matrix",
"items": {
"type": "number",
"minimum": 0
},
"minItems": 64,
"maxItems": 64,
"default": [
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.6, 3.6, 6.0, 10.0, 10.0, 0.0, 0.0, 0.0, 6.0,
3.6, 6.0, 10.0, 10.0, 0.0, 0.0, 0.0, 10.0, 3.6, 6.0, 10.0, 10.0, 0.0, 0.0, 0.0, 10.0,
3.6, 6.0, 10.0, 10.0, 0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.1, 0.001,
0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.1, 0.001, 0.0, 0.0, 0.0, 0.0, 0.1, 0.1, 0.1
]
},
"max_rad_matrix": {
"type": "array",
"description": "8x8 maximum radius matrix",
"items": {
"type": "number",
"minimum": 0
},
"minItems": 64,
"maxItems": 64,
"default": [
3.15, 3.15, 3.15, 3.15, 3.15, 3.15, 3.15, 3.15, 3.15, 1.047, 1.047, 1.047, 1.047, 3.15,
3.15, 3.15, 3.15, 1.047, 1.047, 1.047, 1.047, 3.15, 3.15, 3.15, 3.15, 1.047, 1.047,
1.047, 1.047, 3.15, 3.15, 3.15, 3.15, 1.047, 1.047, 1.047, 1.047, 3.15, 3.15, 3.15,
3.15, 3.15, 3.15, 3.15, 3.15, 3.15, 3.15, 3.15, 3.15, 3.15, 3.15, 3.15, 3.15, 3.15,
3.15, 3.15, 3.15, 3.15, 3.15, 3.15, 3.15, 3.15, 3.15, 3.15
]
},
"min_iou_matrix": {
"type": "array",
"description": "8x8 minimum IoU matrix",
"items": {
"type": "number"
},
"minItems": 64,
"maxItems": 64,
"default": [
0.0001, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, -0.1, 0.2, 0.2, 0.2, 0.1, 0.1, 0.1, 0.1,
0.2, 0.3, 0.3, 0.3, 0.1, 0.1, 0.1, 0.1, 0.2, 0.3, 0.3, 0.3, 0.1, 0.1, 0.1, 0.1, 0.2,
0.3, 0.3, 0.3, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.0001
]
},
"car_tracker": {
"type": "string",
"description": "Tracker type for cars",
"default": "pass_through_tracker"
},
"truck_tracker": {
"type": "string",
"description": "Tracker type for trucks",
"default": "pass_through_tracker"
},
"bus_tracker": {
"type": "string",
"description": "Tracker type for buses",
"default": "pass_through_tracker"
},
"pedestrian_tracker": {
"type": "string",
"description": "Tracker type for pedestrians",
"default": "pass_through_tracker"
},
"bicycle_tracker": {
"type": "string",
"description": "Tracker type for bicycles",
"default": "pass_through_tracker"
},
"motorcycle_tracker": {
"type": "string",
"description": "Tracker type for motorcycles",
"default": "pass_through_tracker"
}
},
"required": [
"can_assign_matrix",
"max_dist_matrix",
"max_area_matrix",
"min_area_matrix",
"max_rad_matrix",
"min_iou_matrix",
"car_tracker",
"truck_tracker",
"bus_tracker",
"pedestrian_tracker",
"bicycle_tracker",
"motorcycle_tracker"
],
"additionalProperties": false
}
},
"properties": {
"/**": {
"type": "object",
"properties": {
"ros__parameters": {
"$ref": "#/definitions/autoware_radar_object_tracker"
}
},
"required": ["ros__parameters"],
"additionalProperties": false
}
},
"required": ["/**"],
"additionalProperties": false
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "autoware_radar_object_tracker parameters",
"type": "object",
"definitions": {
"autoware_radar_object_tracker": {
"type": "object",
"properties": {
"car_tracker": {
"type": "string",
"description": "Tracker type for cars",
"default": "constant_turn_rate_motion_tracker"
},
"truck_tracker": {
"type": "string",
"description": "Tracker type for trucks",
"default": "constant_turn_rate_motion_tracker"
},
"bus_tracker": {
"type": "string",
"description": "Tracker type for buses",
"default": "constant_turn_rate_motion_tracker"
},
"trailer_tracker": {
"type": "string",
"description": "Tracker type for trailers",
"default": "constant_turn_rate_motion_tracker"
},
"pedestrian_tracker": {
"type": "string",
"description": "Tracker type for pedestrians",
"default": "constant_turn_rate_motion_tracker"
},
"bicycle_tracker": {
"type": "string",
"description": "Tracker type for bicycles",
"default": "constant_turn_rate_motion_tracker"
},
"motorcycle_tracker": {
"type": "string",
"description": "Tracker type for motorcycles",
"default": "constant_turn_rate_motion_tracker"
}
},
"required": [
"car_tracker",
"truck_tracker",
"bus_tracker",
"trailer_tracker",
"pedestrian_tracker",
"bicycle_tracker",
"motorcycle_tracker"
],
"additionalProperties": false
}
},
"properties": {
"/**": {
"type": "object",
"properties": {
"ros__parameters": {
"$ref": "#/definitions/autoware_radar_object_tracker"
}
},
"required": ["ros__parameters"],
"additionalProperties": false
}
},
"required": ["/**"],
"additionalProperties": false
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "autoware_radar_object_tracker parameter",
"type": "object",
"definitions": {
"autoware_radar_object_tracker ": {
"type": "object",
"properties": {
"world_frame_id": {
"type": "string",
"description": "The frame ID of the world coordinate.",
"default": "map"
},
"tracker_lifetime": {
"type": "number",
"description": "The lifetime of the tracker in seconds.",
"default": 1.0
},
"measurement_count_threshold": {
"type": "integer",
"description": "The number of measurements required to publish an object.",
"default": 3
},
"publish_rate": {
"type": "number",
"description": "The rate at which to publish the output.",
"default": 10.0
},
"enable_delay_compensation": {
"type": "boolean",
"description": "Whether to enable delay compensation.",
"default": true
},
"enable_logging": {
"type": "boolean",
"description": "Whether to enable logging.",
"default": false
},
"logging_file_path": {
"type": "string",
"description": "The path to the file where logs should be written.",
"default": "/tmp/association_log.json"
},
"use_distance_based_noise_filtering": {
"type": "boolean",
"description": "Whether to enable distance-based noise filtering.",
"default": true
},
"minimum_range_threshold": {
"type": "number",
"description": "Minimum distance threshold for filtering in meters.",
"default": 60.0
},
"use_map_based_noise_filtering": {
"type": "boolean",
"description": "Whether to enable map-based noise filtering.",
"default": true
},
"max_distance_from_lane": {
"type": "number",
"description": "The maximum allowable distance from a lane for filtering, in meters.",
"default": 5.0
},
"max_angle_diff_from_lane": {
"type": "number",
"description": "The maximum angle difference from a lane for filtering, in radians.",
"default": 0.785398
},
"max_lateral_velocity": {
"type": "number",
"description": "The maximum lateral velocity for filtering, in meters per second.",
"default": 7.0
},
"tracking_config_directory": {
"type": "string",
"description": "The directory containing the tracking configuration.",
"default": "$(find-pkg-share radar_object_tracker)/config/tracking/"
}
},
"required": [
"world_frame_id",
"tracker_lifetime",
"measurement_count_threshold",
"publish_rate",
"enable_delay_compensation",
"enable_logging",
"logging_file_path",
"use_distance_based_noise_filtering",
"minimum_range_threshold",
"use_map_based_noise_filtering",
"max_distance_from_lane",
"max_angle_diff_from_lane",
"max_lateral_velocity",
"tracking_config_directory"
],
"additionalProperties": false
}
},
"properties": {
"/**": {
"type": "object",
"properties": {
"ros__parameters": {
"$ref": "#/definitions/autoware_radar_object_tracker "
}
},
"required": ["ros__parameters"],
"additionalProperties": false
}
},
"required": ["/**"],
"additionalProperties": false
}
Loading
Loading