| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- #!/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())],
- )),
- ])
|