Skip to content

Commit 221ce4b

Browse files
chore(tier4_perception_launch): perception launcher refactoring (autowarefoundation#7194)
* fix: reorder object merger launchers Signed-off-by: Taekjin LEE <[email protected]> * fix: separate detection by tracker launch Signed-off-by: Taekjin LEE <[email protected]> * fix: refactor tracking launch Signed-off-by: Taekjin LEE <[email protected]> * style(pre-commit): autofix Signed-off-by: Taekjin LEE <[email protected]> * fix: input pointcloud topic names, mot input channels Signed-off-by: Taekjin LEE <[email protected]> * feat: separate filters Signed-off-by: Taekjin LEE <[email protected]> * fix: object validator to modular Signed-off-by: Taekjin LEE <[email protected]> * fix: implement filters on mergers Signed-off-by: Taekjin LEE <[email protected]> * fix lidar only mode chore: simplify mode check Signed-off-by: Taekjin LEE <[email protected]> * fix: fix a bug when use_radar_tracking_fusion is fault Signed-off-by: Taekjin LEE <[email protected]> * fix: rename radar detector to filter Signed-off-by: Taekjin LEE <[email protected]> --------- Signed-off-by: Taekjin LEE <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 67bfa58 commit 221ce4b

13 files changed

+348
-243
lines changed

launch/tier4_perception_launch/launch/object_recognition/detection/detection.launch.xml

+36-6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<launch>
33
<!-- Interface parameters -->
44
<arg name="mode" default="lidar" description="options: `camera_lidar_radar_fusion`, `camera_lidar_fusion`, `lidar_radar_fusion`, `lidar` or `radar`"/>
5+
<arg name="use_detection_by_tracker"/>
56

67
<!-- Lidar parameters -->
78
<arg name="input/pointcloud"/>
@@ -65,10 +66,10 @@
6566
<arg name="input/pointcloud" value="$(var input/pointcloud)"/>
6667
<arg name="lidar_detection_model" value="$(var lidar_detection_model)"/>
6768
</include>
68-
<!-- Radar detector-->
69+
<!-- Radar detector/filter-->
6970
<group>
7071
<push-ros-namespace namespace="radar"/>
71-
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/detector/radar_detector.launch.xml">
72+
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/filter/radar_filter.launch.xml">
7273
<arg name="input/radar" value="$(var input/radar)"/>
7374
<arg name="output/objects" value="far_objects"/>
7475
<arg name="radar_lanelet_filtering_range_param_path" value="$(var radar_lanelet_filtering_range_param_path)"/>
@@ -78,6 +79,12 @@
7879
<arg name="radar_object_clustering_param_path" value="$(var radar_object_clustering_param_path)"/>
7980
</include>
8081
</group>
82+
<!-- DetectionByTracker -->
83+
<group if="$(var use_detection_by_tracker)">
84+
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/detector/tracker_based_detector.launch.xml">
85+
<arg name="detection_by_tracker_param_path" value="$(var object_recognition_detection_detection_by_tracker_param)"/>
86+
</include>
87+
</group>
8188
<!-- Object merger -->
8289
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/merger/camera_lidar_radar_merger.launch.xml">
8390
<arg name="image_raw0" value="$(var image_raw0)"/>
@@ -98,6 +105,8 @@
98105
<arg name="camera_info7" value="$(var camera_info7)"/>
99106
<arg name="image_number" value="$(var image_number)"/>
100107
<arg name="lidar_detection_model" value="$(var lidar_detection_model)"/>
108+
<arg name="use_radar_tracking_fusion" value="$(var use_radar_tracking_fusion)"/>
109+
<arg name="use_detection_by_tracker" value="$(var use_detection_by_tracker)"/>
101110
<arg name="use_pointcloud_map" value="$(var use_pointcloud_map)"/>
102111
<arg name="use_object_filter" value="$(var use_object_filter)"/>
103112
<arg name="roi_detected_object_fusion_param_path" value="$(var roi_detected_object_fusion_param_path)"/>
@@ -138,6 +147,12 @@
138147
<arg name="input/pointcloud" value="$(var input/pointcloud)"/>
139148
<arg name="lidar_detection_model" value="$(var lidar_detection_model)"/>
140149
</include>
150+
<!-- DetectionByTracker -->
151+
<group if="$(var use_detection_by_tracker)">
152+
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/detector/tracker_based_detector.launch.xml">
153+
<arg name="detection_by_tracker_param_path" value="$(var object_recognition_detection_detection_by_tracker_param)"/>
154+
</include>
155+
</group>
141156
<!-- Object merger -->
142157
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/merger/camera_lidar_merger.launch.xml">
143158
<arg name="image_raw0" value="$(var image_raw0)"/>
@@ -159,16 +174,17 @@
159174
<arg name="image_number" value="$(var image_number)"/>
160175
<arg name="use_object_filter" value="$(var use_object_filter)"/>
161176
<arg name="lidar_detection_model" value="$(var lidar_detection_model)"/>
177+
<arg name="use_detection_by_tracker" value="$(var use_detection_by_tracker)"/>
162178
<arg name="use_pointcloud_map" value="$(var use_pointcloud_map)"/>
163179
</include>
164180
</group>
165181

166182
<!-- Lidar-Radar fusion based detection -->
167183
<group if="$(eval '&quot;$(var mode)&quot;==&quot;lidar_radar_fusion&quot;')">
168-
<!-- Radar detector-->
184+
<!-- Radar detector/filter-->
169185
<group>
170186
<push-ros-namespace namespace="radar"/>
171-
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/detector/radar_detector.launch.xml">
187+
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/filter/radar_filter.launch.xml">
172188
<arg name="input/radar" value="$(var input/radar)"/>
173189
<arg name="output/objects" value="far_objects"/>
174190
<arg name="radar_lanelet_filtering_range_param_path" value="$(var radar_lanelet_filtering_range_param_path)"/>
@@ -189,10 +205,17 @@
189205
<arg name="use_low_height_cropbox" value="$(var use_low_height_cropbox)"/>
190206
<arg name="pointcloud_container_name" value="$(var pointcloud_container_name)"/>
191207
</include>
208+
<!-- DetectionByTracker -->
209+
<group if="$(var use_detection_by_tracker)">
210+
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/detector/tracker_based_detector.launch.xml">
211+
<arg name="detection_by_tracker_param_path" value="$(var object_recognition_detection_detection_by_tracker_param)"/>
212+
</include>
213+
</group>
192214
<!-- Lidar object merger -->
193215
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/merger/lidar_merger.launch.xml">
194216
<arg name="output/objects" value="lidar/objects"/>
195217
<arg name="lidar_detection_model" value="$(var lidar_detection_model)"/>
218+
<arg name="use_detection_by_tracker" value="$(var use_detection_by_tracker)"/>
196219
<arg name="use_pointcloud_map" value="$(var use_pointcloud_map)"/>
197220
<arg name="use_object_filter" value="$(var use_object_filter)"/>
198221
</include>
@@ -217,18 +240,25 @@
217240
<arg name="use_low_height_cropbox" value="$(var use_low_height_cropbox)"/>
218241
<arg name="pointcloud_container_name" value="$(var pointcloud_container_name)"/>
219242
</include>
243+
<!-- DetectionByTracker -->
244+
<group if="$(var use_detection_by_tracker)">
245+
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/detector/tracker_based_detector.launch.xml">
246+
<arg name="detection_by_tracker_param_path" value="$(var object_recognition_detection_detection_by_tracker_param)"/>
247+
</include>
248+
</group>
220249
<!-- Lidar object merger -->
221250
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/merger/lidar_merger.launch.xml">
222251
<arg name="lidar_detection_model" value="$(var lidar_detection_model)"/>
252+
<arg name="use_detection_by_tracker" value="$(var use_detection_by_tracker)"/>
223253
<arg name="use_pointcloud_map" value="$(var use_pointcloud_map)"/>
224254
<arg name="use_object_filter" value="$(var use_object_filter)"/>
225255
</include>
226256
</group>
227257

228258
<!-- Radar based detection -->
229259
<group if="$(eval '&quot;$(var mode)&quot;==&quot;radar&quot;')">
230-
<!-- Radar detector-->
231-
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/detector/radar_detector.launch.xml">
260+
<!-- Radar detector/filter-->
261+
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/filter/radar_filter.launch.xml">
232262
<arg name="input/radar" value="$(var input/radar)"/>
233263
<arg name="output/objects" value="objects"/>
234264
<arg name="radar_lanelet_filtering_range_param_path" value="$(var radar_lanelet_filtering_range_param_path)"/>

launch/tier4_perception_launch/launch/object_recognition/detection/detector/camera_lidar_detector.launch.xml

+1-9
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@
9494

9595
<!-- Pointcloud filter -->
9696
<group>
97-
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/pointcloud_map_filter.launch.py">
97+
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/filter/pointcloud_map_filter.launch.py">
9898
<arg name="input_topic" value="$(var input/obstacle_segmentation/pointcloud)"/>
9999
<arg name="output_topic" value="pointcloud_map_filtered/pointcloud"/>
100100
<arg name="use_intra_process" value="true"/>
@@ -234,12 +234,4 @@
234234
</group>
235235
</group>
236236
</group>
237-
238-
<!-- DetectionByTracker -->
239-
<group if="$(var use_detection_by_tracker)">
240-
<push-ros-namespace namespace="detection_by_tracker"/>
241-
<include file="$(find-pkg-share detection_by_tracker)/launch/detection_by_tracker.launch.xml">
242-
<arg name="detection_by_tracker_param_path" value="$(var object_recognition_detection_detection_by_tracker_param)"/>
243-
</include>
244-
</group>
245237
</launch>

launch/tier4_perception_launch/launch/object_recognition/detection/detector/lidar_rule_detector.launch.xml

+1-9
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<!-- Pointcloud filter -->
88
<group>
9-
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/pointcloud_map_filter.launch.py">
9+
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/filter/pointcloud_map_filter.launch.py">
1010
<arg name="input_topic" value="$(var input/obstacle_segmentation/pointcloud)"/>
1111
<arg name="output_topic" value="pointcloud_map_filtered/pointcloud"/>
1212
<arg name="use_intra_process" value="true"/>
@@ -45,12 +45,4 @@
4545
</include>
4646
</group>
4747
</group>
48-
49-
<!-- DetectionByTracker -->
50-
<group if="$(var use_detection_by_tracker)">
51-
<push-ros-namespace namespace="detection_by_tracker"/>
52-
<include file="$(find-pkg-share detection_by_tracker)/launch/detection_by_tracker.launch.xml">
53-
<arg name="detection_by_tracker_param_path" value="$(var object_recognition_detection_detection_by_tracker_param)"/>
54-
</include>
55-
</group>
5648
</launch>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?xml version="1.0"?>
2+
<launch>
3+
<!-- DetectionByTracker -->
4+
<group>
5+
<push-ros-namespace namespace="detection_by_tracker"/>
6+
<include file="$(find-pkg-share detection_by_tracker)/launch/detection_by_tracker.launch.xml">
7+
<arg name="detection_by_tracker_param_path" value="$(var object_recognition_detection_detection_by_tracker_param)"/>
8+
</include>
9+
</group>
10+
</launch>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0"?>
2+
<launch>
3+
<!-- Pipeline junctions -->
4+
<arg name="objects_filter_method" default="lanelet_filter" description="lanelet_filter or position_filter"/>
5+
6+
<!-- external interfaces -->
7+
<arg name="input/objects" default="clustering/camera_lidar_fusion/objects"/>
8+
<arg name="output/objects" default="clustering/camera_lidar_fusion/filtered/objects"/>
9+
10+
<!-- Filter -->
11+
<group if="$(eval &quot;'$(var objects_filter_method)'=='lanelet_filter'&quot;)">
12+
<include file="$(find-pkg-share detected_object_validation)/launch/object_lanelet_filter.launch.xml">
13+
<arg name="input/object" value="$(var input/objects)"/>
14+
<arg name="output/object" value="$(var output/objects)"/>
15+
<arg name="filtering_range_param" value="$(var object_recognition_detection_object_lanelet_filter_param_path)"/>
16+
</include>
17+
</group>
18+
<group if="$(eval &quot;'$(var objects_filter_method)'=='position_filter'&quot;)">
19+
<include file="$(find-pkg-share detected_object_validation)/launch/object_position_filter.launch.xml">
20+
<arg name="input/object" value="$(var input/objects)"/>
21+
<arg name="output/object" value="$(var output/objects)"/>
22+
<arg name="filtering_range_param" value="$(var object_recognition_detection_object_position_filter_param_path)"/>
23+
</include>
24+
</group>
25+
</launch>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?xml version="1.0"?>
2+
<launch>
3+
<!-- Pipeline junctions -->
4+
<arg name="objects_validation_method" default="obstacle_pointcloud" description="obstacle_pointcloud or occupancy_grid"/>
5+
6+
<!-- external interfaces -->
7+
<arg name="input/obstacle_pointcloud" default="pointcloud_map_filtered/pointcloud" description="Only required when 'obstacle_pointcloud'"/>
8+
<arg name="input/objects" default="centerpoint/objects"/>
9+
<arg name="output/objects" default="centerpoint/validation/objects"/>
10+
11+
<!-- Validator -->
12+
<group if="$(eval &quot;'$(var objects_validation_method)'=='obstacle_pointcloud'&quot;)">
13+
<include file="$(find-pkg-share detected_object_validation)/launch/obstacle_pointcloud_based_validator.launch.xml">
14+
<arg name="input/detected_objects" value="$(var input/objects)"/>
15+
<arg name="input/obstacle_pointcloud" value="$(var input/obstacle_pointcloud)"/>
16+
<arg name="output/objects" value="$(var output/objects)"/>
17+
<arg name="obstacle_pointcloud_based_validator_param_path" value="$(var object_recognition_detection_obstacle_pointcloud_based_validator_param_path)"/>
18+
</include>
19+
</group>
20+
<group if="$(eval &quot;'$(var objects_validation_method)'=='occupancy_grid'&quot;)">
21+
<include file="$(find-pkg-share detected_object_validation)/launch/occupancy_grid_based_validator.launch.xml">
22+
<arg name="input/detected_objects" value="$(var input/objects)"/>
23+
<arg name="output/objects" value="$(var output/objects)"/>
24+
</include>
25+
</group>
26+
</launch>

launch/tier4_perception_launch/launch/object_recognition/detection/detector/radar_detector.launch.xml launch/tier4_perception_launch/launch/object_recognition/detection/filter/radar_filter.launch.xml

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
<?xml version="1.0"?>
22
<launch>
3-
<arg name="input/radar" default="/sensing/radar/detected_objects"/>
4-
<arg name="output/objects" default="far_objects"/>
3+
<!-- Parameters -->
54
<arg name="radar_crossing_objects_noise_filter_param_path"/>
65
<arg name="object_velocity_splitter_param_path" default="$(var object_recognition_detection_object_velocity_splitter_radar_param_path)"/>
76
<arg name="object_range_splitter_param_path" default="$(var object_recognition_detection_object_range_splitter_radar_param_path)"/>
87
<arg name="radar_lanelet_filtering_range_param" default="$(find-pkg-share detected_object_validation)/config/object_lanelet_filter.param.yaml"/>
98
<arg name="radar_object_clustering_param_path" default="$(find-pkg-share radar_object_clustering)/config/radar_object_clustering.param.yaml"/>
109

11-
<!-- Detection for far dynamic objects -->
10+
<!-- External interfaces -->
11+
<arg name="input/radar" default="/sensing/radar/detected_objects"/>
12+
<arg name="output/objects" default="far_objects"/>
13+
14+
<!-- Radar filter pipeline -->
1215
<include file="$(find-pkg-share radar_crossing_objects_noise_filter)/launch/radar_crossing_objects_noise_filter.launch.xml">
1316
<arg name="input/objects" value="$(var input/radar)"/>
1417
<arg name="output/noise_objects" value="noise_objects"/>

0 commit comments

Comments
 (0)