from launch import LaunchDescription from launch.actions import DeclareLaunchArgument from launch.substitutions import LaunchConfiguration from launch_ros.actions import Node from launch_ros.parameter_descriptions import ParameterValue def generate_launch_description() -> LaunchDescription: return LaunchDescription([ DeclareLaunchArgument('transport', default_value='udp'), DeclareLaunchArgument('server_addr', default_value=''), DeclareLaunchArgument('relay_via', default_value=''), DeclareLaunchArgument('peer_id', default_value='ros-bridge-ctrl'), DeclareLaunchArgument('expected_sender', default_value=''), DeclareLaunchArgument('output_topic', default_value='/hric/robot/cmd_vel'), DeclareLaunchArgument('frame_id', default_value='pelvis'), DeclareLaunchArgument('watchdog_timeout', default_value='0.5'), DeclareLaunchArgument('publish_rate_hz', default_value='100.0'), Node( package='udp_teleop_bridge', executable='udp_cmd_vel_receiver', name='udp_cmd_vel_receiver', output='screen', parameters=[{ 'transport': LaunchConfiguration('transport'), 'server_addr': LaunchConfiguration('server_addr'), 'relay_via': LaunchConfiguration('relay_via'), 'peer_id': LaunchConfiguration('peer_id'), 'expected_sender': LaunchConfiguration('expected_sender'), 'output_topic': LaunchConfiguration('output_topic'), 'frame_id': LaunchConfiguration('frame_id'), 'watchdog_timeout': ParameterValue(LaunchConfiguration('watchdog_timeout'), value_type=float), 'publish_rate_hz': ParameterValue(LaunchConfiguration('publish_rate_hz'), value_type=float), }], ), ])