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(radar_object_tracker): add radar tracking sanitizer using lanelet information #4920

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
6bd6030
init package: migrate from object merger
YoshiRi Jul 14, 2023
19f21b1
add node outline and check build passed
YoshiRi Jul 14, 2023
cc0cdb9
add util functions to interpolate tracked objs
YoshiRi Jul 18, 2023
77355cf
add object merger function using interpolation
YoshiRi Jul 18, 2023
3abe1d2
create object merger utils
YoshiRi Jul 18, 2023
00bf81a
add kinematics velocity merger
YoshiRi Jul 19, 2023
7ae26d6
add association and merger
YoshiRi Jul 19, 2023
ccf3251
rename perception_utils to object_recognition_utils
YoshiRi Jul 20, 2023
740c2fa
add comment and complete main subscriber
YoshiRi Jul 20, 2023
d58f63d
add parameter control and rename some executable files
YoshiRi Jul 20, 2023
1336698
refactoring: fix apparent bugs
YoshiRi Jul 21, 2023
ab069c3
add debug tools to check association
YoshiRi Jul 21, 2023
b707c89
temporary fix: radar tracker node name to anon
YoshiRi Jul 26, 2023
bf2624f
debug: data association tuning
YoshiRi Jul 26, 2023
8c399c9
rename copyright and add merger util function
YoshiRi Jul 27, 2023
ea4c1aa
add tracker_state and update association
YoshiRi Jul 31, 2023
4012db7
update decorative tracker by using tracker_state
YoshiRi Jul 31, 2023
e4c2f07
update system around measurement state function
YoshiRi Aug 7, 2023
90d0f17
fix radar object not merged problem
YoshiRi Aug 7, 2023
2287271
add existence probability control
YoshiRi Aug 8, 2023
9fad0fc
create const function
YoshiRi Aug 16, 2023
9a84592
change association settings depend on measurement and tracker state
YoshiRi Aug 16, 2023
5d1228a
fix association matrix
YoshiRi Aug 26, 2023
7e80ee9
put hardcoded node parameter to yaml file
YoshiRi Aug 31, 2023
4327fc4
move tracker state parameter to yaml file
YoshiRi Aug 31, 2023
6fbc795
remove prediction failed objects
YoshiRi Aug 31, 2023
4588b65
fix bug when none closest time sub objects found
YoshiRi Aug 31, 2023
d4b2a05
add velocity diff gate in association
YoshiRi Sep 4, 2023
611c6ba
fix object interpolation problem
YoshiRi Sep 4, 2023
b559a80
use fixed object interpolation
YoshiRi Sep 4, 2023
ab95f6d
add README
YoshiRi Sep 4, 2023
8fcea36
add interpolated sub object publisher for debug
YoshiRi Sep 4, 2023
8344e8a
add debug message and fix interpolation
YoshiRi Sep 4, 2023
418f087
update README
YoshiRi Sep 4, 2023
6e37d13
fix unintended changes in radar tracking launch
YoshiRi Sep 4, 2023
c3bbe2a
refactor: put node parameter to config yaml file
YoshiRi Sep 4, 2023
96453dd
use lane information and distance information to filter outliers
YoshiRi Sep 7, 2023
c0421ad
enable to tune tracker lifetime
YoshiRi Sep 9, 2023
c31f761
update readme documents
YoshiRi Sep 9, 2023
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
44 changes: 27 additions & 17 deletions perception/radar_object_tracker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@ See more details in the [models.md](models.md).

### Input

| Name | Type | Description |
| --------- | ----------------------------------------------------- | ---------------- |
| `~/input` | `autoware_auto_perception_msgs::msg::DetectedObjects` | Detected objects |
| Name | Type | Description |
| ------------- | ----------------------------------------------------- | ---------------- |
| `~/input` | `autoware_auto_perception_msgs::msg::DetectedObjects` | Detected objects |
| `/vector/map` | `autoware_auto_msgs::msg::HADMapBin` | Map data |

### Output

Expand All @@ -40,20 +41,29 @@ See more details in the [models.md](models.md).

### Node Parameters

| Name | Type | Default Value | Description |
| --------------------------- | ------ | ----------------------------- | ----------------------------------------------------------- |
| `publish_rate` | double | 30.0 | The rate at which to publish the output messages |
| `world_frame_id` | string | "world" | The frame ID of the world coordinate system |
| `enable_delay_compensation` | bool | false | Whether to enable delay compensation |
| `tracking_config_directory` | string | "" | The directory containing the tracking configuration files |
| `enable_logging` | bool | false | Whether to enable logging |
| `logging_file_path` | string | "~/.ros/association_log.json" | The path to the file where logs should be written |
| `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 |
| 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 | "" | 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 |

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

## Assumptions / Known limits

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# general parameters for radar_object_tracker node
/**:
ros__parameters:
# basic settings
world_frame_id: "map"
tracker_lifetime: 1.0 # [sec]
# if empty, use default config declared in this package
tracking_config_directory: ""

# delay compensate parameters
publish_rate: 10.0
enable_delay_compensation: false

# logging
enable_logging: false
logging_file_path: "/tmp/association_log.json"

# filtering
## 1. distance based filtering: remove closer objects than this threshold
use_distance_based_noise_filtering: true
minimum_range_threshold: 70.0 # [m]

## 2. lanelet map based filtering
use_map_based_noise_filtering: true
max_distance_from_lane: 5.0 # [m]
max_angle_diff_from_lane: 0.785398 # [rad] (45 deg)
max_lateral_velocity: 5.0 # [m/s]
Loading