Skip to content

Commit 670f070

Browse files
authored
Merge branch 'main' into feat/add_lidar_marker_localizer
2 parents 1f4c684 + be5663c commit 670f070

File tree

218 files changed

+14121
-1392
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

218 files changed

+14121
-1392
lines changed

.github/CODEOWNERS

+24-21
Large diffs are not rendered by default.

.github/workflows/build-and-test-differential.yaml

+8-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
build-and-test-differential:
1717
needs: prevent-no-label-execution
1818
if: ${{ needs.prevent-no-label-execution.outputs.run == 'true' }}
19-
runs-on: ubuntu-latest
19+
runs-on: [self-hosted, linux, X64]
2020
container: ${{ matrix.container }}${{ matrix.container-suffix }}
2121
strategy:
2222
fail-fast: false
@@ -36,6 +36,9 @@ jobs:
3636
with:
3737
fetch-depth: 0
3838

39+
- name: Check disk space before build
40+
run: df -h
41+
3942
- name: Remove exec_depend
4043
uses: autowarefoundation/autoware-github-actions/remove-exec-depend@v1
4144

@@ -69,8 +72,11 @@ jobs:
6972
verbose: true
7073
flags: differential
7174

75+
- name: Check disk space after build
76+
run: df -h
77+
7278
clang-tidy-differential:
73-
runs-on: ubuntu-latest
79+
runs-on: [self-hosted, linux, X64]
7480
container: ghcr.io/autowarefoundation/autoware-universe:humble-latest-cuda
7581
needs: build-and-test-differential
7682
steps:

common/tensorrt_common/include/tensorrt_common/logger.hpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,7 @@ namespace
493493
//!
494494
inline LogStreamConsumer LOG_VERBOSE(const Logger & logger)
495495
{
496-
return LogStreamConsumer(logger.getReportableSeverity(), Severity::kVERBOSE) << "[TRT] ";
496+
return LogStreamConsumer(logger.getReportableSeverity(), Severity::kVERBOSE);
497497
}
498498

499499
//!
@@ -505,7 +505,7 @@ inline LogStreamConsumer LOG_VERBOSE(const Logger & logger)
505505
//!
506506
inline LogStreamConsumer LOG_INFO(const Logger & logger)
507507
{
508-
return LogStreamConsumer(logger.getReportableSeverity(), Severity::kINFO) << "[TRT] ";
508+
return LogStreamConsumer(logger.getReportableSeverity(), Severity::kINFO);
509509
}
510510

511511
//!
@@ -517,7 +517,7 @@ inline LogStreamConsumer LOG_INFO(const Logger & logger)
517517
//!
518518
inline LogStreamConsumer LOG_WARN(const Logger & logger)
519519
{
520-
return LogStreamConsumer(logger.getReportableSeverity(), Severity::kWARNING) << "[TRT] ";
520+
return LogStreamConsumer(logger.getReportableSeverity(), Severity::kWARNING);
521521
}
522522

523523
//!
@@ -529,7 +529,7 @@ inline LogStreamConsumer LOG_WARN(const Logger & logger)
529529
//!
530530
inline LogStreamConsumer LOG_ERROR(const Logger & logger)
531531
{
532-
return LogStreamConsumer(logger.getReportableSeverity(), Severity::kERROR) << "[TRT] ";
532+
return LogStreamConsumer(logger.getReportableSeverity(), Severity::kERROR);
533533
}
534534

535535
//!
@@ -543,7 +543,7 @@ inline LogStreamConsumer LOG_ERROR(const Logger & logger)
543543
//!
544544
inline LogStreamConsumer LOG_FATAL(const Logger & logger)
545545
{
546-
return LogStreamConsumer(logger.getReportableSeverity(), Severity::kINTERNAL_ERROR) << "[TRT] ";
546+
return LogStreamConsumer(logger.getReportableSeverity(), Severity::kINTERNAL_ERROR);
547547
}
548548

549549
} // anonymous namespace

launch/tier4_localization_launch/launch/localization.launch.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<?xml version="1.0"?>
22
<launch>
3-
<!-- Parameter files -->
4-
<arg name="pose_source"/>
3+
<arg name="pose_source" description="A string consisting of ndt, yabloc, artag and eagleye joined by underscores no matter the order. e.g. ndt_yabloc"/>
54
<arg name="twist_source"/>
65
<arg name="system_run_mode"/>
76

7+
<!-- Parameter files -->
88
<arg name="crop_box_filter_measurement_range_param_path"/>
99
<arg name="voxel_grid_downsample_filter_param_path"/>
1010
<arg name="random_downsample_filter_param_path"/>

launch/tier4_localization_launch/launch/pose_twist_estimator/ar_tag_based_localizer.launch.xml

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
<?xml version="1.0"?>
22
<launch>
33
<group>
4+
<arg name="input_image"/>
5+
46
<include file="$(find-pkg-share ar_tag_based_localizer)/launch/ar_tag_based_localizer.launch.xml">
57
<arg name="input_lanelet2_map" value="/map/vector_map"/>
6-
<arg name="input_image" value="/sensing/camera/traffic_light/image_raw"/>
8+
<arg name="input_image" value="$(var input_image)"/>
79
<arg name="input_camera_info" value="/sensing/camera/traffic_light/camera_info"/>
810
<arg name="input_ekf_pose" value="/localization/pose_twist_fusion_filter/biased_pose_with_covariance"/>
911
<arg name="output_pose_with_covariance" value="/localization/pose_estimator/pose_with_covariance"/>

launch/tier4_localization_launch/launch/pose_twist_estimator/pose_twist_estimator.launch.xml

+89-125
Original file line numberDiff line numberDiff line change
@@ -1,153 +1,117 @@
11
<?xml version="1.0"?>
22
<launch>
3+
<!-- only when running with a real vehicle, the pose_initializer judges the stop -->
34
<let name="stop_check_enabled" if="$(eval &quot;'$(var system_run_mode)'=='online'&quot;)" value="true"/>
45
<let name="stop_check_enabled" if="$(eval &quot;'$(var system_run_mode)'=='logging_simulation'&quot;)" value="false"/>
56

7+
<!-- When gnss_enabled is false, automatic_pose_initializer will not run, only manual initial position estimation is available. -->
8+
<arg name="gnss_enabled" default="true" description="gnss availability for initial position estimation"/>
9+
10+
<!-- split string with underscores -->
11+
<let name="available_args" value="[\'ndt\',\'yabloc\',\'eagleye\',\'artag\']"/>
12+
<let name="split_function" value="list(set('$(var pose_source)'.split('_')).intersection($(var available_args)))"/>
13+
<let name="pose_sources" value="$(eval $(var split_function))"/>
14+
<let name="multi_localizer_mode" value="$(eval &quot;len($(var pose_sources))> 1&quot;)"/>
15+
16+
<!-- organizes flags for which nodes to activate -->
17+
<let name="use_ndt_pose" value="$(eval &quot;'ndt' in $(var pose_sources)&quot;)"/>
18+
<let name="use_yabloc_pose" value="$(eval &quot;'yabloc' in $(var pose_sources)&quot;)"/>
19+
<let name="use_artag_pose" value="$(eval &quot;'artag' in $(var pose_sources)&quot;)"/>
20+
<let name="use_eagleye_pose" value="$(eval &quot;'eagleye' in $(var pose_sources)&quot;)"/>
21+
<let name="use_eagleye_twist" value="$(eval &quot;'eagleye' == '$(var twist_source)'&quot;)"/>
22+
<let name="use_gyro_odom_twist" value="$(eval &quot;'gyro_odom' == '$(var twist_source)'&quot;)"/>
23+
624
<!-- NDT Scan Matcher Launch (as pose estimator) -->
7-
<group if="$(eval &quot;'$(var pose_source)'=='ndt'&quot;)">
8-
<group>
9-
<push-ros-namespace namespace="pose_estimator"/>
10-
<include file="$(find-pkg-share tier4_localization_launch)/launch/pose_twist_estimator/ndt_scan_matcher.launch.xml"/>
11-
</group>
12-
<group>
13-
<push-ros-namespace namespace="util"/>
14-
<include file="$(find-pkg-share pose_initializer)/launch/pose_initializer.launch.xml">
15-
<arg name="ndt_enabled" value="true"/>
16-
<arg name="gnss_enabled" value="true"/>
17-
<arg name="ekf_enabled" value="true"/>
18-
<arg name="yabloc_enabled" value="false"/>
19-
<arg name="stop_check_enabled" value="$(var stop_check_enabled)"/>
20-
<arg name="config_file" value="$(var pose_initializer_param_path)"/>
21-
<arg name="sub_gnss_pose_cov" value="/sensing/gnss/pose_with_covariance"/>
22-
</include>
23-
<group if="$(var gnss_enabled)">
24-
<include file="$(find-pkg-share automatic_pose_initializer)/launch/automatic_pose_initializer.launch.xml"/>
25-
</group>
26-
<include file="$(find-pkg-share tier4_localization_launch)/launch/util/util.launch.py">
27-
<arg name="lidar_container_name" value="$(var lidar_container_name)"/>
28-
</include>
29-
</group>
25+
<group if="$(var use_ndt_pose)">
26+
<push-ros-namespace namespace="pose_estimator"/>
27+
<include file="$(find-pkg-share tier4_localization_launch)/launch/pose_twist_estimator/ndt_scan_matcher.launch.xml"/>
3028
</group>
3129

3230
<!-- YabLoc Launch (as pose estimator) -->
33-
<group if="$(eval &quot;'$(var pose_source)'=='yabloc'&quot;)">
34-
<group>
35-
<push-ros-namespace namespace="pose_estimator"/>
36-
<include file="$(find-pkg-share tier4_localization_launch)/launch/pose_twist_estimator/yabloc.launch.xml"/>
37-
</group>
38-
<group>
39-
<push-ros-namespace namespace="util"/>
40-
<include file="$(find-pkg-share pose_initializer)/launch/pose_initializer.launch.xml">
41-
<arg name="ndt_enabled" value="false"/>
42-
<arg name="gnss_enabled" value="true"/>
43-
<arg name="ekf_enabled" value="true"/>
44-
<arg name="yabloc_enabled" value="true"/>
45-
<arg name="stop_check_enabled" value="$(var stop_check_enabled)"/>
46-
<arg name="config_file" value="$(var pose_initializer_param_path)"/>
47-
<arg name="sub_gnss_pose_cov" value="/sensing/gnss/pose_with_covariance"/>
48-
</include>
49-
<group if="$(var gnss_enabled)">
50-
<include file="$(find-pkg-share automatic_pose_initializer)/launch/automatic_pose_initializer.launch.xml"/>
51-
</group>
52-
</group>
31+
<group if="$(var use_yabloc_pose)">
32+
<push-ros-namespace namespace="pose_estimator"/>
33+
<let name="yabloc_src_image" value="/sensing/camera/traffic_light/image_raw" unless="$(var multi_localizer_mode)"/>
34+
<let name="yabloc_src_image" value="/sensing/camera/traffic_light/image_raw/yabloc_relay" if="$(var multi_localizer_mode)"/>
35+
36+
<include file="$(find-pkg-share tier4_localization_launch)/launch/pose_twist_estimator/yabloc.launch.xml">
37+
<arg name="src_image" value="$(var yabloc_src_image)"/>
38+
</include>
5339
</group>
5440

55-
<!-- Gyro Odometer Launch (as pose estimator) -->
56-
<group if="$(eval &quot;'$(var twist_source)'=='gyro_odom'&quot;)">
41+
<!-- Gyro Odometer Launch (as twist estimator) -->
42+
<group if="$(var use_gyro_odom_twist)">
5743
<push-ros-namespace namespace="twist_estimator"/>
5844
<include file="$(find-pkg-share tier4_localization_launch)/launch/pose_twist_estimator/gyro_odometer.launch.xml"/>
5945
</group>
6046

61-
<!-- Eagleye Launch (as pose & twist estimator) -->
62-
<group if="$(eval &quot;'$(var pose_source)'=='eagleye' and '$(var twist_source)'=='eagleye'&quot;)">
63-
<group>
64-
<push-ros-namespace namespace="pose_twist_estimator"/>
65-
<include file="$(find-pkg-share tier4_localization_launch)/launch/pose_twist_estimator/eagleye/eagleye_rt.launch.xml">
66-
<arg name="output_twist_with_cov_name" value="/localization/twist_estimator/twist_with_covariance"/>
67-
<arg name="output_pose_with_cov_name" value="/localization/pose_estimator/pose_with_covariance"/>
68-
<arg name="use_eagleye_pose" value="true"/>
69-
<arg name="use_eagleye_twist" value="true"/>
70-
</include>
71-
</group>
72-
<group>
73-
<push-ros-namespace namespace="util"/>
74-
<include file="$(find-pkg-share pose_initializer)/launch/pose_initializer.launch.xml">
75-
<arg name="ndt_enabled" value="false"/>
76-
<arg name="gnss_enabled" value="true"/>
77-
<arg name="ekf_enabled" value="true"/>
78-
<arg name="yabloc_enabled" value="false"/>
79-
<arg name="stop_check_enabled" value="$(var stop_check_enabled)"/>
80-
<arg name="config_file" value="$(var pose_initializer_param_path)"/>
81-
<arg name="sub_gnss_pose_cov" value="/localization/pose_estimator/pose_with_covariance"/>
82-
</include>
83-
<group if="$(var gnss_enabled)">
84-
<include file="$(find-pkg-share automatic_pose_initializer)/launch/automatic_pose_initializer.launch.xml"/>
85-
</group>
86-
</group>
87-
</group>
88-
89-
<!-- Eagleye Launch (as pose estimator) -->
90-
<group if="$(eval &quot;'$(var pose_source)'=='eagleye' and '$(var twist_source)'!='eagleye'&quot;)">
91-
<group>
92-
<push-ros-namespace namespace="pose_estimator"/>
93-
<include file="$(find-pkg-share tier4_localization_launch)/launch/pose_twist_estimator/eagleye/eagleye_rt.launch.xml">
94-
<arg name="output_pose_with_cov_name" value="/localization/pose_estimator/pose_with_covariance"/>
95-
<arg name="use_eagleye_pose" value="true"/>
96-
<arg name="use_eagleye_twist" value="false"/>
97-
</include>
98-
</group>
99-
<group>
100-
<push-ros-namespace namespace="util"/>
101-
<include file="$(find-pkg-share pose_initializer)/launch/pose_initializer.launch.xml">
102-
<arg name="ndt_enabled" value="false"/>
103-
<arg name="gnss_enabled" value="true"/>
104-
<arg name="ekf_enabled" value="true"/>
105-
<arg name="yabloc_enabled" value="false"/>
106-
<arg name="stop_check_enabled" value="$(var stop_check_enabled)"/>
107-
<arg name="config_file" value="$(var pose_initializer_param_path)"/>
108-
<arg name="sub_gnss_pose_cov" value="/localization/pose_estimator/pose_with_covariance"/>
109-
</include>
110-
<group if="$(var gnss_enabled)">
111-
<include file="$(find-pkg-share automatic_pose_initializer)/launch/automatic_pose_initializer.launch.xml"/>
112-
</group>
113-
</group>
114-
</group>
47+
<!-- Eagleye Launch -->
48+
<group if="$(eval &quot;$(var use_eagleye_pose) or $(var use_eagleye_twist)&quot;)">
49+
<let name="eagleye_name_space" value="pose_twist_estimator"/>
50+
<let name="eagleye_name_space" value="twist_estimator" unless="$(var use_eagleye_pose)"/>
51+
<let name="eagleye_name_space" value="pose_estimator" unless="$(var use_eagleye_twist)"/>
52+
<let name="output_pose_with_cov_name" value="/localization/pose_estimator/pose_with_covariance" unless="$(var multi_localizer_mode)"/>
53+
<let name="output_pose_with_cov_name" value="/localization/pose_estimator/eagleye/pose_with_covariance/to_relay" if="$(var multi_localizer_mode)"/>
11554

116-
<!-- Eagleye Launch (as twist estimator) -->
117-
<group if="$(eval &quot;'$(var pose_source)'!='eagleye' and '$(var twist_source)'=='eagleye'&quot;)">
118-
<push-ros-namespace namespace="twist_estimator"/>
55+
<push-ros-namespace namespace="$(var eagleye_name_space)"/>
11956
<include file="$(find-pkg-share tier4_localization_launch)/launch/pose_twist_estimator/eagleye/eagleye_rt.launch.xml">
12057
<arg name="output_twist_with_cov_name" value="/localization/twist_estimator/twist_with_covariance"/>
121-
<arg name="use_eagleye_pose" value="false"/>
122-
<arg name="use_eagleye_twist" value="true"/>
58+
<arg name="output_pose_with_cov_name" value="$(var output_pose_with_cov_name)"/>
59+
<arg name="use_eagleye_pose" value="$(var use_eagleye_pose)"/>
60+
<arg name="use_eagleye_twist" value="$(var use_eagleye_twist)"/>
12361
</include>
12462
</group>
12563

12664
<!-- AR Tag Based Localizer (as pose estimator) -->
127-
<group if="$(eval &quot;'$(var pose_source)'=='artag'&quot;)">
128-
<group>
129-
<push-ros-namespace namespace="pose_estimator"/>
130-
<include file="$(find-pkg-share tier4_localization_launch)/launch/pose_twist_estimator/ar_tag_based_localizer.launch.xml"/>
65+
<group if="$(var use_artag_pose)">
66+
<push-ros-namespace namespace="pose_estimator"/>
67+
<let name="artag_input_image" value="/sensing/camera/traffic_light/image_raw" unless="$(var multi_localizer_mode)"/>
68+
<let name="artag_input_image" value="/sensing/camera/traffic_light/image_raw/artag_relay" if="$(var multi_localizer_mode)"/>
69+
70+
<include file="$(find-pkg-share tier4_localization_launch)/launch/pose_twist_estimator/ar_tag_based_localizer.launch.xml">
71+
<arg name="input_image" value="$(var artag_input_image)"/>
72+
</include>
73+
</group>
74+
75+
<!-- Pose Estimator Arbiter Launch -->
76+
<group if="$(var multi_localizer_mode)">
77+
<include file="$(find-pkg-share pose_estimator_arbiter)/launch/pose_estimator_arbiter.launch.xml">
78+
<arg name="pose_sources" value="$(var pose_sources)"/>
79+
<arg name="input_pointcloud" value="$(var input_pointcloud)"/>
80+
</include>
81+
</group>
82+
83+
<!-- Util Launch -->
84+
<group>
85+
<push-ros-namespace namespace="util"/>
86+
87+
<!-- pose_initializer -->
88+
<let name="sub_gnss_pose_cov" value="/sensing/gnss/pose_with_covariance"/>
89+
<group if="$(var use_eagleye_pose)" scoped="false">
90+
<let name="sub_gnss_pose_cov" value="/localization/pose_estimator/pose_with_covariance" unless="$(var multi_localizer_mode)"/>
13191
</group>
13292

133-
<group>
134-
<push-ros-namespace namespace="util"/>
135-
<include file="$(find-pkg-share pose_initializer)/launch/pose_initializer.launch.xml">
136-
<arg name="ndt_enabled" value="false"/>
137-
<arg name="gnss_enabled" value="false"/>
138-
<arg name="ekf_enabled" value="true"/>
139-
<arg name="yabloc_enabled" value="false"/>
140-
<arg name="stop_check_enabled" value="$(var stop_check_enabled)"/>
141-
<arg name="config_file" value="$(var pose_initializer_param_path)"/>
142-
<arg name="sub_gnss_pose_cov" value="/sensing/gnss/pose_with_covariance"/>
143-
</include>
144-
<group if="$(var gnss_enabled)">
145-
<include file="$(find-pkg-share automatic_pose_initializer)/launch/automatic_pose_initializer.launch.xml"/>
146-
</group>
147-
<include file="$(find-pkg-share tier4_localization_launch)/launch/util/util.launch.py">
148-
<arg name="lidar_container_name" value="$(var lidar_container_name)"/>
149-
</include>
93+
<include file="$(find-pkg-share pose_initializer)/launch/pose_initializer.launch.xml">
94+
<arg name="ndt_enabled" value="$(var use_ndt_pose)"/>
95+
<arg name="yabloc_enabled" value="$(var use_yabloc_pose)"/>
96+
<arg name="gnss_enabled" value="$(var gnss_enabled)"/>
97+
<arg name="ekf_enabled" value="true"/>
98+
<arg name="stop_check_enabled" value="$(var stop_check_enabled)"/>
99+
<arg name="config_file" value="$(var pose_initializer_param_path)"/>
100+
<arg name="sub_gnss_pose_cov" value="$(var sub_gnss_pose_cov)"/>
101+
</include>
102+
103+
<!-- automatic_pose_initializer -->
104+
<group if="$(var gnss_enabled)">
105+
<include file="$(find-pkg-share automatic_pose_initializer)/launch/automatic_pose_initializer.launch.xml"/>
150106
</group>
107+
108+
<!-- pointcloud_downsampling -->
109+
<let name="override_input_pointcloud" value="$(var input_pointcloud)"/>
110+
<let name="override_input_pointcloud" value="$(var input_pointcloud)/relay" if="$(var multi_localizer_mode)"/>
111+
<include file="$(find-pkg-share tier4_localization_launch)/launch/util/util.launch.py" if="$(var use_ndt_pose)">
112+
<arg name="lidar_container_name" value="$(var lidar_container_name)"/>
113+
<arg name="input_pointcloud" value="$(var override_input_pointcloud)"/>
114+
</include>
151115
</group>
152116

153117
<!-- LiDAR Marker Localizer (as pose estimator) -->

launch/tier4_localization_launch/launch/pose_twist_fusion_filter/pose_twist_fusion_filter.launch.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@
2727

2828
<group>
2929
<include file="$(find-pkg-share twist2accel)/launch/twist2accel.launch.xml">
30-
<arg name="use_odom" value="true"/>
3130
<arg name="in_odom" value="/localization/kinematic_state"/>
3231
<arg name="in_twist" value="/localization/twist_estimator/twist_with_covariance"/>
3332
<arg name="out_accel" value="/localization/acceleration"/>
33+
<arg name="param_file" value="$(var twist2accel_param_path)"/>
3434
</include>
3535
</group>
3636

launch/tier4_localization_launch/package.xml

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
<exec_depend>gyro_odometer</exec_depend>
2828
<exec_depend>ndt_scan_matcher</exec_depend>
2929
<exec_depend>pointcloud_preprocessor</exec_depend>
30+
<exec_depend>pose_estimator_arbiter</exec_depend>
3031
<exec_depend>pose_initializer</exec_depend>
3132
<exec_depend>pose_instability_detector</exec_depend>
3233
<exec_depend>topic_tools</exec_depend>

launch/tier4_map_launch/launch/map.launch.xml

+4-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
<!-- Parameter files -->
99
<arg name="pointcloud_map_loader_param_path"/>
1010
<arg name="lanelet2_map_loader_param_path"/>
11+
<arg name="map_tf_generator_param_path"/>
12+
<arg name="map_projection_loader_param_path"/>
1113

1214
<!-- whether use intra-process -->
1315
<arg name="use_intra_process" default="false"/>
@@ -47,8 +49,7 @@
4749
</composable_node>
4850

4951
<composable_node pkg="map_tf_generator" plugin="VectorMapTFGeneratorNode" name="vector_map_tf_generator">
50-
<param name="map_frame" value="map"/>
51-
<param name="viewer_frame" value="viewer"/>
52+
<param from="$(var map_tf_generator_param_path)"/>
5253
<extra_arg name="use_intra_process_comms" value="$(var use_intra_process)"/>
5354
</composable_node>
5455
</node_container>
@@ -59,6 +60,7 @@
5960
</node>
6061

6162
<include file="$(find-pkg-share map_projection_loader)/launch/map_projection_loader.launch.xml">
63+
<arg name="param_path" value="$(var map_projection_loader_param_path)"/>
6264
<arg name="map_projector_info_path" value="$(var map_projector_info_path)"/>
6365
<arg name="lanelet2_map_path" value="$(var lanelet2_map_path)"/>
6466
</include>

0 commit comments

Comments
 (0)