diff --git a/CMakeLists.txt b/CMakeLists.txt index 139b01e..7b158c0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,7 +77,7 @@ install(TARGETS laserscan_multi_merger laserscan_virtualizer ) ## Mark other files for installation (e.g. launch and bag files, etc.) -install(DIRECTORY launch/ +install(DIRECTORY launch/ config/ DESTINATION share/${PROJECT_NAME}/launch ) diff --git a/config/ira_laserscan_merge.yaml b/config/ira_laserscan_merge.yaml new file mode 100644 index 0000000..3a80fb6 --- /dev/null +++ b/config/ira_laserscan_merge.yaml @@ -0,0 +1,13 @@ +laserscan_multi_merger: + ros__parameters: + destination_frame: "base_link" + cloud_destination_topic: "/merged_cloud" + scan_destination_topic: "/scan_multi" + laserscan_topics: "/scansx /scandx" + angle_min: 0.0 + angle_max: 270.0 + angle_increment: 0.00437 + scan_time: 0.0 + range_min: 0.1 + range_max: 2.0 + diff --git a/launch/merge_multi.launch.py b/launch/merge_multi.launch.py new file mode 100644 index 0000000..3e99e58 --- /dev/null +++ b/launch/merge_multi.launch.py @@ -0,0 +1,42 @@ +from launch import LaunchDescription +from launch_ros.actions import Node +from launch.substitutions import LaunchConfiguration +from launch.actions import DeclareLaunchArgument +import os +from ament_index_python.packages import get_package_share_directory + + +def generate_launch_description(): + declared_arguments = [] + declared_env_vars = [] + declared_parameters = [] + + params_file = LaunchConfiguration("params_file") + + declared_arguments.append( + DeclareLaunchArgument( + "params_file", + default_value=os.path.join( + get_package_share_directory("ira_laser_tools"), + "config", + "ira_laserscan_merge.yaml", + ), + description="Path to param config in yaml format", + ), + ) + + laser_merge = Node( + package="ira_laser_tools", + executable="laserscan_multi_merger", + name="laserscan_multi_merger", + parameters=[params_file], + output="both", + # respawn=True, + # respawn_delay=2, + ) + + nodes = [laser_merge] + + return LaunchDescription( + declared_parameters + declared_arguments + declared_env_vars + nodes + ) diff --git a/src/laserscan_multi_merger.cpp b/src/laserscan_multi_merger.cpp index d8fb5b4..3f05b81 100644 --- a/src/laserscan_multi_merger.cpp +++ b/src/laserscan_multi_merger.cpp @@ -63,7 +63,7 @@ class LaserscanMerger : public rclcpp::Node LaserscanMerger::LaserscanMerger() : Node("laserscan_multi_merger") { - this->declare_parameter("destination_frame", "cart_frame"); + this->declare_parameter("destination_frame", "base_link"); this->declare_parameter("cloud_destination_topic", "/merged_cloud"); this->declare_parameter("scan_destination_topic", "/scan_multi"); this->declare_parameter("laserscan_topics", "");