94 lines
2.4 KiB
Python
94 lines
2.4 KiB
Python
from launch import LaunchDescription
|
|
from launch_ros.actions import Node
|
|
import math
|
|
|
|
################### user configure parameters for ros2 start ###################
|
|
# Topics/Frames
|
|
frame_id = 'velodyne'
|
|
<<<<<<< Updated upstream
|
|
topic_preprocessing_in = 'filtered_points'
|
|
topic_preprocessing_out = 'new_filtered'
|
|
=======
|
|
topic_preprocessing_in = 'merged_cloud'
|
|
topic_preprocessing_out = 'filtered_points'
|
|
>>>>>>> Stashed changes
|
|
|
|
# Preprocessing
|
|
x_min = 0.0
|
|
x_max = 20.0
|
|
z_min = -0.5
|
|
z_max = 1.5
|
|
tan_h_fov = math.pi / 4 # ±45°
|
|
tan_v_fov = math.pi / 6 # ±30°
|
|
|
|
# Clustering
|
|
<<<<<<< Updated upstream
|
|
z_dim_scale = 0.1
|
|
cluster_tolerance = 0.3
|
|
min_cluster_size = 10
|
|
max_cluster_size = 1000
|
|
min_width = 0.0
|
|
min_height = 0.0
|
|
min_length = 0.0
|
|
max_width = 1.5
|
|
max_height = 2.5
|
|
max_length = 1.5
|
|
=======
|
|
z_dim_scale = 1.0
|
|
cluster_tolerance = 0.1
|
|
min_cluster_size = 350
|
|
max_cluster_size = 1500
|
|
>>>>>>> Stashed changes
|
|
|
|
################### user configure parameters for ros2 end #####################
|
|
|
|
cloud_preprocessing_params = [
|
|
{"topic_in": topic_preprocessing_in},
|
|
{"topic_out": topic_preprocessing_out},
|
|
{"x_min": x_min},
|
|
{"x_max": x_max},
|
|
{"z_min": z_min},
|
|
{"z_max": z_max},
|
|
{"tan_h_fov": tan_h_fov},
|
|
{"tan_v_fov": tan_v_fov}
|
|
]
|
|
|
|
cloud_clustering_params = [
|
|
{"topic_in": topic_preprocessing_out},
|
|
{"frame_id": frame_id},
|
|
{"z_dim_scale": z_dim_scale},
|
|
{"cluster_tolerance": cluster_tolerance},
|
|
{"min_cluster_size": min_cluster_size},
|
|
{"max_cluster_size": max_cluster_size},
|
|
{"min_width": min_width},
|
|
{"min_height": min_height},
|
|
{"min_length": min_length},
|
|
{"max_width": max_width},
|
|
{"max_height": max_height},
|
|
{"max_length": max_length}
|
|
]
|
|
|
|
def generate_launch_description():
|
|
return LaunchDescription([
|
|
Node(
|
|
package='target_tracking',
|
|
executable='cloud_preprocessing_node',
|
|
name='cloud_preprocessing',
|
|
parameters=cloud_preprocessing_params,
|
|
output={
|
|
'stdout': 'screen',
|
|
'stderr': 'screen',
|
|
}
|
|
),
|
|
Node(
|
|
package='target_tracking',
|
|
executable='cloud_clustering_node',
|
|
name='cloud_clustering',
|
|
parameters=cloud_clustering_params,
|
|
output={
|
|
'stdout': 'screen',
|
|
'stderr': 'screen',
|
|
}
|
|
)
|
|
])
|