Skip to content

Commit bee8e64

Browse files
authored
fix(ground_segmentation): bring junction parameter from param file to launch argument (autowarefoundation#10102)
* feat(ground_segmentation): add launch configuration for single frame and time series filters Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp> * feat(ground_segmentation): enhance filter configurations for obstacle segmentation Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp> * fix(ground_segmentation): update argument names for single frame and time series filters Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp> --------- Signed-off-by: Taekjin LEE <taekjin.lee@tier4.jp>
1 parent 2d0ed6f commit bee8e64

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

launch/tier4_perception_launch/launch/obstacle_segmentation/ground_segmentation/ground_segmentation.launch.py

+10-2
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,16 @@ def __init__(self, context):
4444
"/perception/obstacle_segmentation/single_frame/pointcloud"
4545
)
4646
self.output_topic = "/perception/obstacle_segmentation/pointcloud"
47-
self.use_single_frame_filter = self.ground_segmentation_param["use_single_frame_filter"]
48-
self.use_time_series_filter = self.ground_segmentation_param["use_time_series_filter"]
47+
self.use_single_frame_filter = LaunchConfiguration("use_single_frame_filter").perform(
48+
context
49+
)
50+
self.use_time_series_filter = LaunchConfiguration("use_time_series_filter").perform(context)
51+
# check if self.use_single_frame_filter is bool
52+
if isinstance(self.use_single_frame_filter, str):
53+
self.use_single_frame_filter = self.use_single_frame_filter.lower() == "true"
54+
# check if self.use_time_series_filter is bool
55+
if isinstance(self.use_time_series_filter, str):
56+
self.use_time_series_filter = self.use_time_series_filter.lower() == "true"
4957

5058
def get_vehicle_info(self):
5159
# TODO(TIER IV): Use Parameter Substitution after we drop Galactic support

launch/tier4_perception_launch/launch/perception.launch.xml

+12-2
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@
7575
<arg name="camera_info7" default="/sensing/camera/camera7/camera_info"/>
7676
<arg name="detection_rois7" default="/perception/object_recognition/detection/rois7"/>
7777
<arg name="image_number" default="6" description="choose image raw number(1-8)"/>
78+
<arg name="pointcloud_container_name" default="pointcloud_container"/>
79+
80+
<!-- Pipeline junctions -->
7881
<arg name="use_vector_map" default="true" description="use vector map in prediction"/>
7982
<arg name="use_pointcloud_map" default="true" description="use pointcloud map in detection"/>
8083
<arg name="use_low_height_cropbox" default="true" description="use low height crop filter in the euclidean clustering"/>
@@ -88,10 +91,11 @@
8891
default="false"
8992
description="if use_empty_dynamic_object_publisher:=true, /perception/object_recognition/objects topic has an empty DynamicObjectArray"
9093
/>
91-
<arg name="pointcloud_container_name" default="pointcloud_container"/>
9294
<arg name="use_object_validator" default="true" description="use obstacle_pointcloud based object validator"/>
9395
<arg name="objects_validation_method" default="obstacle_pointcloud" description="options: `obstacle_pointcloud` or `occupancy_grid`"/>
9496
<arg name="use_perception_online_evaluator" default="false" description="use perception online evaluator"/>
97+
<arg name="use_obstacle_segmentation_single_frame_filter" description="use single frame filter at the ground segmentation"/>
98+
<arg name="use_obstacle_segmentation_time_series_filter" description="use time series filter at the ground segmentation"/>
9599

96100
<!-- Traffic light recognition parameters -->
97101
<arg name="use_traffic_light_recognition" default="false"/>
@@ -171,14 +175,20 @@
171175
<arg name="use_multithread" value="true"/>
172176
<arg name="pointcloud_container_name" value="$(var pointcloud_container_name)"/>
173177
<arg name="input/pointcloud" value="$(var perception_pointcloud)"/>
178+
<arg name="obstacle_segmentation_ground_segmentation_param_path" value="$(var obstacle_segmentation_ground_segmentation_param_path)"/>
179+
<arg name="use_single_frame_filter" value="$(var use_obstacle_segmentation_single_frame_filter)"/>
180+
<arg name="use_time_series_filter" value="$(var use_obstacle_segmentation_time_series_filter)"/>
174181
</include>
175182
</group>
176183

177184
<!-- Occupancy grid map module -->
178185
<group>
179186
<push-ros-namespace namespace="occupancy_grid_map"/>
187+
<let name="unfiltered_obstacle_pointcloud" value="/perception/obstacle_segmentation/pointcloud"/>
188+
<let name="unfiltered_obstacle_pointcloud" value="/perception/obstacle_segmentation/single_frame/pointcloud" if="$(var use_obstacle_segmentation_single_frame_filter)"/>
189+
<let name="unfiltered_obstacle_pointcloud" value="/perception/obstacle_segmentation/single_frame/pointcloud" if="$(var use_obstacle_segmentation_time_series_filter)"/>
180190
<include file="$(find-pkg-share tier4_perception_launch)/launch/occupancy_grid_map/probabilistic_occupancy_grid_map.launch.xml">
181-
<arg name="input/obstacle_pointcloud" value="/perception/obstacle_segmentation/single_frame/pointcloud"/>
191+
<arg name="input/obstacle_pointcloud" value="$(var unfiltered_obstacle_pointcloud)"/>
182192
<arg name="input/raw_pointcloud" value="$(var perception_pointcloud)"/>
183193
<arg name="output" value="/perception/occupancy_grid_map/map"/>
184194
<arg name="use_intra_process" value="true"/>

0 commit comments

Comments
 (0)