Skip to content

Commit 6405516

Browse files
scepter914pre-commit-ci[bot]HansRobo
authored
chore(radar_fusion_to_detected_object): fix README (#6261)
* chore(radar_fusion_to_detected_object): fix README Signed-off-by: scepter914 <scepter914@gmail.com> * style(pre-commit): autofix --------- Signed-off-by: scepter914 <scepter914@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Kotaro Yoshimoto <pythagora.yoshimoto@gmail.com>
1 parent 069fb5e commit 6405516

File tree

1 file changed

+92
-34
lines changed
  • perception/radar_fusion_to_detected_object

1 file changed

+92
-34
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,100 @@
11
# radar_fusion_to_detected_object
22

3-
This package contains a sensor fusion module for radar-detected objects and 3D detected objects. The fusion node can:
3+
This package contains a sensor fusion module for radar-detected objects and 3D detected objects.
4+
5+
The fusion node can:
46

57
- Attach velocity to 3D detections when successfully matching radar data. The tracking modules use the velocity information to enhance the tracking results while planning modules use it to execute actions like adaptive cruise control.
68
- Improve the low confidence 3D detections when corresponding radar detections are found.
79

810
![process_low_confidence](docs/radar_fusion_to_detected_object_6.drawio.svg)
911

10-
## Core algorithm
12+
## Design
13+
14+
### Background
15+
16+
This package is the fusion with LiDAR-based 3D detection output and radar data.
17+
LiDAR based 3D detection can estimate position and size of objects with high precision, but it cannot estimate velocity of objects.
18+
Radar data can estimate doppler velocity of objects, but it cannot estimate position and size of objects with high precision
19+
This fusion package is aim to fuse these characteristic data, and to estimate position, size, velocity of objects with high precision.
20+
21+
### Algorithm
1122

1223
The document of core algorithm is [here](docs/algorithm.md)
1324

25+
## Interface for core algorithm
26+
27+
The parameters for core algorithm can be set as `core_params`.
28+
1429
### Parameters for sensor fusion
1530

16-
| Name | Type | Description | Default value |
17-
| :----------------------- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------ |
18-
| bounding_box_margin | double | The distance to extend the 2D bird's-eye view Bounding Box on each side. This distance is used as a threshold to find radar centroids falling inside the extended box. [m] | 2.0 |
19-
| split_threshold_velocity | double | The object's velocity threshold to decide to split for two objects from radar information (currently not implemented) [m/s] | 5.0 |
20-
| threshold_yaw_diff | double | The yaw orientation threshold. If ∣ θ_ob − θ_ra ∣ < threshold × yaw_diff attached to radar information include estimated velocity, where*θob*is yaw angle from 3d detected object,\*θ_ra is yaw angle from radar object. [rad] | 0.35 |
31+
- `bounding_box_margin` (double) [m]
32+
- Default parameter is 2.0.
33+
34+
This parameter is the distance to extend the 2D bird's-eye view bounding box on each side.
35+
This parameter is used as a threshold to find radar centroids falling inside the extended box.
36+
37+
- `split_threshold_velocity` (double) [m/s]
38+
- Default parameter is 5.0.
39+
40+
This parameter is the object's velocity threshold to decide to split for two objects from radar information.
41+
Note that this feature is not currently implemented.
42+
43+
- `threshold_yaw_diff` (double) [rad]
44+
- Default parameter is 0.35.
45+
46+
This parameter is the yaw orientation threshold.
47+
If the difference of yaw degree between from a LiDAR-based detection object and radar velocity, radar information is attached to output objects.
2148

2249
### Weight parameters for velocity estimation
2350

2451
To tune these weight parameters, please see [document](docs/algorithm.md) in detail.
2552

26-
| Name | Type | Description | Default value |
27-
| :----------------------------------- | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------ |
28-
| velocity_weight_average | double | The twist coefficient of average twist of radar data in velocity estimation. | 0.0 |
29-
| velocity_weight_median | double | The twist coefficient of median twist of radar data in velocity estimation. | 0.0 |
30-
| velocity_weight_min_distance | double | The twist coefficient of radar data nearest to the center of bounding box in velocity estimation. | 1.0 |
31-
| velocity_weight_target_value_average | double | The twist coefficient of target value weighted average in velocity estimation. Target value is amplitude if using radar pointcloud. Target value is probability if using radar objects. |
32-
| 0.0 |
33-
| velocity_weight_target_value_top | double | The twist coefficient of top target value radar data in velocity estimation. Target value is amplitude if using radar pointcloud. Target value is probability if using radar objects. | 0.0 |
53+
- `velocity_weight_average` (double)
54+
- Default parameter is 0.0.
55+
56+
This parameter is the twist coefficient of average twist of radar data in velocity estimation.
57+
58+
- `velocity_weight_median` (double)
59+
- Default parameter is 0.0.
60+
61+
This parameter is the twist coefficient of median twist of radar data in velocity estimation.
62+
63+
- `velocity_weight_min_distance` (double)
64+
- Default parameter is 1.0.
65+
66+
This parameter is the twist coefficient of radar data nearest to the center of bounding box in velocity estimation.
67+
68+
- `velocity_weight_target_value_average` (double)
69+
- Default parameter is 0.0.
70+
71+
This parameter is the twist coefficient of target value weighted average in velocity estimation. Target value is amplitude if using radar pointcloud. Target value is probability if using radar objects.
72+
73+
- `velocity_weight_target_value_top` (double)
74+
- Default parameter is 0.0.
75+
76+
This parameter is the twist coefficient of top target value radar data in velocity estimation. Target value is amplitude if using radar pointcloud. Target value is probability if using radar objects.
3477

3578
### Parameters for fixed object information
3679

37-
| Name | Type | Description | Default value |
38-
| :----------------------- | :---- | :----------------------------------------------------------------------------------------------------------------------------------------------------- | :------------ |
39-
| convert_doppler_to_twist | bool | Convert doppler velocity to twist using the yaw information of a detected object. | false |
40-
| threshold_probability | float | If the probability of an output object is lower than this parameter, and the output object does not have radar points/objects, then delete the object. | 0.4 |
41-
| compensate_probability | bool | If this parameter is true, compensate probability of objects to threshold probability. | false |
80+
- `convert_doppler_to_twist` (bool)
81+
- Default parameter is false.
82+
83+
This parameter is the flag whether convert doppler velocity to twist using the yaw information of a detected object.
4284

43-
## radar_object_fusion_to_detected_object
85+
- `threshold_probability` (float)
86+
- Default parameter is 0.4.
87+
88+
This parameter is the threshold to filter output objects.
89+
If the probability of an output object is lower than this parameter, and the output object does not have radar points/objects, then delete the object.
90+
91+
- `compensate_probability` (bool)
92+
- Default parameter is false.
93+
94+
This parameter is the flag to use probability compensation.
95+
If this parameter is true, compensate probability of objects to threshold probability.
96+
97+
## Interface for radar_object_fusion_to_detected_object
4498

4599
Sensor fusion with radar objects and a detected object.
46100

@@ -56,24 +110,28 @@ ros2 launch radar_fusion_to_detected_object radar_object_to_detected_object.laun
56110

57111
### Input
58112

59-
| Name | Type | Description |
60-
| ----------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------- |
61-
| `~/input/objects` | autoware_auto_perception_msgs/msg/DetectedObject.msg | 3D detected objects. |
62-
| `~/input/radar_objects` | autoware_auto_perception_msgs/msg/DetectedObjects.msg | Radar objects. Note that frame_id need to be same as `~/input/objects` |
113+
- `~/input/objects` (`autoware_auto_perception_msgs/msg/DetectedObjects.msg`)
114+
- 3D detected objects.
115+
- `~/input/radar_objects` (`autoware_auto_perception_msgs/msg/DetectedObjects.msg`)
116+
- Radar objects. Note that frame_id need to be same as `~/input/objects`
63117

64118
### Output
65119

66-
| Name | Type | Description |
67-
| -------------------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------- |
68-
| `~/output/objects` | autoware_auto_perception_msgs/msg/DetectedObjects.msg | 3D detected object with twist. |
69-
| `~/debug/low_confidence_objects` | autoware_auto_perception_msgs/msg/DetectedObjects.msg | 3D detected object that doesn't output as `~/output/objects` because of low confidence |
120+
- `~/output/objects` (`autoware_auto_perception_msgs/msg/DetectedObjects.msg`)
121+
- 3D detected object with twist.
122+
- `~/debug/low_confidence_objects` (`autoware_auto_perception_msgs/msg/DetectedObjects.msg`)
123+
- 3D detected object that doesn't output as `~/output/objects` because of low confidence
70124

71125
### Parameters
72126

73-
| Name | Type | Description | Default value |
74-
| :------------- | :----- | :-------------------- | :------------ |
75-
| update_rate_hz | double | The update rate [hz]. | 20.0 |
127+
The parameters for core algorithm can be set as `node_params`.
128+
129+
- `update_rate_hz` (double) [hz]
130+
- Default parameter is 20.0
131+
132+
This parameter is update rate for the `onTimer` function.
133+
This parameter should be same as the frame rate of input topics.
76134

77-
## radar_scan_fusion_to_detected_object (TBD)
135+
## Interface for radar_scan_fusion_to_detected_object (TBD)
78136

79-
TBD
137+
Under implement

0 commit comments

Comments
 (0)