#!/usr/bin/env python3 """ serial_ntrip_nmea节点的启动文件 """ import os import yaml from ament_index_python.packages import get_package_share_directory from launch import LaunchDescription from launch_ros.actions import Node import launch.actions import launch.event_handlers def generate_launch_description(): # 获取包共享目录和配置文件路径 share_dir = get_package_share_directory('nmea_ros_bridge') config_file = os.path.join(share_dir, 'config', 'serial_ntrip_nmea_config.yaml') # 读取配置文件 with open(config_file, 'r') as f: params = yaml.safe_load(f)['serial_ntrip_nmea']['ros__parameters'] # serial_ntrip_nmea节点 serial_ntrip_nmea_node = Node( package='nmea_ros_bridge', executable='serial_ntrip_nmea', name='serial_ntrip_nmea', output='screen', parameters=[params] ) return LaunchDescription([ serial_ntrip_nmea_node, launch.actions.RegisterEventHandler( event_handler=launch.event_handlers.OnProcessExit( target_action=serial_ntrip_nmea_node, on_exit=[launch.actions.EmitEvent( event=launch.events.Shutdown())], )), ])