|
17 | 17 | <arg name="remove_unknown" default="true"/>
|
18 | 18 | <arg name="fusion_distance" default="100.0"/>
|
19 | 19 | <arg name="trust_object_distance" default="100.0"/>
|
| 20 | + <arg name="use_image_segmentation_filter" default="false" description="use image sematic segmentation based pointcloud filter"/> |
20 | 21 |
|
21 | 22 | <!-- Camera parameters -->
|
22 | 23 | <arg name="image_raw0" default="/image_raw" description="image raw topic name"/>
|
|
97 | 98 | </include>
|
98 | 99 | </group>
|
99 | 100 |
|
| 101 | + <!-- Pointcloud filtering by image semantic segmentation model --> |
| 102 | + <group if="$(var use_image_segmentation_filter)"> |
| 103 | + <let name="segmentation_filter/input_pointcloud" value="pointcloud_map_filtered/pointcloud" if="$(var use_pointcloud_map)"/> |
| 104 | + <let name="segmentation_filter/input_pointcloud" value="input/obstacle_segmentation/pointcloud" unless="$(var use_pointcloud_map)"/> |
| 105 | + <include file="$(find-pkg-share image_projection_based_fusion)/launch/segmentation_pointcloud_fusion.launch.xml"> |
| 106 | + <arg name="input/pointcloud" value="pointcloud_map_filtered/pointcloud"/> |
| 107 | + <arg name="output/pointcloud" value="image_segmentation_filtered/pointcloud"/> |
| 108 | + </include> |
| 109 | + </group> |
| 110 | + |
100 | 111 | <!-- Clustering -->
|
101 | 112 | <group>
|
102 | 113 | <push-ros-namespace namespace="clustering"/>
|
103 | 114 | <group>
|
| 115 | + <let name="clustering/input/pointcloud" value="/perception/object_recognition/detection/image_segmentation_filtered/pointcloud" if="$(var use_image_segmentation_filter)"/> |
| 116 | + <let |
| 117 | + name="clustering/input/pointcloud" |
| 118 | + value="/perception/object_recognition/detection/pointcloud_map_filtered/pointcloud" |
| 119 | + if="$(eval "'$(var use_image_segmentation_filter)'=='false' and '$(var use_pointcloud_map)'=='true' ")" |
| 120 | + /> |
| 121 | + <let |
| 122 | + name="clustering/input/pointcloud" |
| 123 | + value="$(var input/obstacle_segmentation/pointcloud)" |
| 124 | + if="$(eval "'$(var use_image_segmentation_filter)'=='false' and '$(var use_pointcloud_map)'=='false' ")" |
| 125 | + /> |
104 | 126 | <let name="euclidean_cluster_output" value="euclidean_cluster/clusters" if="$(var use_roi_based_cluster)"/>
|
105 | 127 | <let name="euclidean_cluster_output" value="clusters" unless="$(var use_roi_based_cluster)"/>
|
106 | 128 | <include file="$(find-pkg-share euclidean_cluster)/launch/voxel_grid_based_euclidean_cluster.launch.xml">
|
107 |
| - <arg name="input_pointcloud" value="/perception/object_recognition/detection/pointcloud_map_filtered/pointcloud"/> |
| 129 | + <arg name="input_pointcloud" value="$(var clustering/input/pointcloud)"/> |
108 | 130 | <arg name="output_clusters" value="$(var euclidean_cluster_output)"/>
|
109 | 131 | <arg name="use_low_height_cropbox" value="$(var use_low_height_cropbox)"/>
|
110 | 132 | </include>
|
|
0 commit comments