You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: perception/image_projection_based_fusion/README.md
+47-1
Original file line number
Diff line number
Diff line change
@@ -6,9 +6,55 @@ The `image_projection_based_fusion` is a package to fuse detected obstacles (bou
6
6
7
7
## Inner-workings / Algorithms
8
8
9
-
Detail description of each fusion's algorithm is in the following links.
9
+
### Sync Algorithm
10
+
11
+
#### matching
12
+
13
+
The offset between each camera and the lidar is set according to their shutter timing.
14
+
After applying the offset to the timestamp, if the interval between the timestamp of pointcloud topic and the roi message is less than the match threshold, the two messages are matched.
15
+
16
+

17
+
18
+
current default value at autoware.universe for TIER IV Robotaxi are: - input_offset_ms: [61.67, 111.67, 45.0, 28.33, 78.33, 95.0] - match_threshold_ms: 30.0
19
+
20
+
#### fusion and timer
21
+
22
+

23
+
24
+
The subscription status of the message is signed with 'O'.
25
+
1.if a pointcloud message is subscribed under the below condition:
26
+
|| pointcloud | roi msg 1 | roi msg 2 | roi msg 3 |
If the roi msg 3 is subscribed before the next pointcloud messge coming or timeout, fuse it if matched, otherwise wait for the next roi msg 3.
44
+
If the roi msg 3 is not subscribed before the next pointcloud messge coming or timeout, postprocess the pointcloud messege as it is.
45
+
46
+
The timeout threshold should be set according to the postprocessing time.
47
+
E.g, if the postprocessing time is around 50ms, the timeout threshold should be set smaller than 50ms, so that the whole processing time could be less than 100ms.
48
+
current default value at autoware.universe for XX1: - timeout_ms: 50.0
49
+
50
+
#### Known Limits
51
+
52
+
The rclcpp::TimerBase timer could not break a for loop, therefore even if time is out when fusing a roi msg at the middle, the program will run until all msgs are fused.
53
+
54
+
### Detail description of each fusion's algorithm is in the following links
| roi_cluster_fusion | Overwrite a classification label of clusters by that of ROIs from a 2D object detector. |[link](./docs/roi-cluster-fusion.md)|
14
59
| roi_detected_object_fusion | Overwrite a classification label of detected objects by that of ROIs from a 2D object detector. |[link](./docs/roi-detected-object-fusion.md)|
60
+
| pointpainting_fusion | Paint the point cloud with the ROIs from a 2D object detector and feed to a 3D object detector. |[link](./docs/pointpainting-fusion.md)|
0 commit comments