Skip to content

Commit 013c257

Browse files
committed
feat: try to move updater param description to yaml file
Signed-off-by: yoshiri <yoshiyoshidetteiu@gmail.com>
1 parent fa8424d commit 013c257

File tree

8 files changed

+50
-43
lines changed

8 files changed

+50
-43
lines changed

launch/tier4_perception_launch/launch/occupancy_grid_map/probabilistic_occupancy_grid_map.launch.xml

-8
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010
<arg name="pointcloud_container_name" default="pointcloud_container"/>
1111
<arg name="occupancy_grid_map_method" description="options: pointcloud_based_occupancy_grid_map, laserscan_based_occupancy_grid_map, multi_lidar_pointcloud_based_occupancy_grid_map"/>
1212
<arg name="occupancy_grid_map_param_path"/>
13-
<arg name="occupancy_grid_map_updater" description="options: binary_bayes_filter"/>
14-
<arg name="occupancy_grid_map_updater_param_path"/>
1513
<arg name="input_obstacle_pointcloud" default="false" description="subscribe obstacle pointcloud"/>
1614
<arg name="input_obstacle_and_raw_pointcloud" default="true" description="subscribe both obstacle and raw pointcloud"/>
1715

@@ -26,8 +24,6 @@
2624
<arg name="use_pointcloud_container" value="$(var use_pointcloud_container)"/>
2725
<arg name="pointcloud_container_name" value="$(var pointcloud_container_name)"/>
2826
<arg name="param_file" value="$(var occupancy_grid_map_param_path)"/>
29-
<arg name="updater_type" value="$(var occupancy_grid_map_updater)"/>
30-
<arg name="updater_param_file" value="$(var occupancy_grid_map_updater_param_path)"/>
3127
</include>
3228
</group>
3329

@@ -42,8 +38,6 @@
4238
<arg name="use_pointcloud_container" value="$(var use_pointcloud_container)"/>
4339
<arg name="pointcloud_container_name" value="$(var pointcloud_container_name)"/>
4440
<arg name="param_file" value="$(var occupancy_grid_map_param_path)"/>
45-
<arg name="updater_type" value="$(var occupancy_grid_map_updater)"/>
46-
<arg name="updater_param_file" value="$(var occupancy_grid_map_updater_param_path)"/>
4741
<arg name="input_obstacle_pointcloud" value="$(var input_obstacle_pointcloud)"/>
4842
<arg name="input_obstacle_and_raw_pointcloud" value="$(var input_obstacle_and_raw_pointcloud)"/>
4943
</include>
@@ -58,8 +52,6 @@
5852
<arg name="use_pointcloud_container" value="$(var use_pointcloud_container)"/>
5953
<arg name="pointcloud_container_name" value="$(var pointcloud_container_name)"/>
6054
<arg name="multi_lidar_fusion_config_file" value="$(var occupancy_grid_map_param_path)"/>
61-
<arg name="updater_type" value="$(var occupancy_grid_map_updater)"/>
62-
<arg name="updater_param_file" value="$(var occupancy_grid_map_updater_param_path)"/>
6355
</include>
6456
</group>
6557
</launch>

launch/tier4_perception_launch/launch/perception.launch.xml

-4
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@
3131
<arg name="object_recognition_detection_detection_by_tracker_param"/>
3232
<arg name="occupancy_grid_map_method"/>
3333
<arg name="occupancy_grid_map_param_path"/>
34-
<arg name="occupancy_grid_map_updater"/>
35-
<arg name="occupancy_grid_map_updater_param_path"/>
3634
<arg name="traffic_light_arbiter_param_path"/>
3735

3836
<!-- CenterPoint model parameters -->
@@ -150,8 +148,6 @@
150148
<arg name="pointcloud_container_name" value="$(var pointcloud_container_name)"/>
151149
<arg name="occupancy_grid_map_method" value="$(var occupancy_grid_map_method)"/>
152150
<arg name="occupancy_grid_map_param_path" value="$(var occupancy_grid_map_param_path)"/>
153-
<arg name="occupancy_grid_map_updater" value="$(var occupancy_grid_map_updater)"/>
154-
<arg name="occupancy_grid_map_updater_param_path" value="$(var occupancy_grid_map_updater_param_path)"/>
155151
</include>
156152
</group>
157153

launch/tier4_simulator_launch/launch/simulator.launch.xml

-4
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
<arg name="fault_injection_param_path"/>
44
<arg name="obstacle_segmentation_ground_segmentation_elevation_map_param_path"/>
55
<arg name="laserscan_based_occupancy_grid_map_param_path"/>
6-
<arg name="occupancy_grid_map_updater"/>
7-
<arg name="occupancy_grid_map_updater_param_path"/>
86
<arg name="pose_initializer_param_path"/>
97

108
<arg name="launch_dummy_perception"/>
@@ -51,8 +49,6 @@
5149
<arg name="output" value="/perception/occupancy_grid_map/map"/>
5250
<arg name="occupancy_grid_map_method" value="laserscan_based_occupancy_grid_map"/>
5351
<arg name="occupancy_grid_map_param_path" value="$(var laserscan_based_occupancy_grid_map_param_path)"/>
54-
<arg name="occupancy_grid_map_updater" value="$(var occupancy_grid_map_updater)"/>
55-
<arg name="occupancy_grid_map_updater_param_path" value="$(var occupancy_grid_map_updater_param_path)"/>
5652
</include>
5753
</group>
5854

perception/detected_object_validation/launch/occupancy_grid_based_validator.launch.xml

-3
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,14 @@
66
<arg name="input/laserscan" default="/perception/occupancy_grid_map/virtual_scan/laserscan"/>
77
<arg name="input/occupancy_grid_map" default="/perception/object_recognition/detection/validation/occupancy_grid_based/single_frame_occupancy_grid_map"/>
88
<arg name="occupancy_grid_map_param_path" default="$(find-pkg-share probabilistic_occupancy_grid_map)/config/laserscan_based_occupancy_grid_map.param.yaml"/>
9-
<arg name="occupancy_grid_map_updater_param_path" default="$(find-pkg-share probabilistic_occupancy_grid_map)/config/binary_bayes_filter_updater.param.yaml"/>
109
<arg name="occupancy_grid_based_validator_param_path" default="$(find-pkg-share detected_object_validation)/config/occupancy_grid_based_validator_param_path.param.yaml"/>
1110

1211
<node pkg="probabilistic_occupancy_grid_map" exec="laserscan_based_occupancy_grid_map_node" name="single_frame_laserscan_occupancy_grid_map" output="screen">
1312
<remap from="~/input/laserscan" to="$(var input/laserscan)"/>
1413
<remap from="~/output/occupancy_grid_map" to="$(var input/occupancy_grid_map)"/>
1514
<param name="input_obstacle_pointcloud" value="false"/>
1615
<param name="input_obstacle_and_raw_pointcloud" value="false"/>
17-
<param name="updater_type" value="binary_bayes_filter"/>
1816
<param from="$(var occupancy_grid_map_param_path)"/>
19-
<param from="$(var occupancy_grid_map_updater_param_path)"/>
2017
</node>
2118

2219
<node pkg="detected_object_validation" exec="occupancy_grid_based_validator_node" name="occupancy_grid_based_validator_node" output="screen">

perception/probabilistic_occupancy_grid_map/config/laserscan_based_occupancy_grid_map.param.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,6 @@
1616
map_length: 150.0
1717
map_width: 150.0
1818
map_resolution: 0.5
19+
20+
updater_type: "binary_bayes_filter"
21+
updater_param_file: $(find-pkg-share probabilistic_occupancy_grid_map)/config/binary_bayes_filter.param.yaml

perception/probabilistic_occupancy_grid_map/config/pointcloud_based_occupancy_grid_map.param.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
# base_link should not be used with "OccupancyGridMapProjectiveBlindSpot"
2222
scan_origin_frame: "base_link"
2323

24+
updater_type: "binary_bayes_filter"
25+
updater_param_file: $(find-pkg-share probabilistic_occupancy_grid_map)/config/binary_bayes_filter.param.yaml
26+
2427
grid_map_type: "OccupancyGridMapFixedBlindSpot"
2528
OccupancyGridMapFixedBlindSpot:
2629
distance_margin: 1.0

perception/probabilistic_occupancy_grid_map/launch/laserscan_based_occupancy_grid_map.launch.py

+22-12
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15+
import re
16+
1517
from ament_index_python.packages import get_package_share_directory
1618
from launch import LaunchDescription
1719
from launch.actions import DeclareLaunchArgument
@@ -26,15 +28,31 @@
2628
import yaml
2729

2830

31+
def replace_pkg_share_path_with_package_name(param_string: str) -> str:
32+
# replace $(find-pkg-share ...) with the actual path
33+
# get the package name from the string
34+
match = re.search(r"\$\(\s*find-pkg-share\s+([a-zA-Z0-9_]+)\s*\)", param_string)
35+
if match:
36+
package_name = match.group(1)
37+
package_path = get_package_share_directory(package_name)
38+
# Replace the entire $(find-pkg-share ...) expression with the package path
39+
return param_string.replace(match.group(0), package_path)
40+
else:
41+
# If no match is found, return the original string
42+
return param_string
43+
44+
2945
def launch_setup(context, *args, **kwargs):
3046
# load parameter files
3147
param_file = LaunchConfiguration("param_file").perform(context)
3248
with open(param_file, "r") as f:
3349
laserscan_based_occupancy_grid_map_node_params = yaml.safe_load(f)["/**"]["ros__parameters"]
34-
35-
updater_param_file = LaunchConfiguration("updater_param_file").perform(context)
36-
with open(updater_param_file, "r") as f:
37-
occupancy_grid_map_updater_params = yaml.safe_load(f)["/**"]["ros__parameters"]
50+
# replace $(find-pkg-share ...) with the actual path
51+
laserscan_based_occupancy_grid_map_node_params[
52+
"updater_param_file"
53+
] = replace_pkg_share_path_with_package_name(
54+
laserscan_based_occupancy_grid_map_node_params["updater_param_file"]
55+
)
3856

3957
composable_nodes = [
4058
ComposableNode(
@@ -101,13 +119,11 @@ def launch_setup(context, *args, **kwargs):
101119
],
102120
parameters=[
103121
laserscan_based_occupancy_grid_map_node_params,
104-
occupancy_grid_map_updater_params,
105122
{
106123
"input_obstacle_pointcloud": LaunchConfiguration("input_obstacle_pointcloud"),
107124
"input_obstacle_and_raw_pointcloud": LaunchConfiguration(
108125
"input_obstacle_and_raw_pointcloud"
109126
),
110-
"updater_type": LaunchConfiguration("updater_type"),
111127
},
112128
],
113129
extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}],
@@ -165,12 +181,6 @@ def add_launch_arg(name: str, default_value=None):
165181
get_package_share_directory("probabilistic_occupancy_grid_map")
166182
+ "/config/laserscan_based_occupancy_grid_map.param.yaml",
167183
),
168-
add_launch_arg("updater_type", "binary_bayes_filter"),
169-
add_launch_arg(
170-
"updater_param_file",
171-
get_package_share_directory("probabilistic_occupancy_grid_map")
172-
+ "/config/updater.param.yaml",
173-
),
174184
add_launch_arg("input_obstacle_pointcloud", "false"),
175185
add_launch_arg("input_obstacle_and_raw_pointcloud", "true"),
176186
add_launch_arg("use_pointcloud_container", "false"),

perception/probabilistic_occupancy_grid_map/launch/pointcloud_based_occupancy_grid_map.launch.py

+22-12
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15+
import re
16+
1517
from ament_index_python.packages import get_package_share_directory
1618
from launch import LaunchDescription
1719
from launch.actions import DeclareLaunchArgument
@@ -26,17 +28,33 @@
2628
import yaml
2729

2830

31+
def replace_pkg_share_path_with_package_name(param_string: str) -> str:
32+
# replace $(find-pkg-share ...) with the actual path
33+
# get the package name from the string
34+
match = re.search(r"\$\(\s*find-pkg-share\s+([a-zA-Z0-9_]+)\s*\)", param_string)
35+
if match:
36+
package_name = match.group(1)
37+
package_path = get_package_share_directory(package_name)
38+
# Replace the entire $(find-pkg-share ...) expression with the package path
39+
return param_string.replace(match.group(0), package_path)
40+
else:
41+
# If no match is found, return the original string
42+
return param_string
43+
44+
2945
def launch_setup(context, *args, **kwargs):
3046
# load parameter files
3147
param_file = LaunchConfiguration("param_file").perform(context)
3248
with open(param_file, "r") as f:
3349
pointcloud_based_occupancy_grid_map_node_params = yaml.safe_load(f)["/**"][
3450
"ros__parameters"
3551
]
36-
37-
updater_param_file = LaunchConfiguration("updater_param_file").perform(context)
38-
with open(updater_param_file, "r") as f:
39-
occupancy_grid_map_updater_params = yaml.safe_load(f)["/**"]["ros__parameters"]
52+
# replace $(find-pkg-share ...) with the actual path
53+
pointcloud_based_occupancy_grid_map_node_params[
54+
"updater_param_file"
55+
] = replace_pkg_share_path_with_package_name(
56+
pointcloud_based_occupancy_grid_map_node_params["updater_param_file"]
57+
)
4058

4159
composable_nodes = [
4260
ComposableNode(
@@ -56,8 +74,6 @@ def launch_setup(context, *args, **kwargs):
5674
],
5775
parameters=[
5876
pointcloud_based_occupancy_grid_map_node_params,
59-
occupancy_grid_map_updater_params,
60-
{"updater_type": LaunchConfiguration("updater_type")},
6177
],
6278
extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}],
6379
),
@@ -113,12 +129,6 @@ def add_launch_arg(name: str, default_value=None):
113129
get_package_share_directory("probabilistic_occupancy_grid_map")
114130
+ "/config/pointcloud_based_occupancy_grid_map.param.yaml",
115131
),
116-
add_launch_arg("updater_type", "binary_bayes_filter"),
117-
add_launch_arg(
118-
"updater_param_file",
119-
get_package_share_directory("probabilistic_occupancy_grid_map")
120-
+ "/config/binary_bayes_filter_updater.param.yaml",
121-
),
122132
set_container_executable,
123133
set_container_mt_executable,
124134
]

0 commit comments

Comments
 (0)