Skip to content

Commit

Permalink
Merge branch 'main' into refactor/map_projection_loader_params
Browse files Browse the repository at this point in the history
  • Loading branch information
HansRobo authored Feb 1, 2024
2 parents 8315a2c + e41946b commit 82e051f
Show file tree
Hide file tree
Showing 55 changed files with 760 additions and 454 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build-and-test-differential.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
build-and-test-differential:
needs: prevent-no-label-execution
if: ${{ needs.prevent-no-label-execution.outputs.run == 'true' }}
runs-on: [self-hosted, linux, X64]
runs-on: ubuntu-latest
container: ${{ matrix.container }}${{ matrix.container-suffix }}
strategy:
fail-fast: false
Expand Down Expand Up @@ -70,7 +70,7 @@ jobs:
flags: differential

clang-tidy-differential:
runs-on: [self-hosted, linux, X64]
runs-on: ubuntu-latest
container: ghcr.io/autowarefoundation/autoware-universe:humble-latest-cuda
needs: build-and-test-differential
steps:
Expand Down
16 changes: 0 additions & 16 deletions .github/workflows/spell-check-differential.yaml

This file was deleted.

1 change: 0 additions & 1 deletion common/object_recognition_utils/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
<description>The object_recognition_utils package</description>
<maintainer email="[email protected]">Takayuki Murooka</maintainer>
<maintainer email="[email protected]">Satoshi Tanaka</maintainer>
<maintainer email="[email protected]">Yusuke Muramatsu</maintainer>
<maintainer email="[email protected]">Shunsuke Miura</maintainer>
<maintainer email="[email protected]">Yoshi Ri</maintainer>
<license>Apache License 2.0</license>
Expand Down
1 change: 0 additions & 1 deletion common/perception_utils/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
<version>0.1.0</version>
<description>The perception_utils package</description>
<maintainer email="[email protected]">Satoshi Tanaka</maintainer>
<maintainer email="[email protected]">Yusuke Muramatsu</maintainer>
<maintainer email="[email protected]">Shunsuke Miura</maintainer>
<maintainer email="[email protected]">Yoshi Ri</maintainer>
<license>Apache License 2.0</license>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@

<!-- Radar parameters -->
<arg name="input/radar" default="/sensing/radar/detected_objects"/>
<arg name="radar_lanelet_filtering_range_param" default="$(find-pkg-share detected_object_validation)/config/object_lanelet_filter.param.yaml"/>
<arg name="radar_object_clustering_param_path" default="$(find-pkg-share radar_object_clustering)/config/radar_object_clustering.param.yaml"/>

<!-- Camera-Lidar-Radar fusion based detection -->
<group if="$(eval '&quot;$(var mode)&quot;==&quot;camera_lidar_radar_fusion&quot;')">
Expand Down Expand Up @@ -75,11 +73,10 @@
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/detector/radar_detector.launch.xml">
<arg name="input/radar" value="$(var input/radar)"/>
<arg name="output/objects" value="far_objects"/>
<arg name="filter/angle_threshold" value="1.0472"/>
<arg name="filter/velocity_threshold" value="3.0"/>
<arg name="split/velocity_threshold" value="4.5"/>
<arg name="radar_lanelet_filtering_range_param_path" value="$(var radar_lanelet_filtering_range_param_path)"/>
<arg name="radar_crossing_objects_noise_filter_param_path" value="$(var object_recognition_detection_radar_crossing_objects_noise_filter_param_path)"/>
<arg name="object_velocity_splitter_param_path" value="$(var object_recognition_detection_object_velocity_splitter_radar_fusion_param_path)"/>
<arg name="object_range_splitter_param_path" value="$(var object_recognition_detection_object_range_splitter_radar_fusion_param_path)"/>
<arg name="radar_lanelet_filtering_range_param" value="$(var radar_lanelet_filtering_range_param)"/>
<arg name="radar_object_clustering_param_path" value="$(var radar_object_clustering_param_path)"/>
</include>
</group>
Expand Down Expand Up @@ -177,8 +174,10 @@
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/detector/radar_detector.launch.xml">
<arg name="input/radar" value="$(var input/radar)"/>
<arg name="output/objects" value="far_objects"/>
<arg name="radar_lanelet_filtering_range_param_path" value="$(var radar_lanelet_filtering_range_param_path)"/>
<arg name="radar_crossing_objects_noise_filter_param_path" value="$(var object_recognition_detection_radar_crossing_objects_noise_filter_param_path)"/>
<arg name="object_velocity_splitter_param_path" value="$(var object_recognition_detection_object_velocity_splitter_radar_fusion_param_path)"/>
<arg name="object_range_splitter_param_path" value="$(var object_recognition_detection_object_range_splitter_radar_fusion_param_path)"/>
<arg name="radar_lanelet_filtering_range_param" value="$(var radar_lanelet_filtering_range_param)"/>
<arg name="radar_object_clustering_param_path" value="$(var radar_object_clustering_param_path)"/>
</include>
</group>
Expand Down Expand Up @@ -237,8 +236,10 @@
<include file="$(find-pkg-share tier4_perception_launch)/launch/object_recognition/detection/detector/radar_detector.launch.xml">
<arg name="input/radar" value="$(var input/radar)"/>
<arg name="output/objects" value="objects"/>
<arg name="radar_lanelet_filtering_range_param_path" value="$(var radar_lanelet_filtering_range_param_path)"/>
<arg name="radar_crossing_objects_noise_filter_param_path" value="$(var object_recognition_detection_radar_crossing_objects_noise_filter_param_path)"/>
<arg name="object_velocity_splitter_param_path" value="$(var object_recognition_detection_object_velocity_splitter_radar_param_path)"/>
<arg name="object_range_splitter_param_path" value="$(var object_recognition_detection_object_range_splitter_radar_param_path)"/>
<arg name="radar_lanelet_filtering_range_param" value="$(var radar_lanelet_filtering_range_param)"/>
<arg name="radar_object_clustering_param_path" value="$(var radar_object_clustering_param_path)"/>
</include>
</group>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@
<launch>
<arg name="input/radar" default="/sensing/radar/detected_objects"/>
<arg name="output/objects" default="far_objects"/>
<arg name="filter/angle_threshold" default="1.221"/>
<arg name="filter/velocity_threshold" default="1.5"/>
<arg name="split/velocity_threshold" default="5.5"/>
<arg name="radar_crossing_objects_noise_filter_param_path"/>
<arg name="object_velocity_splitter_param_path" default="$(var object_recognition_detection_object_velocity_splitter_radar_param_path)"/>
<arg name="object_range_splitter_param_path" default="$(var object_recognition_detection_object_range_splitter_radar_param_path)"/>
<arg name="radar_lanelet_filtering_range_param" default="$(find-pkg-share detected_object_validation)/config/object_lanelet_filter.param.yaml"/>
<arg name="radar_object_clustering_param_path" default="$(find-pkg-share radar_object_clustering)/config/radar_object_clustering.param.yaml"/>
Expand All @@ -14,15 +13,14 @@
<arg name="input/objects" value="$(var input/radar)"/>
<arg name="output/noise_objects" value="noise_objects"/>
<arg name="output/filtered_objects" value="noise_filtered_objects"/>
<arg name="angle_threshold" value="$(var filter/angle_threshold)"/>
<arg name="velocity_threshold" value="$(var filter/velocity_threshold)"/>
<arg name="param_path" value="$(var radar_crossing_objects_noise_filter_param_path)"/>
</include>

<include file="$(find-pkg-share object_velocity_splitter)/launch/object_velocity_splitter.launch.xml">
<arg name="input/objects" value="noise_filtered_objects"/>
<arg name="output/low_speed_objects" value="low_speed_objects"/>
<arg name="output/high_speed_objects" value="high_speed_objects"/>
<arg name="velocity_threshold" value="$(var split/velocity_threshold)"/>
<arg name="param_path" value="$(var object_velocity_splitter_param_path)"/>
</include>

<include file="$(find-pkg-share object_range_splitter)/launch/object_range_splitter.launch.xml">
Expand All @@ -35,12 +33,12 @@
<include file="$(find-pkg-share detected_object_validation)/launch/object_lanelet_filter.launch.xml">
<arg name="input/object" value="far_high_speed_objects"/>
<arg name="output/object" value="lanelet_filtered_objects"/>
<arg name="filtering_range_param" value="$(var radar_lanelet_filtering_range_param)"/>
<arg name="filtering_range_param_path" value="$(var radar_lanelet_filtering_range_param_path)"/>
</include>

<include file="$(find-pkg-share radar_object_clustering)/launch/radar_object_clustering.launch.xml">
<arg name="input/objects" value="lanelet_filtered_objects"/>
<arg name="output/objects" value="$(var output/objects)"/>
<arg name="radar_object_clustering_param_path" value="$(var radar_object_clustering_param_path)"/>
<arg name="param_path" value="$(var radar_object_clustering_param_path)"/>
</include>
</launch>
7 changes: 5 additions & 2 deletions launch/tier4_perception_launch/launch/perception.launch.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,11 @@
<arg name="object_recognition_detection_roi_pointcloud_fusion_param_path"/>
<arg name="object_recognition_detection_roi_detected_object_fusion_param_path"/>
<arg name="object_recognition_detection_lidar_model_param_path"/>
<arg name="object_recognition_detection_radar_lanelet_filtering_range_param"/>
<arg name="object_recognition_detection_radar_lanelet_filtering_range_param_path"/>
<arg name="object_recognition_detection_radar_crossing_objects_noise_filter_param_path"/>
<arg name="object_recognition_detection_radar_object_clustering_param_path"/>
<arg name="object_recognition_detection_object_velocity_splitter_radar_param_path"/>
<arg name="object_recognition_detection_object_velocity_splitter_radar_fusion_param_path"/>
<arg name="object_recognition_detection_object_range_splitter_radar_param_path"/>
<arg name="object_recognition_detection_object_range_splitter_radar_fusion_param_path"/>
<arg name="object_recognition_tracking_multi_object_tracker_data_association_matrix_param_path"/>
Expand Down Expand Up @@ -187,7 +190,7 @@
<arg name="euclidean_param_path" value="$(var object_recognition_detection_euclidean_cluster_param_path)"/>
<arg name="outlier_param_path" value="$(var object_recognition_detection_outlier_param_path)"/>
<arg name="voxel_grid_based_euclidean_param_path" value="$(var object_recognition_detection_voxel_grid_based_euclidean_cluster_param_path)"/>
<arg name="radar_lanelet_filtering_range_param" value="$(var object_recognition_detection_radar_lanelet_filtering_range_param)"/>
<arg name="radar_lanelet_filtering_range_param_path" value="$(var object_recognition_detection_radar_lanelet_filtering_range_param_path)"/>
<arg name="radar_object_clustering_param_path" value="$(var object_recognition_detection_radar_object_clustering_param_path)"/>
<arg name="detection_by_tracker_param_path" value="$(var object_recognition_detection_detection_by_tracker_param)"/>

Expand Down
158 changes: 85 additions & 73 deletions localization/ndt_scan_matcher/config/ndt_scan_matcher.param.yaml
Original file line number Diff line number Diff line change
@@ -1,102 +1,114 @@
/**:
ros__parameters:
# Vehicle reference frame
base_frame: "base_link"
frame:
# Vehicle reference frame
base_frame: "base_link"

# NDT reference frame
ndt_base_frame: "ndt_base_link"
# NDT reference frame
ndt_base_frame: "ndt_base_link"

# map frame
map_frame: "map"
# Map frame
map_frame: "map"

# Subscriber queue size
input_sensor_points_queue_size: 1

# The maximum difference between two consecutive
# transformations in order to consider convergence
trans_epsilon: 0.01
ndt:
# The maximum difference between two consecutive
# transformations in order to consider convergence
trans_epsilon: 0.01

# The newton line search maximum step length
step_size: 0.1
# The newton line search maximum step length
step_size: 0.1

# The ND voxel grid resolution
resolution: 2.0
# The ND voxel grid resolution
resolution: 2.0

# The number of iterations required to calculate alignment
max_iterations: 30
# The number of iterations required to calculate alignment
max_iterations: 30

# Converged param type
# 0=TRANSFORM_PROBABILITY, 1=NEAREST_VOXEL_TRANSFORMATION_LIKELIHOOD
converged_param_type: 1
# Number of threads used for parallel computing
num_threads: 4

# If converged_param_type is 0
# Threshold for deciding whether to trust the estimation result
converged_param_transform_probability: 3.0
regularization:
enable: false

# If converged_param_type is 1
# Threshold for deciding whether to trust the estimation result
converged_param_nearest_voxel_transformation_likelihood: 2.3
# Regularization scale factor
scale_factor: 0.01

# The number of particles to estimate initial pose
initial_estimate_particles_num: 200

# The number of initial random trials in the TPE (Tree-Structured Parzen Estimator).
# This value should be equal to or less than 'initial_estimate_particles_num' and more than 0.
# If it is equal to 'initial_estimate_particles_num', the search will be the same as a full random search.
n_startup_trials: 20
initial_pose_estimation:
# The number of particles to estimate initial pose
particles_num: 200

# Tolerance of timestamp difference between current time and sensor pointcloud. [sec]
lidar_topic_timeout_sec: 1.0
# The number of initial random trials in the TPE (Tree-Structured Parzen Estimator).
# This value should be equal to or less than 'initial_estimate_particles_num' and more than 0.
# If it is equal to 'initial_estimate_particles_num', the search will be the same as a full random search.
n_startup_trials: 20

# Tolerance of timestamp difference between initial_pose and sensor pointcloud. [sec]
initial_pose_timeout_sec: 1.0

# Tolerance of distance difference between two initial poses used for linear interpolation. [m]
initial_pose_distance_tolerance_m: 10.0
validation:
# Tolerance of timestamp difference between current time and sensor pointcloud. [sec]
lidar_topic_timeout_sec: 1.0

# The execution time which means probably NDT cannot matches scans properly. [ms]
critical_upper_bound_exe_time_ms: 100.0
# Tolerance of timestamp difference between initial_pose and sensor pointcloud. [sec]
initial_pose_timeout_sec: 1.0

# Number of threads used for parallel computing
num_threads: 4
# Tolerance of distance difference between two initial poses used for linear interpolation. [m]
initial_pose_distance_tolerance_m: 10.0

# The covariance of output pose
# Note that this covariance matrix is empirically derived
output_pose_covariance:
[
0.0225, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0225, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0225, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.000625, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.000625, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.000625,
]
# The execution time which means probably NDT cannot matches scans properly. [ms]
critical_upper_bound_exe_time_ms: 100.0

# 2D Real-time covariance estimation with multiple searches (output_pose_covariance is the minimum value)
use_covariance_estimation: false

# Offset arrangement in covariance estimation [m]
# initial_pose_offset_model_x & initial_pose_offset_model_y must have the same number of elements.
initial_pose_offset_model_x: [0.0, 0.0, 0.5, -0.5, 1.0, -1.0]
initial_pose_offset_model_y: [0.5, -0.5, 0.0, 0.0, 0.0, 0.0]
score_estimation:
# Converged param type
# 0=TRANSFORM_PROBABILITY, 1=NEAREST_VOXEL_TRANSFORMATION_LIKELIHOOD
converged_param_type: 1

# Regularization switch
regularization_enabled: false
# If converged_param_type is 0
# Threshold for deciding whether to trust the estimation result
converged_param_transform_probability: 3.0

# Regularization scale factor
regularization_scale_factor: 0.01
# If converged_param_type is 1
# Threshold for deciding whether to trust the estimation result
converged_param_nearest_voxel_transformation_likelihood: 2.3

# Dynamic map loading distance
dynamic_map_loading_update_distance: 20.0
# Scan matching score based on no ground LiDAR scan
no_ground_points:
enable: false

# Dynamic map loading loading radius
dynamic_map_loading_map_radius: 150.0
# If lidar_point.z - base_link.z <= this threshold , the point will be removed
z_margin_for_ground_removal: 0.8

# Radius of input LiDAR range (used for diagnostics of dynamic map loading)
lidar_radius: 100.0

# A flag for using scan matching score based on no ground LiDAR scan
estimate_scores_by_no_ground_points: false
covariance:
# The covariance of output pose
# Note that this covariance matrix is empirically derived
output_pose_covariance:
[
0.0225, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0225, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0225, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.000625, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.000625, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.000625,
]

# If lidar_point.z - base_link.z <= this threshold , the point will be removed
z_margin_for_ground_removal: 0.8
# 2D Real-time covariance estimation with multiple searches (output_pose_covariance is the minimum value)
covariance_estimation:
enable: false

# Offset arrangement in covariance estimation [m]
# initial_pose_offset_model_x & initial_pose_offset_model_y must have the same number of elements.
initial_pose_offset_model_x: [0.0, 0.0, 0.5, -0.5, 1.0, -1.0]
initial_pose_offset_model_y: [0.5, -0.5, 0.0, 0.0, 0.0, 0.0]


dynamic_map_loading:
# Dynamic map loading distance
update_distance: 20.0

# Dynamic map loading loading radius
map_radius: 150.0

# Radius of input LiDAR range (used for diagnostics of dynamic map loading)
lidar_radius: 100.0
Loading

0 comments on commit 82e051f

Please sign in to comment.