Skip to content

Commit a682a2b

Browse files
authored
Merge branch 'main' into RT1-9334-Implement-abnormality-detection-method
2 parents 9e07820 + 538cf8d commit a682a2b

File tree

36 files changed

+1455
-114
lines changed

36 files changed

+1455
-114
lines changed

common/autoware_agnocast_wrapper/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ ament_export_include_directories(
1515
include
1616
)
1717

18+
ament_export_dependencies(
19+
agnocastlib
20+
)
21+
1822
install(
1923
FILES cmake/agnocast_wrapper_config_extras.cmake
2024
DESTINATION share/${PROJECT_NAME}/cmake

common/autoware_agnocast_wrapper/cmake/agnocast_wrapper_config_extras.cmake

+13-13
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
// Copyright 2025 TIER IV, Inc.
2-
//
3-
// Licensed under the Apache License, Version 2.0 (the "License");
4-
// you may not use this file except in compliance with the License.
5-
// You may obtain a copy of the License at
6-
//
7-
// http://www.apache.org/licenses/LICENSE-2.0
8-
//
9-
// Unless required by applicable law or agreed to in writing, software
10-
// distributed under the License is distributed on an "AS IS" BASIS,
11-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12-
// See the License for the specific language governing permissions and
13-
// limitations under the License.
1+
# Copyright 2025 TIER IV, Inc.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
1414

1515
function(autoware_agnocast_wrapper_setup target)
1616
if(DEFINED ENV{ENABLE_AGNOCAST} AND "$ENV{ENABLE_AGNOCAST}" STREQUAL "1")

common/autoware_agnocast_wrapper/include/autoware/agnocast_wrapper/autoware_agnocast_wrapper.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838

3939
#else
4040

41-
#include "autoware/universe_utils/ros/polling_subscriber.hpp"
41+
#include "autoware_utils/ros/polling_subscriber.hpp"
4242

4343
#include <rclcpp/rclcpp.hpp>
4444

@@ -49,7 +49,7 @@
4949
#define AUTOWARE_PUBLISHER_PTR(MessageT) typename rclcpp::Publisher<MessageT>::SharedPtr
5050

5151
#define AUTOWARE_POLLING_SUBSCRIBER(MessageT) \
52-
typename autoware::universe_utils::InterProcessPollingSubscriber<MessageT>
52+
typename autoware_utils::InterProcessPollingSubscriber<MessageT>
5353

5454
#define AUTOWARE_CREATE_SUBSCRIPTION(message_type, topic, qos, callback, options) \
5555
this->create_subscription<message_type>(topic, qos, callback, options)

common/autoware_agnocast_wrapper/package.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<buildtool_depend>autoware_cmake</buildtool_depend>
1212

1313
<build_depend>agnocastlib</build_depend>
14-
<depend>rclcpp</depend>
14+
<build_depend>rclcpp</build_depend>
1515

1616
<test_depend>ament_lint_auto</test_depend>
1717
<test_depend>ament_lint_common</test_depend>

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

+27-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
<arg name="use_low_intensity_cluster_filter"/>
1717
<arg name="use_image_segmentation_based_filter"/>
1818
<arg name="use_multi_channel_tracker_merger"/>
19+
<arg name="use_irregular_object_detector"/>
20+
<arg name="irregular_object_detector_fusion_camera_ids" default="[0]"/>
1921

2022
<!-- External interfaces -->
2123
<arg name="number_of_cameras"/>
@@ -46,6 +48,7 @@
4648
<arg name="input/camera7/image"/>
4749
<arg name="input/camera7/info"/>
4850
<arg name="input/camera7/rois"/>
51+
<arg name="image_topic_name"/>
4952
<arg name="input/radar"/>
5053
<arg name="input/tracked_objects" default="/perception/object_recognition/tracking/objects"/>
5154
<arg name="output/objects" default="objects"/>
@@ -64,6 +67,9 @@
6467
<let name="radar_pipeline/output/objects" value="$(var ns)/radar/far_objects"/>
6568
<let name="radar_object_filter/output/objects" value="$(var ns)/radar/far_objects"/>
6669

70+
<let name="irregular_object_detector_ns" value="irregular_object"/>
71+
<let name="irregular_object_pipeline/output/objects" value="$(var ns)/$(var irregular_object_detector_ns)/objects"/>
72+
6773
<let name="object_validator/input/obstacle_pointcloud" value="$(var pointcloud_filter/output/pointcloud)" if="$(var use_pointcloud_map)"/>
6874
<let name="object_validator/input/obstacle_pointcloud" value="$(var input/obstacle_segmentation/pointcloud)" unless="$(var use_pointcloud_map)"/>
6975
<let name="object_merger/input/ml_detected_objects" value="$(var lidar_object_filter/output/objects)" if="$(var use_validator)"/>
@@ -77,6 +83,7 @@
7783
<let name="switch/detector/radar_only" value="false"/>
7884
<let name="switch/detector/tracker_based" value="false"/>
7985
<let name="switch/detector/tracker_based" value="true" if="$(var use_detection_by_tracker)"/>
86+
<let name="switch/detector/irregular_object" value="$(var use_irregular_object_detector)"/>
8087

8188
<let name="switch/filter/pointcloud" value="false"/>
8289
<let name="switch/filter/camera_lidar_object" value="false"/>
@@ -117,17 +124,20 @@
117124
<let name="switch/detector/lidar_rule" value="true"/>
118125
<let name="switch/detector/radar" value="true"/>
119126
<let name="switch/merger/lidar_radar" value="true" unless="$(var use_multi_channel_tracker_merger)"/>
127+
<let name="switch/detector/irregular_object" value="false"/>
120128
</group>
121129
<group scoped="false" if="$(eval '&quot;$(var mode)&quot;==&quot;lidar&quot;')">
122130
<let name="switch/filter/pointcloud" value="true"/>
123131
<let name="switch/detector/lidar_dnn" value="true"/>
124132
<let name="switch/detector/lidar_rule" value="true"/>
125133
<let name="switch/merger/lidar" value="true" unless="$(var use_multi_channel_tracker_merger)"/>
134+
<let name="switch/detector/irregular_object" value="false"/>
126135
</group>
127136
<group scoped="false" if="$(eval '&quot;$(var mode)&quot;==&quot;radar&quot;')">
128137
<let name="switch/detector/radar" value="true" if="$(var use_multi_channel_tracker_merger)"/>
129138
<let name="switch/detector/radar_only" value="true" unless="$(var use_multi_channel_tracker_merger)"/>
130139
<let name="switch/detector/tracker_based" value="false"/>
140+
<let name="switch/detector/irregular_object" value="false"/>
131141
</group>
132142

133143
<!-- Detector -->
@@ -170,12 +180,24 @@
170180
<arg name="lidar_detection_model_type" value="$(var lidar_detection_model_type)"/>
171181
<arg name="lidar_detection_model_name" value="$(var lidar_detection_model_name)"/>
172182
<arg name="use_low_height_cropbox" value="$(var use_low_height_cropbox)"/>
173-
<arg name="use_roi_based_cluster" value="$(var use_roi_based_cluster)"/>
174183
<arg name="detection_by_tracker_param_path" value="$(var detection_by_tracker_param_path)"/>
175184
<arg name="use_low_intensity_cluster_filter" value="$(var use_low_intensity_cluster_filter)"/>
176185
<arg name="use_image_segmentation_based_filter" value="$(var use_image_segmentation_based_filter)"/>
177186
</include>
178187
</group>
188+
189+
<group if="$(var switch/detector/irregular_object)">
190+
<!-- Irregular object detector -->
191+
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/detector/camera_lidar_irregular_object_detector.launch.xml">
192+
<arg name="ns" value="$(var ns)"/>
193+
<arg name="pipeline_ns" value="$(var irregular_object_detector_ns)"/>
194+
<arg name="fusion_camera_ids" value="$(var irregular_object_detector_fusion_camera_ids)"/>
195+
<arg name="image_topic_name" value="$(var image_topic_name)"/>
196+
<arg name="input/pointcloud" value="$(var input/pointcloud)"/>
197+
<arg name="output/objects" value="$(var irregular_object_pipeline/output/objects)"/>
198+
<arg name="irregular_object_detector_param_path" value="$(var irregular_object_detector_param_path)"/>
199+
</include>
200+
</group>
179201
<group if="$(var switch/detector/lidar_dnn)">
180202
<!-- Lidar dnn-based detectors-->
181203
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/detector/lidar_dnn_detector.launch.xml">
@@ -302,6 +324,8 @@
302324
<arg name="use_object_filter" value="$(var use_object_filter)"/>
303325
<arg name="objects_filter_method" value="$(var objects_filter_method)"/>
304326
<arg name="roi_detected_object_fusion_param_path" value="$(var roi_detected_object_fusion_param_path)"/>
327+
<arg name="use_irregular_object_detector" value="$(var switch/detector/irregular_object)"/>
328+
<arg name="detected_irregular_object/output/objects" value="$(var irregular_object_pipeline/output/objects)"/>
305329
</include>
306330
</group>
307331

@@ -336,12 +360,14 @@
336360
<arg name="input/lidar_ml/objects" value="$(var object_merger/input/ml_detected_objects)"/>
337361
<arg name="input/lidar_rule/objects" value="$(var camera_lidar_rule_detector/output/objects)"/>
338362
<arg name="input/detection_by_tracker/objects" value="$(var tracker_based_detector/output/objects)"/>
363+
<arg name="detected_irregular_object/output/objects" value="$(var irregular_object_pipeline/output/objects)"/>
339364
<arg name="output/objects" value="$(var output/objects)"/>
340365
<arg name="use_object_filter" value="$(var use_object_filter)"/>
341366
<arg name="objects_filter_method" value="$(var objects_filter_method)"/>
342367
<arg name="lidar_detection_model_type" value="$(var lidar_detection_model_type)"/>
343368
<arg name="use_detection_by_tracker" value="$(var use_detection_by_tracker)"/>
344369
<arg name="use_pointcloud_map" value="$(var use_pointcloud_map)"/>
370+
<arg name="use_irregular_object_detector" value="$(var switch/detector/irregular_object)"/>
345371
</include>
346372
</group>
347373

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

+2-56
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
<!-- Lidar + Camera detector parameters -->
77
<arg name="lidar_detection_model_type" description="options: `transfusion`, `centerpoint`, `pointpainting`, `apollo`, `clustering`"/>
88
<arg name="lidar_detection_model_name" description="options: `transfusion`, `centerpoint`, `centerpoint_tiny`, `centerpoint_sigma`, `pointpainting`"/>
9-
<arg name="use_roi_based_cluster"/>
109
<arg name="use_low_intensity_cluster_filter"/>
1110
<arg name="use_image_segmentation_based_filter"/>
1211

@@ -64,14 +63,8 @@
6463
<let name="low_intensity_cluster_filter/input/clusters" value="$(var roi_cluster_fusion/output/clusters)"/>
6564
<let name="low_intensity_cluster_filter/output/clusters" value="$(var ns)/clustering/camera_lidar_fusion/filtered/clusters"/>
6665

67-
<let name="roi_cluster/input/pointcloud" value="$(var input/pointcloud_map/pointcloud)"/>
68-
<let name="roi_cluster/output/clusters" value="$(var ns)/clustering/roi_cluster/clusters"/>
69-
<let name="roi_cluster_merger/input/clusters0" value="$(var low_intensity_cluster_filter/output/clusters)" if="$(var use_low_intensity_cluster_filter)"/>
70-
<let name="roi_cluster_merger/input/clusters0" value="$(var roi_cluster_fusion/output/clusters)" unless="$(var use_low_intensity_cluster_filter)"/>
71-
<let name="roi_cluster_merger/output/clusters" value="$(var ns)/clustering/camera_lidar_fusion/merger/clusters"/>
72-
73-
<let name="shape_estimation2/input/clusters" value="$(var roi_cluster_merger/output/clusters)" if="$(var use_roi_based_cluster)"/>
74-
<let name="shape_estimation2/input/clusters" value="$(var roi_cluster_merger/input/clusters0)" unless="$(var use_roi_based_cluster)"/>
66+
<let name="shape_estimation2/input/clusters" value="$(var roi_cluster_fusion/output/clusters)" unless="$(var use_low_intensity_cluster_filter)"/>
67+
<let name="shape_estimation2/input/clusters" value="$(var low_intensity_cluster_filter/output/clusters)" if="$(var use_low_intensity_cluster_filter)"/>
7568
<let name="shape_estimation2/output/objects" value="$(var ns)/clustering/camera_lidar_fusion/objects_with_feature"/>
7669
<let name="detected_object_feature_remover/input/objects_with_feature" value="$(var shape_estimation2/output/objects)"/>
7770
<let name="detected_object_feature_remover/output/objects" value="$(var output/rule_detector/objects)"/>
@@ -152,44 +145,6 @@
152145
</include>
153146
</group>
154147

155-
<!-- roi based clustering -->
156-
<group>
157-
<push-ros-namespace namespace="roi_cluster"/>
158-
<group>
159-
<include file="$(find-pkg-share autoware_image_projection_based_fusion)/launch/roi_pointcloud_fusion.launch.xml" if="$(var use_roi_based_cluster)">
160-
<arg name="input/rois_number" value="$(var number_of_cameras)"/>
161-
<arg name="input/rois0" value="$(var input/camera0/rois)"/>
162-
<arg name="input/rois1" value="$(var input/camera1/rois)"/>
163-
<arg name="input/rois2" value="$(var input/camera2/rois)"/>
164-
<arg name="input/rois3" value="$(var input/camera3/rois)"/>
165-
<arg name="input/rois4" value="$(var input/camera4/rois)"/>
166-
<arg name="input/rois5" value="$(var input/camera5/rois)"/>
167-
<arg name="input/rois6" value="$(var input/camera6/rois)"/>
168-
<arg name="input/rois7" value="$(var input/camera7/rois)"/>
169-
<arg name="input/camera_info0" value="$(var input/camera0/info)"/>
170-
<arg name="input/camera_info1" value="$(var input/camera1/info)"/>
171-
<arg name="input/camera_info2" value="$(var input/camera2/info)"/>
172-
<arg name="input/camera_info3" value="$(var input/camera3/info)"/>
173-
<arg name="input/camera_info4" value="$(var input/camera4/info)"/>
174-
<arg name="input/camera_info5" value="$(var input/camera5/info)"/>
175-
<arg name="input/camera_info6" value="$(var input/camera6/info)"/>
176-
<arg name="input/camera_info7" value="$(var input/camera7/info)"/>
177-
<arg name="input/image0" value="$(var input/camera0/image)"/>
178-
<arg name="input/image1" value="$(var input/camera1/image)"/>
179-
<arg name="input/image2" value="$(var input/camera2/image)"/>
180-
<arg name="input/image3" value="$(var input/camera3/image)"/>
181-
<arg name="input/image4" value="$(var input/camera4/image)"/>
182-
<arg name="input/image5" value="$(var input/camera5/image)"/>
183-
<arg name="input/image6" value="$(var input/camera6/image)"/>
184-
<arg name="input/image7" value="$(var input/camera7/image)"/>
185-
<arg name="input/pointcloud" value="$(var roi_cluster/input/pointcloud)"/>
186-
<arg name="output/clusters" value="$(var roi_cluster/output/clusters)"/>
187-
<arg name="param_path" value="$(var roi_pointcloud_fusion_param_path)"/>
188-
<arg name="pointcloud_container_name" value="$(var node/pointcloud_container)"/>
189-
</include>
190-
</group>
191-
</group>
192-
193148
<!-- shape_estimation 1 -->
194149
<group>
195150
<include file="$(find-pkg-share autoware_shape_estimation)/launch/shape_estimation.launch.xml">
@@ -244,15 +199,6 @@
244199
</include>
245200
</group>
246201

247-
<!-- simple_cluster_merger -->
248-
<group>
249-
<include file="$(find-pkg-share autoware_cluster_merger)/launch/cluster_merger.launch.xml" if="$(var use_roi_based_cluster)">
250-
<arg name="input/cluster0" value="$(var roi_cluster_merger/input/clusters0)"/>
251-
<arg name="input/cluster1" value="$(var roi_cluster/output/clusters)"/>
252-
<arg name="output/clusters" value="$(var roi_cluster_merger/output/clusters)"/>
253-
</include>
254-
</group>
255-
256202
<group>
257203
<include file="$(find-pkg-share autoware_shape_estimation)/launch/shape_estimation.launch.xml">
258204
<arg name="input/objects" value="$(var shape_estimation2/input/clusters)"/>

0 commit comments

Comments
 (0)