You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ROS2 Foxy是否可像ROS1一样在Launch文件加载两个YAML文件?

ROS2 Foxy中在Launch文件加载多个YAML文件的方法

当然可以在ROS2 Foxy的Launch文件中加载多个YAML文件,实现方式很直接:Node动作的parameters参数支持接收一个列表,你只需要将多个YAML文件的路径依次加入该列表即可。

示例代码如下:

import os
from launch import LaunchDescription
from launch_ros.actions import Node
from ament_index_python.packages import get_package_share_directory

def generate_launch_description():
    # 获取第一个配置文件路径
    file1_path = os.path.join(
        get_package_share_directory('pkg1'),
        'config',
        'file1.yaml'
    )
    # 获取第二个配置文件路径
    file2_path = os.path.join(
        get_package_share_directory('pkg1'),
        'config',
        'file2.yaml'
    )

    return LaunchDescription([
        Node(
            package="pkg1",
            executable="node1",
            name="node1",
            output="screen",
            parameters=[file1_path, file2_path]  # 传入多个YAML文件路径
        )
    ])

需要注意的是,如果两个YAML文件中存在同名参数,后面文件中的参数值会覆盖前面的,这一行为和ROS1中多次使用<rosparam>加载文件的逻辑一致。

内容的提问来源于stack exchange,提问作者zach

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 09:12:37