|
1 | 1 | <?xml version="1.0"?>
|
2 | 2 | <launch>
|
| 3 | + <!-- Current namespace --> |
| 4 | + <let name="ns" value="/perception/object_recognition/tracking"/> |
| 5 | + |
3 | 6 | <!-- Radar Tracking and Merger parameters -->
|
4 | 7 | <arg name="object_recognition_tracking_radar_object_tracker_data_association_matrix_param_path" description="association param file for radar far object tracking"/>
|
5 | 8 | <arg name="object_recognition_tracking_radar_object_tracker_tracking_setting_param_path" description="tracking setting param file for radar far object tracking"/>
|
|
13 | 16 | <let name="use_radar_tracking_fusion" value="false" if="$(eval '"$(var mode)"!="camera_lidar_radar_fusion"')"/>
|
14 | 17 |
|
15 | 18 | <!-- External interface -->
|
16 |
| - <arg name="input/detection_input_channels" default="['detected_objects']"/> |
17 |
| - <!-- detection_input_channels: Input channels for multi object tracker, reference: multi_object_tracker/config/input_channels.param.yaml --> |
| 19 | + <let name="input/detection_input_channels" value="['detected_objects']"/> |
18 | 20 | <arg name="input/radar/objects" default="/perception/object_recognition/detection/radar/far_objects"/>
|
19 |
| - <arg name="output/objects" default="/perception/object_recognition/tracking/objects"/> |
20 |
| - |
21 |
| - <!-- Internal interface --> |
22 |
| - <let name="radar_tracker/input/objects" value="$(var input/radar/objects)"/> |
23 |
| - <let name="radar_tracker/output/objects" value="/perception/object_recognition/tracking/radar/far_objects"/> |
24 |
| - |
25 |
| - <let name="multi_object_tracker/input/selected_input_channels" value="$(var input/detection_input_channels)"/> |
26 |
| - <let name="multi_object_tracker/output/objects" value="$(var output/objects)" unless="$(var use_radar_tracking_fusion)"/> |
27 |
| - <let name="multi_object_tracker/output/objects" value="/perception/object_recognition/tracking/near_objects" if="$(var use_radar_tracking_fusion)"/> |
28 |
| - |
29 |
| - <let name="tracker_merger/input/main_objects" value="$(var multi_object_tracker/output/objects)"/> |
30 |
| - <let name="tracker_merger/input/sub_objects" value="$(var radar_tracker/output/objects)"/> |
31 |
| - <let name="tracker_merger/output/objects" value="$(var output/objects)"/> |
32 |
| - |
33 |
| - <!--Multi object tracking--> |
34 |
| - <include file="$(find-pkg-share multi_object_tracker)/launch/multi_object_tracker.launch.xml"> |
35 |
| - <arg name="selected_input_channels" value="$(var multi_object_tracker/input/selected_input_channels)"/> |
36 |
| - <arg name="output" value="$(var multi_object_tracker/output/objects)"/> |
37 |
| - <arg name="data_association_matrix_path" value="$(var object_recognition_tracking_multi_object_tracker_data_association_matrix_param_path)"/> |
38 |
| - <arg name="input_channels_path" value="$(var object_recognition_tracking_multi_object_tracker_input_channels_param_path)"/> |
39 |
| - <arg name="tracker_setting_path" value="$(var object_recognition_tracking_multi_object_tracker_node_param_path)"/> |
40 |
| - </include> |
41 |
| - |
42 |
| - <!-- Run with tracking merger to add far radar information --> |
43 |
| - <group if="$(var use_radar_tracking_fusion)"> |
44 |
| - <!--radar long range dynamic object tracking--> |
45 |
| - <include file="$(find-pkg-share radar_object_tracker)/launch/radar_object_tracker.launch.xml"> |
46 |
| - <arg name="input" value="$(var radar_tracker/input/objects)"/> |
47 |
| - <arg name="output" value="$(var radar_tracker/output/objects)"/> |
48 |
| - <arg name="data_association_matrix_path" value="$(var object_recognition_tracking_radar_object_tracker_data_association_matrix_param_path)"/> |
49 |
| - <arg name="tracker_setting_path" value="$(var object_recognition_tracking_radar_object_tracker_tracking_setting_param_path)"/> |
50 |
| - <arg name="radar_object_tracker_param_path" value="$(var object_recognition_tracking_radar_object_tracker_node_param_path)"/> |
| 21 | + <arg name="output/objects" default="$(var ns)/objects"/> |
| 22 | + |
| 23 | + <group unless="$(var use_multi_channel_tracker_merger)"> |
| 24 | + <!-- Internal interface --> |
| 25 | + <let name="radar_tracker/input/objects" value="$(var input/radar/objects)"/> |
| 26 | + <let name="radar_tracker/output/objects" value="$(var ns)/radar/far_objects"/> |
| 27 | + |
| 28 | + <let name="multi_object_tracker/input/selected_input_channels" value="$(var input/detection_input_channels)"/> |
| 29 | + <let name="multi_object_tracker/output/objects" value="$(var output/objects)" unless="$(var use_radar_tracking_fusion)"/> |
| 30 | + <let name="multi_object_tracker/output/objects" value="$(var ns)/near_objects" if="$(var use_radar_tracking_fusion)"/> |
| 31 | + |
| 32 | + <let name="tracker_merger/input/main_objects" value="$(var multi_object_tracker/output/objects)"/> |
| 33 | + <let name="tracker_merger/input/sub_objects" value="$(var radar_tracker/output/objects)"/> |
| 34 | + <let name="tracker_merger/output/objects" value="$(var output/objects)"/> |
| 35 | + |
| 36 | + <!-- Multi object tracking --> |
| 37 | + <include file="$(find-pkg-share multi_object_tracker)/launch/multi_object_tracker.launch.xml"> |
| 38 | + <arg name="selected_input_channels" value="$(var multi_object_tracker/input/selected_input_channels)"/> |
| 39 | + <arg name="output" value="$(var multi_object_tracker/output/objects)"/> |
| 40 | + <arg name="data_association_matrix_path" value="$(var object_recognition_tracking_multi_object_tracker_data_association_matrix_param_path)"/> |
| 41 | + <arg name="input_channels_path" value="$(var object_recognition_tracking_multi_object_tracker_input_channels_param_path)"/> |
| 42 | + <arg name="tracker_setting_path" value="$(var object_recognition_tracking_multi_object_tracker_node_param_path)"/> |
51 | 43 | </include>
|
52 | 44 |
|
53 |
| - <!--tracking object merger to merge near objects and far objects --> |
54 |
| - <include file="$(find-pkg-share tracking_object_merger)/launch/decorative_tracker_merger.launch.xml"> |
55 |
| - <arg name="input/main_object" value="$(var tracker_merger/input/main_objects)"/> |
56 |
| - <arg name="input/sub_object" value="$(var tracker_merger/input/sub_objects)"/> |
57 |
| - <arg name="output" value="$(var tracker_merger/output/objects)"/> |
58 |
| - <arg name="data_association_matrix_path" value="$(var object_recognition_tracking_object_merger_data_association_matrix_param_path)"/> |
59 |
| - <arg name="node_param_file_path" value="$(var object_recognition_tracking_object_merger_node_param_path)"/> |
| 45 | + <!-- Run with tracking merger to add far radar information --> |
| 46 | + <group if="$(var use_radar_tracking_fusion)"> |
| 47 | + <!-- radar long range dynamic object tracking --> |
| 48 | + <include file="$(find-pkg-share radar_object_tracker)/launch/radar_object_tracker.launch.xml"> |
| 49 | + <arg name="input" value="$(var radar_tracker/input/objects)"/> |
| 50 | + <arg name="output" value="$(var radar_tracker/output/objects)"/> |
| 51 | + <arg name="data_association_matrix_path" value="$(var object_recognition_tracking_radar_object_tracker_data_association_matrix_param_path)"/> |
| 52 | + <arg name="tracker_setting_path" value="$(var object_recognition_tracking_radar_object_tracker_tracking_setting_param_path)"/> |
| 53 | + <arg name="radar_object_tracker_param_path" value="$(var object_recognition_tracking_radar_object_tracker_node_param_path)"/> |
| 54 | + </include> |
| 55 | + |
| 56 | + <!-- tracking object merger to merge near objects and far objects --> |
| 57 | + <include file="$(find-pkg-share tracking_object_merger)/launch/decorative_tracker_merger.launch.xml"> |
| 58 | + <arg name="input/main_object" value="$(var tracker_merger/input/main_objects)"/> |
| 59 | + <arg name="input/sub_object" value="$(var tracker_merger/input/sub_objects)"/> |
| 60 | + <arg name="output" value="$(var tracker_merger/output/objects)"/> |
| 61 | + <arg name="data_association_matrix_path" value="$(var object_recognition_tracking_object_merger_data_association_matrix_param_path)"/> |
| 62 | + <arg name="node_param_file_path" value="$(var object_recognition_tracking_object_merger_node_param_path)"/> |
| 63 | + </include> |
| 64 | + </group> |
| 65 | + </group> |
| 66 | + |
| 67 | + <!-- Object list for multi-channel tracker merger --> |
| 68 | + <group if="$(var use_multi_channel_tracker_merger)"> |
| 69 | + <let name="detection_enabled_channels" value="$(var input/detection_input_channels)"/> |
| 70 | + <group scoped="false" if="$(eval '"$(var mode)"=="camera_lidar_radar_fusion"')"> |
| 71 | + <let name="detection_enabled_channels" value="['lidar_$(var lidar_detection_model)_validated','camera_lidar_fusion','detection_by_tracker','radar_far']" if="$(var use_detection_by_tracker)"/> |
| 72 | + <let name="detection_enabled_channels" value="['lidar_$(var lidar_detection_model)_validated','camera_lidar_fusion','radar_far']" unless="$(var use_detection_by_tracker)"/> |
| 73 | + </group> |
| 74 | + <group scoped="false" if="$(eval '"$(var mode)"=="camera_lidar_fusion"')"> |
| 75 | + <let name="detection_enabled_channels" value="['lidar_$(var lidar_detection_model)_validated','camera_lidar_fusion','detection_by_tracker']" if="$(var use_detection_by_tracker)"/> |
| 76 | + <let name="detection_enabled_channels" value="['lidar_$(var lidar_detection_model)_validated','camera_lidar_fusion']" unless="$(var use_detection_by_tracker)"/> |
| 77 | + </group> |
| 78 | + <group scoped="false" if="$(eval '"$(var mode)"=="lidar_radar_fusion"')"> |
| 79 | + <let name="detection_enabled_channels" value="['lidar_$(var lidar_detection_model)_validated','detection_by_tracker','radar_far']" if="$(var use_detection_by_tracker)"/> |
| 80 | + <let name="detection_enabled_channels" value="['lidar_$(var lidar_detection_model)_validated','radar_far']" unless="$(var use_detection_by_tracker)"/> |
| 81 | + </group> |
| 82 | + <group scoped="false" if="$(eval '"$(var mode)"=="lidar"')"> |
| 83 | + <let name="detection_enabled_channels" value="['lidar_$(var lidar_detection_model)_validated','detection_by_tracker']" if="$(var use_detection_by_tracker)"/> |
| 84 | + <let name="detection_enabled_channels" value="['lidar_$(var lidar_detection_model)_validated']" unless="$(var use_detection_by_tracker)"/> |
| 85 | + </group> |
| 86 | + <group scoped="false" if="$(eval '"$(var mode)"=="radar"')"> |
| 87 | + <let name="detection_enabled_channels" value="['radar_far']"/> |
| 88 | + </group> |
| 89 | + |
| 90 | + <!-- Multi object tracking --> |
| 91 | + <include file="$(find-pkg-share multi_object_tracker)/launch/multi_object_tracker.launch.xml"> |
| 92 | + <arg name="selected_input_channels" value="$(var detection_enabled_channels)"/> |
| 93 | + <arg name="output" value="$(var output/objects)"/> |
| 94 | + <arg name="data_association_matrix_path" value="$(var object_recognition_tracking_multi_object_tracker_data_association_matrix_param_path)"/> |
| 95 | + <arg name="input_channels_path" value="$(var object_recognition_tracking_multi_object_tracker_input_channels_param_path)"/> |
| 96 | + <arg name="tracker_setting_path" value="$(var object_recognition_tracking_multi_object_tracker_node_param_path)"/> |
60 | 97 | </include>
|
61 | 98 | </group>
|
62 | 99 | </launch>
|
0 commit comments