Skip to content

Commit

Permalink
feat(perception_launch): cherry-pick awf/tier4_perception_launch into…
Browse files Browse the repository at this point in the history
… perception_launch (#412)

Signed-off-by: yukke42 <yusuke.muramatsu@tier4.jp>
  • Loading branch information
yukke42 authored Jul 14, 2022
1 parent 96958f8 commit dee0e66
Show file tree
Hide file tree
Showing 4 changed files with 174 additions and 120 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -54,71 +54,89 @@
<!-- Clustering -->
<group>
<push-ros-namespace namespace="clustering"/>
<let name="clustering/input/pointcloud" value="/perception/object_recognition/detection/pointcloud_map_filtered/pointcloud" if="$(var use_pointcloud_map)"/>
<let name="clustering/input/pointcloud" value="$(var input/obstacle_segmentation/pointcloud)" unless="$(var use_pointcloud_map)"/>
<include file="$(find-pkg-share euclidean_cluster)/launch/voxel_grid_based_euclidean_cluster.launch.xml">
<arg name="input_pointcloud" value="$(var clustering/input/pointcloud)"/>
<arg name="output_clusters" value="clusters"/>
<arg name="use_pointcloud_map" value="false"/>
</include>
<include file="$(find-pkg-share shape_estimation)/launch/shape_estimation.launch.xml">
<arg name="input/objects" value="clusters"/>
<arg name="output/objects" value="objects_with_feature"/>
<arg name="node_name" value="shape_estimation_clustering"/>
</include>
<!-- convert DynamicObjectsWithFeatureArray to DynamicObjects -->
<include file="$(find-pkg-share detected_object_feature_remover)/launch/detected_object_feature_remover.launch.xml">
<arg name="input" value="objects_with_feature"/>
<arg name="output" value="objects"/>
<arg name="node_name" value="detected_object_feature_remover_clustering"/>
</include>
<!-- Fusion camera-lidar to classify -->
<include file="$(find-pkg-share image_projection_based_fusion)/launch/roi_cluster_fusion.launch.xml">
<arg name="input/camera_info0" value="$(var camera_info0)"/>
<arg name="input/rois0" value="/perception/object_recognition/detection/rois0"/>
<arg name="input/camera_info1" value="$(var camera_info1)"/>
<arg name="input/rois1" value="/perception/object_recognition/detection/rois1"/>
<arg name="input/camera_info2" value="$(var camera_info2)"/>
<arg name="input/rois2" value="/perception/object_recognition/detection/rois2"/>
<arg name="input/camera_info3" value="$(var camera_info3)"/>
<arg name="input/rois3" value="/perception/object_recognition/detection/rois3"/>
<arg name="input/camera_info4" value="$(var camera_info4)"/>
<arg name="input/rois4" value="/perception/object_recognition/detection/rois4"/>
<arg name="input/camera_info5" value="$(var camera_info5)"/>
<arg name="input/rois5" value="/perception/object_recognition/detection/rois5"/>
<arg name="input/camera_info6" value="$(var camera_info6)"/>
<arg name="input/rois6" value="/perception/object_recognition/detection/rois6"/>
<arg name="input/camera_info7" value="$(var camera_info7)"/>
<arg name="input/rois7" value="/perception/object_recognition/detection/rois7"/>
<arg name="input/rois_number" value="$(var image_number)"/>
<arg name="input/clusters" value="clusters"/>
<arg name="input/image0" value="$(var image_raw0)"/>
<arg name="input/image1" value="$(var image_raw1)"/>
<arg name="input/image2" value="$(var image_raw2)"/>
<arg name="input/image3" value="$(var image_raw3)"/>
<arg name="input/image4" value="$(var image_raw4)"/>
<arg name="input/image5" value="$(var image_raw5)"/>
<arg name="input/image6" value="$(var image_raw6)"/>
<arg name="input/image7" value="$(var image_raw7)"/>
<arg name="output/clusters" value="camera_lidar_fusion/clusters"/>
</include>
<include file="$(find-pkg-share shape_estimation)/launch/shape_estimation.launch.xml">
<arg name="input/objects" value="camera_lidar_fusion/clusters"/>
<arg name="output/objects" value="camera_lidar_fusion/objects_with_feature"/>
<arg name="node_name" value="shape_estimation_camera_lidar_fusion"/>
</include>
<group>
<let name="clustering/input/pointcloud" value="/perception/object_recognition/detection/pointcloud_map_filtered/pointcloud" if="$(var use_pointcloud_map)"/>
<let name="clustering/input/pointcloud" value="$(var input/obstacle_segmentation/pointcloud)" unless="$(var use_pointcloud_map)"/>
<include file="$(find-pkg-share euclidean_cluster)/launch/voxel_grid_based_euclidean_cluster.launch.xml">
<arg name="input_pointcloud" value="$(var clustering/input/pointcloud)"/>
<arg name="output_clusters" value="clusters"/>
<arg name="use_pointcloud_map" value="false"/>
</include>
</group>

<group>
<include file="$(find-pkg-share shape_estimation)/launch/shape_estimation.launch.xml">
<arg name="input/objects" value="clusters"/>
<arg name="output/objects" value="objects_with_feature"/>
</include>
</group>
<!-- convert DynamicObjectsWithFeatureArray to DynamicObjects -->
<include file="$(find-pkg-share detected_object_feature_remover)/launch/detected_object_feature_remover.launch.xml">
<arg name="input" value="camera_lidar_fusion/objects_with_feature"/>
<arg name="output" value="camera_lidar_fusion/objects"/>
<arg name="node_name" value="detected_object_feature_camera_lidar_fusion"/>
</include>
<include file="$(find-pkg-share object_range_splitter)/launch/object_range_splitter.launch.xml">
<arg name="input/object" value="camera_lidar_fusion/objects"/>
<arg name="output/long_range_object" value="camera_lidar_fusion/long_range_objects"/>
<arg name="output/short_range_object" value="camera_lidar_fusion/short_range_objects"/>
<arg name="split_range" value="30.0"/>
</include>
<group>
<include file="$(find-pkg-share detected_object_feature_remover)/launch/detected_object_feature_remover.launch.xml">
<arg name="input" value="objects_with_feature"/>
<arg name="output" value="objects"/>
</include>
</group>

<group>
<let name="input/clustering" value="/perception/object_recognition/detection/clustering/clusters"/>
<push-ros-namespace namespace="camera_lidar_fusion"/>
<!-- Fusion camera-lidar to classify -->
<group>
<include file="$(find-pkg-share image_projection_based_fusion)/launch/roi_cluster_fusion.launch.xml">
<arg name="input/camera_info0" value="$(var camera_info0)"/>
<arg name="input/rois0" value="/perception/object_recognition/detection/rois0"/>
<arg name="input/camera_info1" value="$(var camera_info1)"/>
<arg name="input/rois1" value="/perception/object_recognition/detection/rois1"/>
<arg name="input/camera_info2" value="$(var camera_info2)"/>
<arg name="input/rois2" value="/perception/object_recognition/detection/rois2"/>
<arg name="input/camera_info3" value="$(var camera_info3)"/>
<arg name="input/rois3" value="/perception/object_recognition/detection/rois3"/>
<arg name="input/camera_info4" value="$(var camera_info4)"/>
<arg name="input/rois4" value="/perception/object_recognition/detection/rois4"/>
<arg name="input/camera_info5" value="$(var camera_info5)"/>
<arg name="input/rois5" value="/perception/object_recognition/detection/rois5"/>
<arg name="input/camera_info6" value="$(var camera_info6)"/>
<arg name="input/rois6" value="/perception/object_recognition/detection/rois6"/>
<arg name="input/camera_info7" value="$(var camera_info7)"/>
<arg name="input/rois7" value="/perception/object_recognition/detection/rois7"/>
<arg name="input/rois_number" value="$(var image_number)"/>
<arg name="input/clusters" value="$(var input/clustering)"/>
<arg name="input/image0" value="$(var image_raw0)"/>
<arg name="input/image1" value="$(var image_raw1)"/>
<arg name="input/image2" value="$(var image_raw2)"/>
<arg name="input/image3" value="$(var image_raw3)"/>
<arg name="input/image4" value="$(var image_raw4)"/>
<arg name="input/image5" value="$(var image_raw5)"/>
<arg name="input/image6" value="$(var image_raw6)"/>
<arg name="input/image7" value="$(var image_raw7)"/>
<arg name="output/clusters" value="clusters"/>
</include>
</group>

<group>
<include file="$(find-pkg-share shape_estimation)/launch/shape_estimation.launch.xml">
<arg name="input/objects" value="clusters"/>
<arg name="output/objects" value="objects_with_feature"/>
</include>
</group>
<!-- convert DynamicObjectsWithFeatureArray to DynamicObjects -->
<group>
<include file="$(find-pkg-share detected_object_feature_remover)/launch/detected_object_feature_remover.launch.xml">
<arg name="input" value="objects_with_feature"/>
<arg name="output" value="objects"/>
</include>
</group>

<group>
<include file="$(find-pkg-share object_range_splitter)/launch/object_range_splitter.launch.xml">
<arg name="input/object" value="camera_lidar_fusion/objects"/>
<arg name="output/long_range_object" value="camera_lidar_fusion/long_range_objects"/>
<arg name="output/short_range_object" value="camera_lidar_fusion/short_range_objects"/>
<arg name="split_range" value="30.0"/>
</include>
</group>
</group>
</group>

<!-- DetectionByTracker -->
Expand All @@ -142,12 +160,20 @@
<group>
<include file="$(find-pkg-share lidar_apollo_instance_segmentation)/launch/lidar_apollo_instance_segmentation.launch.xml">
<arg name="input/pointcloud" value="$(var input/pointcloud)"/>
<arg name="output/objects" value="labeled_clusters"/>
</include>
</group>

<group>
<include file="$(find-pkg-share shape_estimation)/launch/shape_estimation.launch.xml">
<arg name="input/objects" value="labeled_clusters"/>
<arg name="output/objects" value="objects_with_feature"/>
<arg name="use_vehicle_reference_yaw" value="true"/>
</include>
<!-- convert DynamicObjectsWithFeatureArray to DynamicObjects -->
</group>

<!-- convert DynamicObjectsWithFeatureArray to DynamicObjects -->
<group>
<include file="$(find-pkg-share detected_object_feature_remover)/launch/detected_object_feature_remover.launch.xml">
<arg name="input" value="objects_with_feature"/>
<arg name="output" value="objects"/>
Expand All @@ -167,33 +193,38 @@
</group>

<!-- Merger -->
<let name="merger/input/objects" value="$(var lidar_detection_model)/validation/objects" if="$(var use_validator)"/>
<let name="merger/input/objects" value="$(var lidar_detection_model)/objects" unless="$(var use_validator)"/>
<include file="$(find-pkg-share object_merger)/launch/object_association_merger.launch.xml">
<arg name="input/object0" value="$(var merger/input/objects)"/>
<arg name="input/object1" value="clustering/camera_lidar_fusion/short_range_objects"/>
<arg name="output/object" value="camera_lidar_fusion/objects"/>
<arg name="node_name" value="object_association_merger_camera_lidar_fusion"/>
</include>
<include file="$(find-pkg-share object_merger)/launch/object_association_merger.launch.xml">
<arg name="input/object0" value="detection_by_tracker/objects"/>
<arg name="input/object1" value="camera_lidar_fusion/objects"/>
<arg name="output/object" value="temporary_merged_objects"/>
<arg name="node_name" value="object_association_merger_detection_by_tracker"/>
</include>
<include file="$(find-pkg-share object_merger)/launch/object_association_merger.launch.xml">
<arg name="input/object0" value="temporary_merged_objects"/>
<arg name="input/object1" value="clustering/objects"/>
<arg name="output/object" value="objects_before_filter"/>
<arg name="node_name" value="object_association_merger_unknown_clustering"/>
</include>
<group>
<let name="merger/input/objects" value="$(var lidar_detection_model)/validation/objects" if="$(var use_validator)"/>
<let name="merger/input/objects" value="$(var lidar_detection_model)/objects" unless="$(var use_validator)"/>
<include file="$(find-pkg-share object_merger)/launch/object_association_merger.launch.xml">
<arg name="input/object0" value="$(var merger/input/objects)"/>
<arg name="input/object1" value="clustering/camera_lidar_fusion/short_range_objects"/>
<arg name="output/object" value="camera_lidar_fusion/objects"/>
</include>
</group>

<group>
<include file="$(find-pkg-share object_merger)/launch/object_association_merger.launch.xml">
<arg name="input/object0" value="detection_by_tracker/objects"/>
<arg name="input/object1" value="camera_lidar_fusion/objects"/>
<arg name="output/object" value="temporary_merged_objects"/>
</include>
</group>

<group>
<include file="$(find-pkg-share object_merger)/launch/object_association_merger.launch.xml">
<arg name="input/object0" value="temporary_merged_objects"/>
<arg name="input/object1" value="clustering/objects"/>
<arg name="output/object" value="objects_before_filter"/>
</include>
</group>

<!-- Filter -->
<group>
<include file="$(find-pkg-share detected_object_validation)/launch/object_lanelet_filter.launch.xml">
<arg name="input/object" value="objects_before_filter"/>
<arg name="output/object" value="$(var output/objects)"/>
<arg name="filtering_range_param" value="$(find-pkg-share perception_launch)/config/object_recognition/detection/object_lanelet_filter.param.yaml" />
<arg name="filtering_range_param" value="$(find-pkg-share perception_launch)/config/object_recognition/detection/object_lanelet_filter.param.yaml"/>
</include>
</group>
</launch>
Original file line number Diff line number Diff line change
Expand Up @@ -26,20 +26,28 @@
<push-ros-namespace namespace="clustering"/>
<let name="clustering/input/pointcloud" value="/perception/object_recognition/detection/pointcloud_map_filtered/pointcloud" if="$(var use_pointcloud_map)"/>
<let name="clustering/input/pointcloud" value="$(var input/obstacle_segmentation/pointcloud)" unless="$(var use_pointcloud_map)"/>
<include file="$(find-pkg-share euclidean_cluster)/launch/voxel_grid_based_euclidean_cluster.launch.xml">
<arg name="input_pointcloud" value="$(var clustering/input/pointcloud)"/>
<arg name="output_clusters" value="clusters"/>
<arg name="use_pointcloud_map" value="false"/>
</include>
<include file="$(find-pkg-share shape_estimation)/launch/shape_estimation.launch.xml">
<arg name="input/objects" value="clusters"/>
<arg name="output/objects" value="objects_with_feature"/>
</include>
<group>
<include file="$(find-pkg-share euclidean_cluster)/launch/voxel_grid_based_euclidean_cluster.launch.xml">
<arg name="input_pointcloud" value="$(var clustering/input/pointcloud)"/>
<arg name="output_clusters" value="clusters"/>
<arg name="use_pointcloud_map" value="false"/>
</include>
</group>

<group>
<include file="$(find-pkg-share shape_estimation)/launch/shape_estimation.launch.xml">
<arg name="input/objects" value="clusters"/>
<arg name="output/objects" value="objects_with_feature"/>
</include>
</group>

<!-- convert DynamicObjectsWithFeatureArray to DynamicObjects -->
<include file="$(find-pkg-share detected_object_feature_remover)/launch/detected_object_feature_remover.launch.xml">
<arg name="input" value="objects_with_feature"/>
<arg name="output" value="objects"/>
</include>
<group>
<include file="$(find-pkg-share detected_object_feature_remover)/launch/detected_object_feature_remover.launch.xml">
<arg name="input" value="objects_with_feature"/>
<arg name="output" value="objects"/>
</include>
</group>
</group>

<!-- DetectionByTracker -->
Expand All @@ -64,12 +72,20 @@
<group>
<include file="$(find-pkg-share lidar_apollo_instance_segmentation)/launch/lidar_apollo_instance_segmentation.launch.xml">
<arg name="input/pointcloud" value="$(var input/pointcloud)"/>
<arg name="output/objects" value="labeled_clusters"/>
</include>
</group>

<group>
<include file="$(find-pkg-share shape_estimation)/launch/shape_estimation.launch.xml">
<arg name="input/objects" value="labeled_clusters"/>
<arg name="output/objects" value="objects_with_feature"/>
<arg name="use_vehicle_reference_yaw" value="true"/>
</include>
<!-- convert DynamicObjectsWithFeatureArray to DynamicObjects -->
</group>

<!-- convert DynamicObjectsWithFeatureArray to DynamicObjects -->
<group>
<include file="$(find-pkg-share detected_object_feature_remover)/launch/detected_object_feature_remover.launch.xml">
<arg name="input" value="objects_with_feature"/>
<arg name="output" value="objects"/>
Expand All @@ -96,13 +112,14 @@
<arg name="input/object0" value="$(var merger/input/objects)"/>
<arg name="input/object1" value="clustering/objects"/>
<arg name="output/object" value="temporary_merged_objects"/>
<arg name="node_name" value="object_association_merger_unknown_clustering"/>
</include>
</group>

<group>
<include file="$(find-pkg-share object_merger)/launch/object_association_merger.launch.xml">
<arg name="input/object0" value="temporary_merged_objects"/>
<arg name="input/object1" value="detection_by_tracker/objects"/>
<arg name="output/object" value="objects_before_filter"/>
<arg name="node_name" value="object_association_merger_detection_by_tracker"/>
</include>
</group>

Expand All @@ -111,7 +128,7 @@
<include file="$(find-pkg-share detected_object_validation)/launch/object_lanelet_filter.launch.xml">
<arg name="input/object" value="objects_before_filter"/>
<arg name="output/object" value="$(var output/objects)"/>
<arg name="filtering_range_param" value="$(find-pkg-share perception_launch)/config/object_recognition/detection/object_lanelet_filter.param.yaml" />
<arg name="filtering_range_param" value="$(find-pkg-share perception_launch)/config/object_recognition/detection/object_lanelet_filter.param.yaml"/>
</include>
</group>
</launch>
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
<?xml version="1.0"?>
<launch>
<include file="$(find-pkg-share multi_object_tracker)/launch/multi_object_tracker.launch.xml">
<arg name="data_association_matrix_path" value="$(find-pkg-share perception_launch)/config/object_recognition/tracking/multi_object_tracker/data_association_matrix.param.yaml"/>
</include>
<group>
<include file="$(find-pkg-share multi_object_tracker)/launch/multi_object_tracker.launch.xml">
<arg name="data_association_matrix_path" value="$(find-pkg-share perception_launch)/config/object_recognition/tracking/multi_object_tracker/data_association_matrix.param.yaml"/>
</include>
</group>
</launch>
Loading

0 comments on commit dee0e66

Please sign in to comment.